为了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 ")
do
INDEX=$(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

  

elastic集群单节点停机维护的更多相关文章

  1. Vertica集群单节点宕机恢复方法

    Vertica集群单节点宕机恢复方法 第一种方法: 直接通过admintools -> 5 Restart Vertica on Host 第二种方法: 若第一种方法无法恢复,则清空宕机节点的c ...

  2. 【Zookeeper】Zookeeper集群单节点提供服务

    以下只在特殊情况下使用,不要用在生产环境. 一.问题背景 公司的产品使用Zookeeper做为集群支持,但是客户在验收的时候提出了一个很为难人的要求,那就是3台集群服务,停止2台以后,还要求我们的应用 ...

  3. Elastic search集群新增节点(同一个集群,同一台物理机,基于ES 7.4)

    一开始,在电脑上同一个集群新增节点(node)怎么试也不成功,官网guide又语焉不详?集群健康值yellow(表示主分片全部可用,部分复制分片不可用) 最后,在stackoverflow上找到了答案 ...

  4. VMware workstation虚拟集群实践(1)—— 配置集群多节点互信

    一. 简述 节点互信,是集群管理的基本操作之一.节点互信是通过SSH协议的公钥密钥认证来代替密码认证来实现的.对于单点批量管理多个节点,多个节点之间相互通信来说,配置SSH单方向信任,或者互信十分必要 ...

  5. 刨根问底 | Elasticsearch 5.X集群多节点角色配置深入详解【转】

    转自:https://blog.csdn.net/laoyang360/article/details/78290484 1.问题引出 ES5.X节点类型多了ingest节点类型. 针对3个节点.5个 ...

  6. Elasticsearch核心技术(2)--- 基本概念(Index、Type、Document、集群、节点、分片及副本、倒排索引)

    Elasticsearch核心技术(2)--- 基本概念 这篇博客讲到基本概念包括: Index.Type.Document.集群,节点,分片及副本,倒排索引. 一.Index.Type.Docume ...

  7. Akka 集群单例Cluster Singleton

    一.简介 集群中Cluster Singleton 集群中有而只一个单例,可应用于集群全局调控,单一运算决策,中央命名服务或中央路由等应用场景 二.依赖 dependencies { compile ...

  8. Elasticsearch-02-入门:集群、节点、分片、索引及常用API

    2. 基础入门 2.1 重要概念 2.1.1 集群和节点 1)cluster Elasticsearch集群是由一个或多个节点组成,通过其集群名称来进行唯一标识.节点在搜索到集群之后,通过判断自身的 ...

  9. 全网最新的nacos 2.1.0集群多节点部署教程

    原文链接:全网最新的nacos 2.1.0集群多节点部署教程-语雀 基本信息 进度整理中 版本 2.1.0 版本发布日期 2022-04-29 git revision number b5845313 ...

随机推荐

  1. RANSAC简史(一)——RANSAC之初

    在开始正式的介绍之前,先做一个简单的定义,以免产生歧义: 1.本文中的“数据点”是指: 1)对于直线拟合.平面拟合等问题,即为相应的二维/三维坐标点: 2)对于从匹配点中估计基本矩阵.单应矩阵等问题, ...

  2. Delphi - Indy TIdFTPServer封装类

    在Delphi 7开发下有强大的Indy控件,版本为9,要实现一个FTP服务器,参考自带的例子,发现还要写很多函数,而且不支持中文显示文件列表等等. 于是,自己改进封装了下,形成一个TFTPServe ...

  3. Windows Server - SVN 服务器搭建与项目配置、客户端安装与配置

    本教程以Windows Server 2012 R12 为例搭建SVN服务器,安装部署完成后,客户端可通过SVN客户端访问SVN服务器上的项目,也可以访问网上其他SVN服务器上的项目. 一.首先准备三 ...

  4. Anaconda的详细安装步骤图文并茂

    Anaconda(官方网站)就是可以便捷获取包且对包能够进行管理,同时对环境可以统一管理的发行版本.Anaconda包含了conda.Python在内的超过180个科学包及其依赖项. 事实上Anaco ...

  5. [工具使用]-利用latex管理创建自己的ACM模板

    从很早入坑ACM开始,便和各种算法的模板打着交道,虽然kaungbin的模板已经足够强大,但是自己在平常做题中也逐渐有着自己的一些模板,也有一些kuangbin模板中没有的更快的板子,虽然不确定时候以 ...

  6. CodeForces 375D Tree and Queries 莫队||DFS序

    Tree and Queries 题意:有一颗以1号节点为根的树,每一个节点有一个自己的颜色,求出节点v的子数上颜色出现次数>=k的颜色种类. 题解:使用莫队处理这个问题,将树转变成DFS序区间 ...

  7. Java微服务(二):服务消费者与提供者搭建

    本文接着上一篇写的<Java微服务(一):dubbo-admin控制台的使用>,上篇文章介绍了docker,zookeeper环境的安装,并参考dubbo官网演示了dubbo-admin控 ...

  8. Java连载27-有返回值的方法注意点

    一.方法注意点 (1)方法的调用不一定再main方法中,可以在其他方法中进行调用,只要是程序执行到的位置,都可以去调用其他方法. (2)方法调用的时候,实参和形参要求个数对应相同,数据类型对应相同,方 ...

  9. 携程PMO--小罗说敏捷之WIP限制在制品

    转自本人运营的公众号“ 携程技术中心PMO”(ID:cso_pmo)         WIP是什么?   WIP(work in progress)指的就是工作中心在制品区.在经过部分制程之后,还没有 ...

  10. jQuery - 03. each、prevaAll、nextAll、获取属性、修改属性attr/val/text()、jq.height/width、offset()./position()./scrol Left/Top 、事件绑定bind、delegate、on、事件解绑、事件对象、多库共存

    each 方法 $ ( selector).each(function( index,element) {  } );   参数一表示当前元素在所有匹配元素中的索引号 参数二表示当前元素(DOM对象) ...