ES集群的扩缩容

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/

posted @ 2022-04-01 14:25  伊铭(netease)  阅读(2150)  评论(0编辑  收藏  举报