通过Curl命令行接入Elasticsearch集群
开源Elasticsearch提供了一系列RESTful风格的API,通过Curl命令可以在Kibana、Postman等工具中使用这些API。本文介绍如何通过Curl命令接入Elasticsearch和OpenSearch集群。
前提条件
接入集群
- 获取集群的内网访问地址。访问集群时,需要输入内网访问地址。
本文以内网IP地址方式访问集群为例,当使用其他网络配置访问集群时,仅访问地址有差异,不同访问地址的获取方式请参见网络配置。
- 在云搜索服务管理控制台,单击左侧导航栏的“集群管理”。
- 在集群管理列表页面,选择需要访问的集群,在“内网访问地址”列获取并记录集群的内网IP地址<host>,一般是“<host>:<port>”或“<host>:<port>,<host>:<port>”样式。
当集群只有一个节点时,此处仅显示1个节点的IP地址和端口号,例如“10.62.179.32:9200”;当集群有多个节点时,此处显示所有节点的IP地址和端口号,例如“10.62.179.32:9200,10.62.179.33:9200”。
- 在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 -u 'user':'password!' "http://<host>:<port>"”。
访问示例如下:
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官方文档。
- 非安全模式的集群