ES集群重启节点的正确方法

ES集群重启节点的正确方法
Step1 禁止集群shard平衡
Step2 手动同步
Step3 杀掉需要重启的节点,并重启节点
Step4 开启集群shard自动平衡
需要注意的地方
在重启之前,需要停止业务对集群的写入

Step1 禁止集群shard平衡
 curl -X PUT "localhost:9200/_cluster/settings?pretty" -H 'Content-Type: application/json' -d'
{
  "persistent": {
    "cluster.routing.allocation.enable": "none"     
  }
}
Step2 手动同步
curl -X POST "localhost:9200/_flush/synced?pretty"
1
Step3 杀掉需要重启的节点,并重启节点
Step4 开启集群shard自动平衡
 curl -X PUT "localhost:9200/_cluster/settings?pretty" -H 'Content-Type: application/json' -d'
{
  "persistent": {
    "cluster.routing.allocation.enable": "all"     
  }
}

需要注意的地方
一次只能启动一个节点,每次启动一个节点以后,要看health正常了,才启动下一个节点

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好,针对您的问题,可以通过以下步骤操作: 1. 首先查看故障节点的状态,可以使用以下命令检查: curl -XGET 'http://localhost:9200/_cat/nodes?v' 该命令将列出所有ES节点的信息,例如: ip heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name 127.0.0.1 50 90 5 0.04 0.10 0.23 mdi * es-master-1 127.0.0.1 30 60 3 0.01 0.05 0.19 mdi - es-node-1 127.0.0.1 30 60 3 0.01 0.05 0.19 mdi - es-node-2 127.0.0.1 50 90 5 0.04 0.10 0.23 mdi - es-node-3 从上面的结果中可以看到,有三个节点处于正常状态,一个节点(state列未知)处于故障状态。 2. 接下来,您需要在故障节点上执行重启操作,可以使用以下命令: systemctl restart elasticsearch.service 这个命令将会重启ES服务。 3. 然后,您需要确保配置文件中的所有集群相关信息都是正确的,如下所示: cluster.name: your_cluster_name node.name: your_node_name network.host: your_host_ip #发现节点的地址信息,可以是多个 discovery.seed_hosts: ["192.168.10.10","192.168.10.11","192.168.10.12"] cluster.initial_master_nodes: ["node1","node2","node3"] 在上面的代码中,“discovery.seed_hosts”属性指定了节点地址列表,“cluster.initial_master_nodes”属性指定了初始主节点列表。确保这些信息与集群配置一致。 4. 最后,执行以下命令,加入集群: bin/elasticsearch 这个命令将启动您的ES节点并将其添加到集群中。 希望上述步骤能够解决您的问题,如果您有其他问题或疑问,请随时联系我。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值