更新时间:2025-08-22 GMT+08:00
分享

通过Curl命令行接入OpenSearch集群

开源OpenSearch提供了一系列RESTful风格的API,通过Curl命令可以在OpenSearch Dashboards、Postman等工具中使用这些API。本文介绍如何通过Curl命令接入OpenSearch集群。

前提条件

  • CSS服务的OpenSearch集群处于可用状态。
  • 已创建一个ECS服务,且和CSS服务的集群在同一个虚拟私有云和安全组中。
    • 如果ECS和CSS服务的集群不在同一安全组中,请修改ECS安全组或者配置ECS安全组的出入规则,允许集群所有安全组的访问。修改操作请参见配置安全组规则
    • ECS的使用请参见自定义购买ECS

接入集群

  1. 获取集群的内网访问地址。访问集群时,需要输入内网访问地址。

    本文以内网IP地址方式访问集群为例,当使用其他网络配置访问集群时,仅访问地址有差异,不同访问地址的获取方式请参见网络配置

    1. 登录云搜索服务管理控制台
    2. 在左侧导航栏,选择“集群管理 > OpenSearch”
    3. 在集群列表,选择目标集群,在“内网访问地址”列获取并记录集群的内网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”

  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 -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" : "css-xxx-ess-esn-3-1",
      "cluster_name" : "css-xxx",
      "cluster_uuid" : "xxx_uuid",
      "version" : {
        "number" : "7.10.2",
        "build_type" : "tar",
        "build_hash" : "unknown",
        "build_date" : "unknown",
        "build_snapshot" : true,
        "lucene_version" : "9.12.1",
        "minimum_wire_compatibility_version" : "7.10.0",
        "minimum_index_compatibility_version" : "7.0.0"
      },
      "tagline" : "The OpenSearch Project: https://opensearch.org/"
    }

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

相关文档