ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

es添加节点

es添加节点

一,准备工作

删除多余配置
1,依次重启es节点,先data,后master,节点
1.1 关闭es节点服务
docker-compse down
1.2 注释一下内容

cat config/elasticsearch.yml

discovery.zen.ping.unicast.hosts:
- cluster-pro01
- cluster-pro02
- cluster-pro03
# - cluster-pro-data-01
#- cluster-pro-data-02
# - cluster-pro-data-03
#- cluster-pro-data-04
#- cluster-pro-data-05
#- cluster-pro-data-06

cat /etc/hosts

10.160.2.164 cluster-pro01
10.160.2.165 cluster-pro02
10.160.2.166 cluster-pro03
#10.160.2.167 cluster-pro-data-01
#10.160.2.168 cluster-pro-data-02
#10.160.2.169 cluster-pro-data-03
#10.160.2.193 cluster-pro-data-04
#10.160.2.194 cluster-pro-data-05
#10.160.2.195 cluster-pro-data-06
1.3 启动es节点服务
docker-compose up -d
1.4 要点:重启data节点时,集群状态会显示red,重启master节点时集群状态显示gress

 

 

二,安装 docker和docker-compse
新节点安装docker和docker-compose
一键安装docker
curl -fsSL https://get.docker.com | sudo bash
sudo usermod -aG docker $USER
newgrp docker

下载并安装docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/v2.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version


三,把老节点的es配置考过来
tar zcvf es7.tar.gz --exclude='es7/logs' --exclude='es7/data' --exclude='es7/backup' es7

新节点配置hosts文件(只加master节点的解析)
10.160.2.164 cluster-pro01
10.160.2.165 cluster-pro02
10.160.2.166 cluster-pro03


四,关闭集群分片分配功能(开发者工具)

此步骤执行以后,可以一次加一个节点,也可以加多个节点,因为分片不会调度过来,数据不会写入
PUT _cluster/settings
{
"persistent": {
"cluster.routing.allocation.enable": "none"
}
}

 

五,优化内存配置(一定要配置,否则服务启动失败)

加系统配置

vim /etc/sysctl.conf

添加一下配置

vm.max_map_count=462144

sudo sysctl -p


六,启动新节点的es
修改所哟文件的属组和属主

测试环境修改可以用下面的配置

cd /data
chown -R 1000:1000 es7
docker-compose down
docker-compose up -d

prod可以用下面的配置

cd /data/es7

mkdir data log

chown -R devops:root data

chown -R devops:root log

修改上面的配置以后再启动服务

docker-compose up -d

 

 

七,查看集群节点数和集群监控状态
GET _cat/nodes?
GET _cluster/health

#查看节点数据分配情况
GET _cat/shards?v

#恢复集群分片功能
PUT _cluster/settings
{
"persistent": {
"cluster.routing.allocation.enable": "all"
}
}


#再次查看数据节点分配情况
GET _cat/shards?v

此时会出现分片迁移的情况,输出如下
gaming_hub_transfer_record_202512 3 r RELOCATING 389782 161.9mb 10.160.2.167 cluster-pro-data-01 -> 10.160.5.50 XZmyEhENQjmtwDTzkBIHFg cluster-pro-data-07

过几分钟再次查看,数据分配正常
GET _cat/shards?v

返回列表