为了elastic时时提供服务,需要elastic至少状态维持在yellow状态。所有,维护时需要依次对elastic单个节点进行维护。

操作步骤如下:

1.停止elastic的自动分配功能

curl -XPUT 192.168.1.1:9200/_cluster/settings -d'
{"persistent": {"cluster.routing.allocation.enable": "none"}
}'

2.关闭需要维护的elastic节点,进行维护

cd elastic-2.3.5
bin/server/elasticsearch stop

3.开启需要维护的elastic节点服务,等待节点加入集群

【等待节点加入集群再开启自动分配是为了防止未分配的分片重新分配到其他节点,占用大量节点带宽,而且大大增加分配所需时间】

cd elastic-2.3.5
bin/server/elasticsearch start
#查看节点是否加入集群
watch -n 5 "curl 192.168.1.1:9200/_cat/allocation?v 2>/dev/null"

4.开启elastic的自动分配功能

curl -XPUT 192.168.1.1:9200/_cluster/settings -d'
{"persistent": {"cluster.routing.allocation.enable": "all"}
}'

5.等待集群自动分配完成【索引越大,自动分配完成需要的时间越长】

#查看集群是否分配完成,等待集群分配完成
watch -n 5 "curl 192.168.1.1:9200/_cat/allocation?v 2>/dev/null"
#查看UNASSIGNED的分片,分片全部分配完后,继续下一步操作
watch -n 5 "curl 192.168.1.1:9200/_cat/shards?v 2>/dev/null|grep NASSIGNED"

6.集群自动分配完成后,重复1-5操作,维护其他elastic节点。


如果第五步自动分配时间特别长,可以使用手动分配命令进行操作,自动分配脚本如下:

#停机维护的节点名称
NODE="real138"
#集群master节点IP
MASTER_IP="192.168.1.1"
#更改默认分割符为换行符
IFS=$'\n'
#对未分配的主节点进行手动分配
for line in $(curl "$MASTER_IP:9200/_cat/shards" 2>/dev/null | grep "UNASSIGNED" | grep " p ")
doINDEX=$(echo $line | (awk '{print $1}'))SHARD=$(echo $line | (awk '{print $2}'))curl -XPOST '10.16.28.136:9200/_cluster/reroute' -d '{  "commands": [  {  "allocate": {  "index": "'$INDEX'",  "shard": "'$SHARD'",  "node": "'$NODE'",  "allow_primary": true  }  }  ]  }'
done

  

转载于:https://www.cnblogs.com/micmouse521/p/8086312.html

elastic集群单节点停机维护相关推荐

  1. oracle集群 节点切换不,Oracle 11gR2 RAC集群单节点关闭开启

    Oracle Product集群因OS需要打patch需要单独关闭节点进行维护,机器为个人测试Oracle 11g R2测试集群 操作步骤 --确认集群的db_unique_name,本初的db_un ...

  2. Consul 集群单节点与多节点

    Consul 集群 Docker concul 容器服务更新与发现: 简介 搭建 consul 集群: 部署过程: (1)配置 consul 服务器: (2)查看集群信息: (3)通过 httpd a ...

  3. ES集群新增节点无法加入集群 timed out while waiting for initial discovery state - timeout: 30s

    ES : 7.5.0 ES集群新增节点无法加入集群 timed out while waiting for initial discovery state - timeout: 30s   ES集群需 ...

  4. elasticsearch7.9安装[单集群单节点、开启权限认证]

    文章目录 前言 下载 官网 下载链接 国内gitee镜像(源码版) 解压 配置文件 启动 开放文件夹权限 切换普通用户 启动命令 开启权限 第一步 第二步 第三步 第四步 与elasticsearch ...

  5. Mysql8 group replication组复制集群单主多主模式切换

    Mysql8 MGR集群操作图解 声明与简介 本文的数据来自网络,部分代码也有所参照,这里做了注释和延伸,旨在技术交流,如有冒犯之处请联系博主及时处理.本文主要介绍mysql的MGR集群的操作. My ...

  6. Mysql 8 group replication组复制集群单主配置图解

    Mysql 8 MGR集群单主配置图解 声明与简介 本文的数据来自网络,部分代码也有所参照,这里做了注释和延伸,旨在技术交流,如有冒犯之处请联系博主及时处理.本文主要介绍mysql的MGR集群的配置. ...

  7. 机器从零到 K8S 集群 Worker 节点的安装过程

    最近基于 Hyper-V 虚拟机搭了一个单节点的 K8S,过程没有记录下来 本次实践从零开始搭建一个 K8S Slave 节点 机器从零到 K8S 集群 Slave 节点的安装过程 实践环境 安装 L ...

  8. mfc 制作不同的文档模板mdi不同的子窗体_制作ACK集群自定义节点镜像的正确姿势...

    随着云原生时代的到来,用户应用.业务上云的需求也越来越多,不同的业务场景对容器平台的需求也不尽相同,其中一个非常重要的需求就是使用自定义镜像创建ACK集群. ACK支持用户使用自定义镜像创建Kuber ...

  9. Tomcat集群---Cluster节点配置(转)

    <!-- Cluster(集群,族) 节点,如果你要配置tomcat集群,则需要使用此节点.className 表示tomcat集群时,之间相互传递信息使用那个类来实现信息之间的传递.chann ...

最新文章

  1. PyTorch | 优化神经网络训练的17种方法
  2. 去除桌面图标蓝底的方法步骤
  3. 07 总结ProgressDialog 异步任务
  4. android viewpage预加载和懒加载问题
  5. win7焦点总是不停丢失的解决方法
  6. 问村民一个什么问题就能决定走哪条路?
  7. 学习总结——接口测试基础
  8. vmx进程已提前退出_如何优雅地停止Java进程
  9. Niushop开源微信商城+小程序商城源码
  10. Unity URP/SRP 渲染管线浅入深出【匠】
  11. 极值点、驻点、拐点的区别-----专升本
  12. 《百万IT毕业生的心声:IT专业大学生毕业前必做的十件事》
  13. 计算机软件技术有哪些,1.1 什么是计算机软件技术
  14. 大数据仓库技术实训任务2
  15. 简单的计算机程序图,技巧:只需几个简单的步骤,即可使用Office工具离线识别图片文字...
  16. MCMC和贝叶斯统计在宇宙微波背景辐射(CMB)中应用
  17. Unable to locate tools.jar. Expected to find it in /usr/lib/jvm/java-1.5.0-gcj-4.5/lib/tools.jar 求解
  18. 什么是vps?vps和代理ip的本质区别?
  19. oracle中的fms和erp的区别,MRP系统和ERP系统有什么区别?
  20. 开关电源雷击浪涌整改_开关电源雷击浪涌的产生与防护

热门文章

  1. WPF DataGrid 和LINQ to SQL示例程序之一 (提供源代码下载)
  2. LeetCode 914. 卡牌分组
  3. LeetCode5. 最长回文子串
  4. 数据结构预算法(六) 数组和矩阵(1)
  5. 金蝶移动bos开发教程_求助临沂金蝶k3,kis,eas软件各版本优势
  6. jupyter notebook如何选择conda环境
  7. 为什么要进行特征归一化/标准化?
  8. Bella团队正在进行Flex Saving v2上线最后的准备工作
  9. SAP License:SAP CWM功能及限制
  10. 实操|风控规则的监控与自动化策略生成