专栏首页南非骆驼的专栏腾讯云 Elasticsearch 运维篇(十二)API访问ES集群
原创

腾讯云 Elasticsearch 运维篇(十二)API访问ES集群

前言

上一章节,我们通过腾讯云控制台快速搭建了一个ES集群,通过Kibana我们在公网能进行安全的访问。同时,我们在Kibana里边针对不同的索引需求新建了不同的账户进行登录测试。往往实际情况是我们在腾讯云上有多台主机,多个集群,我们需要通过内网去访问和操作ES集群,所以,今天来讲讲这个问题。

实际案例:比如我是一个IT公司的信息管理人员,我需要买200云上服务器。那么我就会首先找到腾讯云官网,通过自己的账号登录。根据自己的需求选型,最终下单购买。那么服务器购买的过程中,你肯定要考虑这个IP规划的问题。你既要考虑现在的需求、又要考虑后期的扩展与安全设置。请看下图:

云服务网络架构

总结: 从上面这个图里我们应该明白一个VPC标识一个专属私有网络,一个私有网络可以划分为多个子网,每个子网间的服务是连通的。VPC之间需要通过NAT或者专门的V**网管才能实现跨VPC访问。

解决了网络问题,我们继续说API访问ES集群。腾讯云 ES 构建在用户 VPC 内,用户可以通过位于同一 VPC 下的 CVM 作为客户端,访问 ES 集群。要连接ES集群,首先要知道ES集群的内网IP。

一、查看ES集群的内网地址

在控制台-集群列表页,单击【集群 ID】进入详情页,在基础配置中可查看内网地址。我这里IP是:10.1.0.7:9200

查看ES集群内部IP

二、构建CVM(云主机)

在自己构建的VPC里找一台云主机,如果没有,就新购一台云主机(CVM)。这里的IP为:10.1.0.14,与ES内网IP同网段

云主机IP

三、连接ES集群IP

因为我们是用云主机来测试ES集群的连通性,所以,我们就要用到Curl命令,那么我们使用Curl命令来操作测试ES集群。注意:可以通过 curl 的方式测试访问集群,但不支持通过 ping 的方式测试连通性。

第一步:测试服务是否可以访问:命令如下:curl -XGET http://10.1.0.7:9200 图示:

错误提示

提示需要安全认证,因为我们的版本为6.8.2白金版,其访问集群的时候需要用户认证。所以,使用如下命令来登录:

执行 curl -XGET -u elastic http://10.1.0.7:9200 命令,然后按要求提示输入密码即可。如下图:

Curl密码登录

返回结果:ES集群访问成功

Curl返回结果

当然,Curl口令默认参数就是-XGET,所以不用带,而且,"-u"参数也可以放到最后,所以,上面的命令也可以这样:

Curl命令认证使用

返回的结果跟上面一致:如下

curl 返回结果

四、基于CVM下来操作ES集群

第一:查看集群状态API选项 curl http://10.1.0.7:9200/_cat -u elastic

_cat API

第二:查看节点信息

使用命令: curl http://10.1.0.7:9200/_cat/nodes?v -u elastic ”-v“是现实详细信息

现实集群详细信息

第三. 查看master节点信息

curl http://10.1.0.7:9200/_cat/master?v -u elastic master一般用”*“作标识。

Master信息

第四、查看集群的健康状态

curl http://10.1.0.7:9200/_cat/health?v -u elastic

集群状态

可以看到我们的集群叫做"es-*",并且状态是绿色。无论何时我们去请求集群的健康状态我们会得到三种:green, yellow, red

  • green 意味着所有功能都是完好的
  • yellow 意味着所有数据是可用的,但是一些副本还没有被分配
  • red 代表一些数据由于某些原因已经不可用。注意,尽管一个集群是red状态,它仍然可以提供部分服务(比如,它会继续从可用的切片数据里搜索),但是在你失去部分数据后,你需要尽你最快的速度去修复它。

集群状态说明:

集群状态是反映集群是否在变更中或正常使用的状态,包括:正常、处理等,具体含义如下:

集群状态的含义

其中健康状态是 ES 集群众多监控信息中非常重要的一个,用来表征集群总体上是否工作正常。健康状态种类如下:

集群健康状态

第五:创建索引

curl -XPUT 比如:创建一个"test_hezhen"的索引 使用命令:curl -XPUT http://10.1.0.7:9200/test_hezhen?pretty -u elastic

CURL创建一个索引

第六:查看索引

curl 'http://10.1.0.7:9200/_cat/indices?v' -u elastic

