
# 通过Curl命令行访问集群
在使用OpenSearch进行数据搜索和分析时，用户经常需要从客户端（如ECS）接入OpenSearch集群，本文介绍如何通过Curl命令接入OpenSearch集群。
#### 前提条件
- CSS服务的OpenSearch集群处于可用状态。
- 已创建一个ECS服务，且和CSS服务的集群在同一个虚拟私有云和安全组中。
  - 如果ECS和CSS服务的集群不在同一安全组中，请修改ECS安全组或者配置ECS安全组的出入规则，允许集群所有安全组的访问。修改操作请参见[配置安全组规则](https://support.huaweicloud.com/usermanual-ecs/zh-cn_topic_0030878383.html)。
  
  - ECS的使用请参见[自定义购买ECS](https://support.huaweicloud.com/usermanual-ecs/ecs_03_7002.html)。
   
 
#### 接入集群
1. 获取集群的内网访问地址。访问集群时，需要输入内网访问地址。 本文以内网IP地址方式访问集群为例，当使用其他网络配置访问集群时，仅访问地址有差异，不同访问地址的获取方式请参见[获取集群访问地址](https://support.huaweicloud.com/usermanual-css/css_01_0190.html#ZH-CN_TOPIC_0000001975823337__section855085010198)。
   1. 登录[云搜索服务管理控制台](https://console.huaweicloud.com/elasticsearch/)。
   
   2. 在左侧导航栏，选择"集群管理 \> OpenSearch"。
   
   3. 在集群列表，选择目标集群，在"内网访问地址"列获取并记录集群的内网地址，一般是"\<host\>:\<port\>"或"\<host\>:\<port\>,\<host\>:\<port\>"样式，例如"10.62.179.32:9200,10.62.179.33:9200"。 当集群中存在Client节点时，仅显示所有Client节点的IP和端口；否则，显示所有数据节点和冷数据节点的IP和端口。
      
    
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官方文档](https://docs.opensearch.org/latest/)。
   
 
