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

开始使用

  • 有关Elasticsearch详细使用指导请参考Elasticsearch产品文档
  • 该解决方案默认使用的Elasticsearch版本:7.9.3,Java版本:JDK-11,Kibana 版本:7.9.3
  • 涉及到Elasticsearch的业务端口如下:
    • 5601:Kibana节点的业务端口
    • 9200:Elasticsearch节点的业务端口
  • 后续文档将展开Elasticsearch的基础使用说明
  • 该解决方案使用22端口用来远程登录弹性云服务器 ECS,默认对该方案创建的VPC子网网段放开,请参考修改安全组规则,配置IP地址白名单,以便能正常访问服务。
  • 该解决方案使用5601端口用来访问Kibana,默认对该方案创建的VPC子网网段放开,请参考修改安全组规则,配置IP地址白名单,以便能正常访问Kibana服务。

安全组规则修改(可选)

安全组实际是网络流量访问策略,包括网络流量入方向规则和出方向规则,通过这些规则为安全组内具有相同保护需求并且相互信任的云服务器、云容器、云数据库等实例提供安全保护。

如果您的实例关联的安全组策略无法满足使用需求,比如需要添加、修改、删除某个TCP端口,请参考以下内容进行修改。

  • 添加安全组规则:根据业务使用需求需要开放某个TCP端口,请参考添加安全组规则添加入方向规则,打开指定的TCP端口。
  • 修改安全组规则:安全组规则设置不当会造成严重的安全隐患。您可以参考修改安全组规则,来修改安全组中不合理的规则,保证云服务器等实例的网络安全。
  • 删除安全组规则:当安全组规则入方向、出方向源地址/目的地址有变化时,或者不需要开放某个端口时,您可以参考删除安全组规则进行安全组规则删除。

释放弹性公网

  1. 登录弹性云服务器控制台,选择以master为后缀的云服务器,单击绑定的弹性公网IP进入弹性公网IP EIP控制台,单击“解绑”。

    图1 查看EIP
    图2 解绑EIP

  2. 单击弹性云服务弹性公网IP右侧“更多>释放>是”,释放弹性公网IP。

    图3 释放弹性公网IP

Kibana基础使用

  1. 单击该方案堆栈详情页面的“输出”,即可查看Kibana服务的IP地址,在浏览器访问输入:“http://IP地址:5601“,即可访问Kibana数据分析可视化平台。

    图4 输出回显命令

  2. 在Kibana登录页面输入用户名和密码。单击”登录”,即可登录。用户名为elastic,密码为参数ecs_password的值。

    图5 登录Kibana

  3. 单击左上角的标志,选择“堆栈监测“,即可查看Elasticsearch和Kibana的相关信息,运行状况为green,表示集群状态健康。

    图6 选择堆栈监测
    图7 查看Elasticsearch和Kibana状态

  4. 在“堆栈监测”页面,单击“节点“,可查看各个节点的详细信息。

    图8 查看各个节点的详细信息

  5. 单击左上角的标志,选择“开发工具“,用户在Kibana中直接执行Elasticsearch API请求,并且可以查看API响应结果。

    图9 开发工具

访问Elasticsearch

该解决方案默认Elasticsearch服务器部署在新建VPC下,VPC 网段为:172.16.0.0/16。使用该方案前,必须保证业务系统和Elasticsearch服务的网络互通。具体配置可参考•vpc对等连接实现不同VPC下的不同网段的网络互访,更多详情可参考VPC对等连接官网

  • vpc对等连接
  1. 登录虚拟私有云 VPC控制台,选择“对等连接”。

    图10 对等连接

  2. 单击“创建对等连接”,填写"对等连接名称"、“本端VPC”和“对端VPC”,单击“确定”后弹出提示框,单击“立即添加”。

    图11 创建对等连接
    图12 立即添加

  3. 单击“添加路由”,添加两端VPC路由,单击“确定“,即可对等成功。

    图13 添加路由

  • 验证Elasticsearch
  1. 配置•vpc对等连接,保证不同VPC 网络互通。单击该方案堆栈详情页面的“输出”,即可查看Elasticsearch服务的所有IP地址,在浏览器访问输入:

    查看集群的健康状态:http://任意IP地址:9200/_cat/health?v

    查看集群节点信息:http://任意IP地址:9200/_cat/nodes?pretty
    图14 输出回显命令

  2. 在弹出的登录框输入用户名和密码,单击“登录”,可查看Elasticsearch的相关信息。用户名为elastic,密码为参数ecs_password的值。

    图15 登录Elasticsearch
    图16 查看集群的健康状态
    图17 查看集群节点信息

Elasticsearch for Python之连接

在Python对接Elasticsearch时,您可以参考如下示例代码加嗅探器(Sniffer),作用是自动发现ES集群中的所有节点,并在需要时自动切换到可用的节点,还可以帮助Python应用程序实现负载均衡和故障转移。例如,如果某个节点负载过高或出现故障,嗅探器可以自动将请求路由到其他可用节点,从而避免单点故障和性能问题,从而提高系统的可靠性和稳定性。

  1. 确保拥有Python环境,安装elasticsearch包。pip install elasticsearch
  2. Python连接Elasticserach加嗅探器,代码示例如下:

    es = Elasticsearch(['http://172.16.1.157:9200','http://172.16.1.150:9200','http://172.16.1.130:9200'],http_auth=('elastic', '密码'), timeout=20,
        sniff_on_start=True,    # 连接前测试
        sniff_on_connection_fail=True,  # 节点无响应时刷新节点
        sniff_timeout=60    # 设置超时时间
                       )
    print(es.ping())

相关文档