ES集群节点的扩容缩容案例

1.在集群中添加和删除节点

  当您启动Elasticsearch实例时,您正在启动一个节点。Elasticsearch集群是一组具有相同cluster.name属性的节点。当节点加入或离开集群时,集群会自动重新组织自己,以便在可用节点之间均匀地分布数据。

  如果您正在运行单个Elasticsearch实例,则您拥有一个节点集群。所有主分片驻留在单个节点上。不能分配复制分片,因此集群状态保持为黄色。集群功能完整,但在发生故障时存在数据丢失的风险。

  通过增加集群内的节点,可以提高集群的容量和可靠性。默认情况下,节点也是数据节点,也可以被选为控制集群的主节点。您还可以为特定目配置新节点,例如处理接收请求。

  当您向集群添加更多节点时,它会自动分配副本分片。当所有主分片和副本分片都处于活动状态时,集群状态变为绿色。

  您可以在本地机器上运行多个节点,以试验由多个节点组成的Elasticsearch集群的行为。
  要将一个节点添加到本地机器上运行的集群中:

  1. 设置一个新的 Elasticsearch 实例
  2. 使用 elasticsearch.yml 中的 cluster.name 设置指定集群的名称
  3. 启动 Elasticsearch,节点自动发现并加入指定的集群

  要将节点添加到运行在多台机器的集群上,您必须设置discovery.seed_hosts,以至于新的节点可以发现集群的其他信息

2 扩容数据节点

  

  2.1 当ES集群存储或者计算资源不够了,我们需要对数据节点进行扩容:

step 1.安装elasticsearch节点
       step 2.修改配置文件

  

#与需要扩容的集群保持一致
cluster.name: es-cluster
node.name: es2
node.attr.rack: r1
node.master: false
node.data: true
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.host: 10.246.104.17
discovery.seed_hosts: ["10.246.104.116", "10.246.104.117", "10.246.104.118", "10.246.104.136", "10.246.104.137", "10.246.105.75", "10.246.105.76", "10.246.104.17", "10.246.104.19"] #填写的es节点
cluster.initial_master_nodes: #填写原来的集群的master
- elasticsearch1
- elasticsearch2
- elasticsearch3
bootstrap.system_call_filter: false
node.attr.box_type: hot
indices.fielddata.cache.size: 20%

注意:在修改配置文件期间,不能够启动elasticsearch,否则可能会导致与原有的集群uuid不一致导致无法加入到集群这时候需要删除elasticsearch的data数据

2.2 启动节点

  这时候节点会自动加入集群并且自动进行rebalance

2.3 查看节点是否已经正常加入了

curl -s -XGET "http://es_host:9200/_cat/nodes?v"
ip heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
10.246.104.118 36 99 2 0.11 0.15 0.21 dim - elasticsearch3
10.246.104.117 22 99 2 0.45 0.46 0.49 dim * elasticsearch2
10.246.104.116 21 99 1 0.27 0.31 0.31 dim - elasticsearch1
10.246.105.76 37 99 1 4.50 7.33 8.08 di - es_stale2
10.246.104.19 52 98 0 0.06 0.18 0.22 di - es1
10.246.104.137 18 99 0 0.43 0.29 0.29 di - es_hot2
10.246.104.136 57 99 2 0.26 0.47 0.46 di - es_hot1
10.246.104.17 66 98 3 0.18 0.13 0.10 di - es2
10.246.105.75 58 99 1 2.49 2.30 1.93 di - es_stale1

节点已经成功加入集群

3 缩容数据节点

  3.1 获取需要缩容的节点信息

  

