elasticsearch节点迁移 原

时间:2022-06-19
本文章向大家介绍elasticsearch节点迁移 原,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

环境

系统: centos7

工具: ansible

情景:将host1节点上的es迁移至host4,缓解A机器资源压力。

准备

  • 停止logstash服务,部署位置:host1
  • 停止elasticsearch服务,asible-playbook elasticsearch -v "action=stop"
  • es使用ansible部署,更改部署脚本 elasticsearch.yml --- - hosts: host1 host2 host3 host4 gather_facts: False roles: - role: elasticsearch memory: 10g es_cluster_name: 'cy_es_cluster' es_cluster_servers: ['host1', 'host2', 'host3', 'host4']
  • 如上,先增加要部署的新节点机器 db10

部署

新节点部署es服务:

$ ansible-playbook elasticsearch -l host4

部署完成后手动启动服务,调试:

  • db10配置有防火墙,需要为es集群机器开放9200、9300、18019端口,编辑 host_vars/db10.yml : - '# elasticsearch' - '-A INPUT -s ip/24 -m state --state NEW -m tcp -p tcp --dport 9200 -j ACCEPT' - '-A INPUT -s ip/24 -m state --state NEW -m tcp -p tcp --dport 9300 -j ACCEPT' - '-A INPUT -s ip/24 -m state --state NEW -m tcp -p tcp --dport 18019 -j ACCEPT'
  • 启动集群中其他机器es服务:asible-playbook elasticsearch -v "action=start"
  • 等待es集群恢复健康状态,查看es状态信息(等待时间比较长): # 查看节点信息 $ curl 'host4:9200/_cat/nodes' # 查看集群健康状况 $ curl 'host4:9200/_cat/health' # 查看集群状态 $ curl 'host4:9200/_cluster_health?pretty'
  • 待es集群健康状态恢复之 “green” 后进行节点的切换,去除旧节点host1。
  • 集群会自动恢复至green健康状态。
  • 注意: 本次迁移单节点没有迁移索引,如果集群整体迁移需要进行索引迁移,参考

附属迁移

待es恢复至green状态后需要配置logstash、kibana以及grafna(kibana和grafna之前都是从md6采集数据)。

  • ansible中更改logstash.yml中es对应的hosts如下: - hosts: host1 gather_facts: False tags: ['elasticsearch'] vars: config: kafka: bootstrap_servers: md3:9092,md6:9092,md11:9092 group_id: elasticsearch elasticsearch: hosts: ["host1_ip:9200", "host2_ip:9200", "host3_ip:9200"]
    • 重置logstash配置 ansible-playbook logstash.yml
    • 启动logstash,systemctl start logstash
  • 更改kibana配置/etc/kibana/kibana.yml: elasticsearch.url: "http://ip:9200" # ip对应es集群中的一台机器
  • 更改grafna数据源,将所有来自es的数据源ip更换为es机器中一台机器的ip。

检查kibana和grafna无异常,即完成迁移。

(adsbygoogle = window.adsbygoogle || []).push({});