查看索引

查看某一个索引使用如下命令:

curl -XGET 'http://10.1.0.7:9200/test_one/doc/_search?pretty' -H 'Content-Type: application/json' -u elastic

索引查询

第七:删除索引

删除索引

第八:创建文档

有两种方法:

1. 使用PUT来创建文档,需要指定id

curl -XPUT "http://10.1.0.7:9200/test_one/doc/1?pretty" -H "Content-Type: application/json" -d '{"name": "john", "age": 30}' -u elastic

创建文档

2. 使用POST来创建文档,可以不指定id(不指定时随机生成id)

curl -XPOST "http://10.1.0.7:9200/test_one/doc?pretty" -H "Content-Type: application/json" -d '{"name": "david", "age": 20}' -u elastic

创建文档

第九、 查看文档

curl http://10.1.0.7:9200/test_one/doc/1?pretty -u elastic 如下图

查看文档

或者curl http://10.1.0.7:9200/test_one/doc/_search?pretty -u elastic 如下图:

_search API

第十、替换或者更新文档

使用PUT并指定id时,es会使用新的文档替换原文档,如下:

curl -XPUT "http://10.1.0.7:9200/test_one/doc/1?pretty" -H "Content-Type: application/json" -d '{"name": "AAA", "age": 38}' -u elastic

替换或者更新文档

已经替换,再查看确认一下 curl "http://10.1.0.7:9200/test_one/doc/1?pretty" -u elastic

更新文档

文档替换成功。

第十一、删除文档

curl -XDELETE "http://10.1.0.7:9200/test_one/doc/1?pretty" -u elastic 如下图

删除文档

总结:

本节模拟CVM内网环境下如何通过去管理ES6.8白金版集群,并实现了对集群文档的CRUD,以及搜索等内容。CURL指令非常有效率的执行维护工作。有几点要注意:

1,elastic用户是系统默认的授权用户。

2,在通过公网登录Kibana去访问ES,有一定时间限制。如超过一定时间需要重新登录Kibana,否则会报认证错误。

3,执行curl 认证的登录ES的时候不需要把密码直接输入在控制台上。需要密文输入。否则报错。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 腾讯云 Elasticsearch 运维篇(十三)数据迁移

    前面我们通过通过腾讯云控制台快速构建了一个ES集群,并能通过云控制台管理界面或者CVM操作管理ES集群。我们知道ES是一个存储搜索分析引擎,那么如何...

    南非骆驼漫谈ELK Stack
  • Elasticsearch 跨集群搜索配置 CCS

    ES天生就是一个分布式架构,同时也支持横向水平扩展。但是,集群节点不可能无限增加。因为,当集群meta信息(节点,索引,集群状态)过多,会导致集群更新压力变大,...

    南非骆驼漫谈ELK Stack
  • 腾讯云 Elasticsearch 运维篇(十一)快速构建ES集群

    前面的10章节中,我们快速的对ELK各系列的知识点并进行了总结回顾。在目前当前企业数据海量式增长的背景下,越来越多的企业选择云服务商提供的云服务...

    南非骆驼漫谈ELK Stack
  • 【俄罗斯天网】机器人学会集群作战

    据俄罗斯“卫星”新闻网10月19日消息,俄国家技术集团旗下的俄联合仪表制造集团副总经理谢尔盖•斯科科夫表示,控制机器人集群的智能软件包Unicum的测试已经完成...

    新智元
  • 朴素贝叶斯实战篇之新浪新闻分类

    Python版本: Python3.x 作者:崔家华 运行平台: Windows 编辑:黄俊嘉...

    机器学习算法工程师
  • python django - stat

    static文件相关操作涉及: a. 文件位置与访问路径映射 b. setting.py与static相关配置

    py3study
  • 超融合方案分析系列(8)SmartX超融合方案分析

    引 言 作者是国内研究超融合相当早的专家,有非常强的理论基础和实战经验。上几篇分析文章,对nutanix/VSAN/深信服/H3C/EMC等厂家的深入分析,引起...

    大数据和云计算技术
  • 经典面试题-ext的常用panel

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    cwl_java
  • Python | 21行轻松搞定拼写检查器

    链接:http://blog.csdn.net/Pwiling/article/details/50573650

    用户1634449
  • BGP高防IP专业版产品介绍

    资源整合,为单用户提供1.7T超大防护能力(未来可至3T以上、拥有业界最大BGP防护带宽资源)

    云加社区

扫码关注云+社区

领取腾讯云代金券