1 服务器准备
[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.8.2003 (Core)
准备三台服务器, 我准备的三台服务器IP为10.13.49.44、10.13.49.98、10.13.49.110,操作系统版本如上图
2 ES版本下载
下载地址为https://www.elastic.co/cn/downloads/past-releases#elasticsearch
我下载的版本是:elasticsearch-analysis-ik-6.8.12.zip,没选择太新的版本是因为当前版本是jdk8支持的最后一个版本且能满足我的需求
3 集群配置
3.1 解压
cd /home
tar -zvxf elasticsearch-6.8.12.tar.gz
3.2 添加用户
groupadd es
adduser es -g es
chown -R es:es /home/elasticsearch-6.8.12
3.3 系统内核配置
vi /etc/sysctl.conf 添加如下内容
vm.max_map_count=262144
3.4 最大线程数设置
vi /etc/security/limits.conf 添加如下内容
* soft nofile 65536
* hard nofile 65536
* soft nproc 4096
* hard nproc 4096
3.5 elasticsearch.yaml配置
cluster.name: escluster
#节点名称,仅仅是描述名称,用于在日志中区分,不能重复
node.name: 10.13.49.98
#配置data和logs的目录,我这里放到了根目录下的data和logs中
path.data: /home/elasticsearch-6.8.12/data
path.logs: /home/elasticsearch-6.8.12/logs
#当前节点的IP地址
network.host: 10.13.49.98
#对外提供服务的端口
http.port: 9200
#为了避免脑裂,集群节点数最少为半数+1
discovery.zen.minimum_master_nodes: 2
#自动发现ping其他节点超时时间
discovery.zen.ping_timeout: 3s
#集群各节点IP地址,其中9300为集群服务的默认端口
discovery.zen.ping.unicast.hosts: ["10.13.49.44:9300","10.13.49.98:9300","10.13.49.110:9300"]
配置文件中如没有对应目录需手动创建,其它两个节点同理
3.6 启动所有节点Es
/home/elasticsearch-6.8.12/bin
./elasticsearch
3.7 验证Es启动成功
[root@localhost config]# curl 10.13.49.44:9300/_cat/nodes?v
This is not an HTTP port[root@localhost config]# curl 10.13.49.44:9200/_cat/nodes?v
ip heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
10.13.49.44 76 61 0 0.01 0.04 0.05 mdi * 10.13.49.44
10.13.49.110 58 63 0 0.00 0.03 0.05 mdi - 10.13.49.110
10.13.49.98 60 58 0 0.00 0.01 0.05 mdi - 10.13.49.98