[root@elasticsearch-01 ~]# curl -s -XGET "http://es-host:9200/_cat/nodes?v"
ip heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
11.96.55.7 50 9 0 0.05 0.03 0.06 cdfhilrstw - elasticsearch-04
11.96.55.7 18 9 0 0.05 0.03 0.06 cdfhilmrstw * elasticsearch-01
11.96.55.7 24 9 0 0.05 0.03 0.06 cdfhilmrstw - elasticsearch-02
11.96.55.7 53 9 0 0.05 0.03 0.06 cdfhilmrstw - elasticsearch-03
[root@elasticsearch-01 ~]#

  3.2 将节点从集群路由策略中排除

curl -X PUT "es-host:9200/_cluster/settings" -H 'Content-Type: application/json' -d'
{
"transient" : {
"cluster.routing.allocation.exclude._name" : "elasticsearch-04"
}
}
'
{"acknowledged":true,"persistent":{},"transient":{"cluster":{"routing":{"allocation":{"exclude":{"_name":"elasticsearch-04"}}}}}}

  3.3 等待该节点上的数据全部迁移完成后

[root@elasticsearch-01 ~]# curl -s -XGET "http://elasticsearch-01:9201/_cat/allocation?v"
shards disk.indices disk.used disk.avail disk.total disk.percent host ip node
0 0b 517.2mb 43.6tb 43.6tb 0 11.96.55.7 11.96.55.7 elasticsearch-01
0 0b 517.2mb 43.6tb 43.6tb 0 11.96.55.7 11.96.55.7 elasticsearch-02
0 0b 517.2mb 43.6tb 43.6tb 0 11.96.55.7 11.96.55.7 elasticsearch-03
[root@elasticsearch-01 ~]#

  3.4 节点就可安全下线

  3.5 查看集群健康状态

参考:

http://dbaselife.com/project-16/doc-895/

ES集群的扩缩容的更多相关文章

  1. Airbnb的动态kubernetes集群扩缩容

    Airbnb的动态kubernetes集群扩缩容 本文介绍了Airbnb的集群扩缩容的演化历史,以及当前是如何通过Cluster Autoscaler 实现自定义扩展器的.最重要的经验就是Airbnb ...

  2. 教你在Kubernetes中快速部署ES集群

    摘要:ES集群是进行大数据存储和分析,快速检索的利器,本文简述了ES的集群架构,并提供了在Kubernetes中快速部署ES集群的样例:对ES集群的监控运维工具进行了介绍,并提供了部分问题定位经验,最 ...

  3. Docker Swarm(七)Scale 扩(缩)容服务

    扩(缩)容服务 扩容服务 Service还提供了复制(类似kubernetes里的副本)功能.可以通过 docker service scale 命令来设置服务中容器的副本数: docker serv ...

  4. 从零入门 Serverless | Serverless Kubernetes 应用部署及扩缩容

    作者 | 邓青琳(轻零) 阿里云技术专家 导读:本文分为三个部分,首先给大家演示 Serverless Kubernetes 集群的创建和业务应用的部署,其次介绍 Serverless Kuberne ...

  5. Kubernetes 监控:Prometheus Adpater =》自定义指标扩缩容

    使用 Kubernetes 进行容器编排的主要优点之一是,它可以非常轻松地对我们的应用程序进行水平扩展.Pod 水平自动缩放(HPA)可以根据 CPU 和内存使用量来扩展应用,前面讲解的 HPA 章节 ...

  6. 三十三、HPA实现自动扩缩容

    通过HPA实现业务应用的动态扩缩容 HPA控制器介绍 当系统资源过高的时候,我们可以使用如下命令来实现 Pod 的扩缩容功能 $ kubectl -n luffy scale deployment m ...

  7. Kubernetes的垂直和水平扩缩容的性能评估

    Kubernetes的垂直和水平扩缩容的性能评估 译自:Performance evaluation of the autoscaling strategies vertical and horizo ...

  8. Knative 基本功能深入剖析:Knative Serving 自动扩缩容 Autoscaler

    Knative Serving 默认情况下,提供了开箱即用的快速.基于请求的自动扩缩容功能 - Knative Pod Autoscaler(KPA).下面带你体验如何在 Knative 中玩转 Au ...

  9. 生产调优4 HDFS-集群扩容及缩容(含服务器间数据均衡)

    目录 HDFS-集群扩容及缩容 添加白名单 配置白名单的步骤 二次配置白名单 增加新服务器 需求 环境准备 服役新节点具体步骤 问题1 服务器间数据均衡 问题2 105是怎么关联到集群的 服务器间数据 ...

  10. ES 集群调整、升级 最佳实践

    日常应用中我们会经常对es 集群做一些参数调整或者升级版本,但是每次关闭节点再打开 其中的数据同步的痛苦估计有很多人领悟过(有可能出现IO或者网络拥堵导致恶性循环)官网有套方案可以尝试一下: 1.关掉 ...

