更新时间:2023-06-20 GMT+08:00

通过Curl命令行接入集群

当CSS集群和弹性云服务器ECS在同一VPC内时,在此ECS中可以通过Curl命令直接访问Elasticsearch 集群,此方法多用于前期调试Elasticsearch的连接性,排查访问集群的客户端是否和Elasticserach节点的网络连通。

准备工作

  • CSS集群处于可用状态。
  • 已经具备满足如下要求的ECS:
    • ECS的VPC需要与CSS集群在同一个VPC中,即保证网络连通。
    • ECS的安全组需要和CSS集群的安全组相同。

      如果不同,请修改ECS安全组或者配置ECS安全组的出入规则,允许集群所有安全组的访问。修改操作请参见《虚拟私有云用户指南》。

    ECS的使用请参见《弹性云服务器用户指南》。

操作步骤

  1. 获取集群的内网访问地址。访问集群时,需要输入内网访问地址。
    1. 在云搜索服务管理控制台,单击左侧导航栏的“集群管理”
    2. 在集群管理列表页面,选择需要访问的集群,获取并记录“内网访问地址”,一般是“<host>:<port>”或“<host>:<port>,<host>:<port>”样式。

      如果集群只有一个节点,此处仅显示1个节点的IP地址和端口号,例如“10.62.179.32:9200”;如果集群有多个节点,此处显示所有节点的IP地址和端口号,例如“10.62.179.32:9200,10.62.179.33:9200”

  2. 在ECS中执行如下命令,访问集群。集群的安全模式不同,访问命令也不同。
    • 非安全模式的集群
      curl "http://<host>:<port>"
    • 安全模式+HTTP协议的集群
      curl -u <user>:<password> "http://<host>:<port>"
    • 安全模式+HTTPS协议的集群
      curl -u <user>:<password> -k "https://<host>:<port>"
    表1 变量说明

    变量名

    说明

    <host>

    集群中各节点的IP地址,当集群包含多个节点时,会存在多个IP地址,可以任选其中一个发送。

    <port>

    集群节点的访问端口号,一般为9200。

    <user>

    访问集群的用户名。

    <password>

    用户名对应的密码。

    访问示例如下:

    curl "http://10.62.176.32:9200"

    返回结果如下:

    HTTP/1.1 200 OK
    content-type: application/json; charset=UTF-8
    content-length: 513
    
    {
    	"name" : "xxx-1",
    	"cluster_name" : "xxx",
    	"cluster_uuid" : "xxx_uuid",
    	"version" : {
    		"number" : "7.10.2",
    		"build_flavor" : "oss",
    		"build_type" : "tar",
    		"build_hash" : "unknown",
    		"build_date" : "unknown",
    		"build_snapshot" : true,
    		"lucene_version" : "8.7.0",
    		"minimum_wire_compatibility_version" : "6.7.0",
    		"minimum_index_compatibility_version" : "6.0.0-beta1"
    	},
    	"tagline" : "You Know, for Search"
    }

    更多命令,请参见Elasticsearch官方文档