Elasticsearch 集群


0. 前提

  • 三台服务器已正常安装ES,安装ES可参考这里
  • 本教程ES安装目录为:/usr/local/elasticsearch-7.4.2/,三个节点一致
  • 服务器与IP约定

    节点一:192.168.1.184
    节点二:192.168.1.185
    节点三:192.168.1.186

1. 初始化数据

三个节点进行同样的操作

# 进入es的data目录
cd {elasticsearch}/data/

# 清理数据
rm nodes/ -rf

2. 配置 elasticsearch.yml

vim /usr/local/elasticsearch-7.4.2/config/elasticsearch.yml

找到 cluster.name:,设置集群名称 es-cluster,三台节点保持一致
找到 node.name,设置节点名称,三台节点分别为:es-node1es-node2es-node3
添加 node.master: true,表示选举时,节点可能成为主节点,可以管理集群索引数据,三台节点保持一致
添加 node.data: true,表示数据节点,可以管理文档数据,三台节点保持一致
找到 discovery.seed_hosts:,设置为 ["192.168.1.184","192.168.1.185","192.168.1.186"],三台节点保持一致
找到 cluster.initial_master_nodes:,设置初始化主节点为 ["es-node1"],三台节点保持一致

# 查看 elasticsearch.yml 配置
more elasticsearch.yml | grep ^[^#]

3. 分别启动三台节点

cd /usr/local/elasticsearch-7.4.2/bin/
./elasticsearch

4. 检查集群

分别访问三台节点查看集群信息:http://{host}:9200

5. 总结

以上我们完成了ES三节点集群搭建

补充1. 集群脑裂

老版本ES会出现的选举问题,7.x以前
问题出现:默认最小投票人数为1,所以当宕机的节点恢复时,可能直接成为主节点
导致原集群出现两个主节点,从而集群被分割

解决办法:设置最小投票人数
最小投票人数:discovery.zen.minimum_master_nodes = N/2+1
注:N并不直接代表总节点数,而是配置为 node.master: true 的总节点数

补充2. 文档读写原理

文档写原理
文档读原理


文章作者: 小动物不困
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 小动物不困 !
评论
 上一篇
Elasticsearch 数据同步 Elasticsearch 数据同步
Logstash Logstash 数据采集引擎注:使用时,Logstash版本和Elasticsearch版本须保持一致! 数据采集 从数据库或者其它数据源中采集数据至es中 以id或update_time作为同步边界 基于定时任
2020-10-11
下一篇 
Elasticsearch 安装与配置 Elasticsearch 安装与配置
1. 安装 Elasticsearch 下载Elasticsearch官网下载 上传后解压 tar -zxvf elasticsearch-7.4.2-linux-x86_64.tar.gz 移动解压后的文件夹 mv elasti
2020-09-27
  目录