随机推荐

  1. 【直播回顾】OpenHarmony知识赋能六期第一课—OpenHarmony智能家居项目介绍

    6月16日晚上19点,知识赋能第六期第一节课 <OpenHarmony智能家居项目介绍> ,在OpenHarmony开发者成长计划社群内成功举行. 本次直播是"OpenHarmo ...

  2. 搜索引擎优化指南:SEO关键字、长尾关键字、短尾关键字以及反向链接

    内容 SEO SEO 代表"搜索引擎优化".它是一种数字营销策略,旨在提高网站或网页在搜索引擎未付费结果中的在线可见性.通常,网站在搜索结果页面中排名越高,或在搜索结果列表中显示的 ...

  3. 使用Apache POI和Jsoup将Word文档转换为HTML

    简介 在现代办公环境中,Word文档和HTML页面都是常见的信息表达方式.有时,我们需要将Word文档转换为HTML格式,以便在网页上展示或进行进一步的处理.本文将介绍如何使用Apache POI库和 ...

  4. openGauss Cluster Manager RTO Test

    一.环境介绍 软件环境 类别 版本 下载链接 备注 OS openEuler 20.03 (LTS) https://repo.openeuler.org/openEuler-20.03-LTS/IS ...

  5. 开发案例:使用canvas实现图表系列之折线图

      一.功能结构 实现一个公共组件的时候,首先分析一下大概的实现结构以及开发思路,方便我们少走弯路,也可以使组件更加容易拓展,维护性更强.然后我会把功能逐个拆开来讲,这样大家才能学习到更详细的内容.下 ...

  6. 【未测试】CentOS 6.5快速部署HTTP WEB服务器和FTP服务器

    CentOS 6.5快速部署HTTP WEB服务器和FTP服务器 [题记]本文使用CentOS 6.5minimal快速搭建HTTP服务器和仅供授权用户登陆的FTP服务器.意在使用授权FTP用户通过登 ...

  7. mongodb基础整理篇————聚合操作[三]

    前言 简单整理一下聚合操作. 正文 什么是聚合框架: 作用于一个或多个集合上 对集合的数据进行的一系列运算 将这些数据转换为期望的形式 从效果而言, 聚合框架相当于SQL 查询中的: Group By ...

  8. ubuntu 20.04.1 安装 PHP+Nginx

    ubuntu 20.04.1 安装 PHP+Nginx 更新源 sudo apt-get update 安装环境包 sudo apt-get -y install nginx sudo apt-get ...

  9. NIFI简介

    NIFI简介 首先是官网地址:Apache NiFi,不过会百度的估计都能搜到 因为后面的工作一定会用到,所以大致的听了一下讲解操作之类的 大概感觉就是NIFI是个web端的一种控制数据走向的工具?可 ...

  10. HarmonyOS NEXT应用开发之深色跑马灯案例

    介绍 本示例介绍了文本宽度过宽时,如何实现文本首尾相接循环滚动并显示在可视区,以及每循环滚动一次之后会停滞一段时间后再滚动. 效果图预览 使用说明: 1.进入页面,检票口文本处,实现文本首尾相接循环滚 ...