ES 7.6.2集群迁移(从一套ES集群迁移数据到另一套集群)
Posted 雅冰石
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ES 7.6.2集群迁移(从一套ES集群迁移数据到另一套集群)相关的知识,希望对你有一定的参考价值。
有时有需要从ES集群中去除多个节点的需求,比如迁移一套ES集群到另外一套ES集群,这时可以先将新的ES节点加入到现有集群里,再将老ES节点下线。
一 实验环境
二 实验步骤
2.1 集群扩容-添加新节点
可参考ES集群扩容-新增一个节点_雅冰石的专栏-CSDN博客
该文章以新增一个节点node-4为例,请参考该文章为ES集群新增三个节点,令外两个节点名称分别是node-5及node-6.
2.2 集群缩容-去除老节点
删除符合主节点条件的节点时,不要同时删除太多的节点,这一点很重要。例如,如果当前有七个符合主节点条件的节点,并且您希望将其减少到三个,则不可能一次停止四个节点:这样做将只剩下三个节点,这不到投票配置的一半,这意味着集群无法采取任何进一步的操作。
要删除其中一个节点,必须首先通知Elasticsearch该节点不应属于投票配置的一部分。然后,您可以使被排除的节点脱机,不会影响集群的可用性。
只有在短时间内从集群中移除至少一半符合主资格的节点时,才需要投票排除。删除不符合主节点条件的节点时不需要它们,删除不到一半符合主节点条件的节点时也不需要它们。
只要集群中至少有三个主合格节点,作为一般规则,最好一次删除一个节点,让集群有足够的时间自动调整投票配置,并使容错级别适应新的节点集。
2.2.1 移出第一个节点
2.2.1.1 从投票选举中排除要下线的节点
#这里排除掉node-1为例
curl -u elastic -X POST "192.168.144.246:10412/_cluster/voting_config_exclusions/node-1"
192.168.144.246:10412这里写集群中任意节点的IP和端口即可。
/*
我看官网上写的语法是POST /_cluster/voting_config_exclusions?node_names=node_name,可是我试了不行,也许是版本不同的原因吧。
*/
#验证是否排除成功
curl -X GET "192.168.144.246:10412/_cluster/state?filter_path=metadata.cluster_coordination.voting_config_exclusions&pretty" -u elastic
Enter host password for user 'elastic':
{
"metadata" : {
"cluster_coordination" : {
"voting_config_exclusions" : [
{
"node_id" : "nSXSmSBAS8qYRt3au_G1lg",
"node_name" : "node-1"
}
]
}
}
}
若能在输出中看到要排除的node,说明排除成功
2.2.1.2 停止要下线的节点
systemctl stop elasticsearch
#取消开机自启动
systemctl disable elasticsearch
2.2.1.3 检查集群状态
下线一个节点,会触发分片重新分配,这期间集群的状态是yellow,需要等待一下,确定集群状态是green。
curl -u elastic http://192.168.144.246:10412/_cluster/health/
[root@Centos7-Mode-V8 ~]# curl -u elastic http://192.168.144.246:10412/_cluster/health/
Enter host password for user 'elastic':
{"cluster_name":"vcom","status":"green","timed_out":false,"number_of_nodes":5,"number_of_data_nodes":3,"active_primary_shards":5,"active_shards":10,"relocating_shards":0,"initializing_shards":0,"unassigned_shards":0,"delayed_unassigned_shards":0,"number_of_pending_tasks":0,"number_of_in_flight_fetch":0,"task_max_waiting_in_queue_millis":0,"active_shards_percent_as_number":100.0}[root@Centos7-Mode-V8 ~]#
可以看到集群状态变为green,且节点数量变少了。
2.2.2 移出第二个节点
可参考2.2.1‘移出第一个节点’步骤,需要将将node1-改为node2。
2.2.2 移出第三个节点
可参考2.2.1‘移出第一个节点’步骤,需要将将node1-改为node3。
2.2.4 在维护完成后应清除排除项
curl -X DELETE "192.168.144.246:10412/_cluster/voting_config_exclusions?pretty" -u elastic
2.2.5 卸载下线的ES
为了防止ES节点启动后,自动加入到ES集群(如果配置了iscovery.zen.ping.unicast.hosts,会自动发现集群),需要把该ES节点卸载。
2.3 检查业务
测试业务,确保仍能正常运行
--本篇文章参考了
https://www.elastic.co/guide/en/elasticsearch/reference/7.16/add-elasticsearch-nodes.html
以上是关于ES 7.6.2集群迁移(从一套ES集群迁移数据到另一套集群)的主要内容,如果未能解决你的问题,请参考以下文章