3台服务器都要执行
- vim /etc/hosts;
- # 将以下内容写入3台服务器hosts文件
- 192.168.226.148 es001
- 192.168.226.149 es002
- 192.168.226.150 es003
3台服务器都要执行
- systemctl stop firewalld;
- systemctl disable firewalld;
以下内容3台服务器都要配置
- vim /etc/security/limits.conf;
- # 将以下内容写入文件最后
- * soft nofile 204800
-
- * hard nofile 204800
-
- * soft nproc 204800
-
- * hard nproc 204800
- vim /etc/sysctl.conf;
- #将以下内容写入文件最后
- vm.max_map_count=655360
sysctl -p;
https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.4.2-x86_64.rpm
rpm -ivh elasticsearch-7.4.2-x86_64.rpm
创建数据目录和日志目录(3个服务器都执行)
- mkdir -p /usr/share/elasticsearch/data;
- mkdir -p /usr/share/elasticsearch/log;
- # 注意 创建的目录一定要授权给ES用户
- chown elasticsearch:elasticsearch -R /usr/share/elasticsearch/data;
- chown elasticsearch:elasticsearch -R /usr/share/elasticsearch/log;
编辑/etc/elasticsearch/elasticsearch.yml配置文件(3个服务器都执行)
- cd /etc/elasticsearch;
- vim elasticsearch.yml;
内容为:
# 修改集群名称
cluster.name: elasticsearch-cluster
# 修改节点名称,不同节点不同 节点一node-1 节点二node-2 节点三node-3
node.name: node-1
#是不是有资格主节点 ,选举是在所有node.master = true 的节点进行的
node.master: true
node.data: true
# 修改data数据保存地址为上一步创建的地址
path.data: /usr/share/elasticsearch/data
# 修改log数据保存地址为上一步创建的地址
path.log: /usr/share/elasticsearch/log
# 修改允许访问ip
network.host: 0.0.0.0
# 修改访问端口
http.port: 9200
# 集群初始化节点,只需要配置主节点
cluster.initial_master_nodes: ["node-1","node-2","node-3"]
#集群中所有的节点ip
discovery.seed_hosts: ["es001","es002","es003"]
#配置跨域访问 header插件需要该配置
http.cors.enabled: true
http.cors.allow-origin: "*"
说明:
首次启动Elasticsearch集群需要在集群中的一个或多个Master候选节点上显式定义初始一组主资格节点 . 这个行为称为集群自举。符合主机要求的初始节点集是在cluster.initial_master_nodes设置中,群集形成后,不再需要此设置,并且会忽略它,也就是说,这个属性就只是在集群首次启动时有用。并且可以不需要在非Master候选节点上设置。
- cd /etc/elasticsearch;
- vim jvm.options;
内容为
#Xms和Xmx要设置为一样,否者启动有可能会报initial heap size x not equal to maximum heap size x;
-Xms512m
-Xmx512m
vim /etc/security/limits.conf;
文件最后添加内容为:
# 每个进程可以打开的文件数的限制
* soft nofile 65536
* hard nofile 131072
# 操作系统级别对每个用户创建的进程数的限制
* soft nproc 2048
* hard nproc 4096
vim /etc/sysctl.conf;
文件最后添加内容为:
# 在文件中增加下面内容
# 一个进程可以拥有的 VMA(虚拟内存区域)的数量,默认值为 65536
vm.max_map_count=655360
重新加载
sysctl -p;
- chown elasticsearch:elasticsearch -R /usr/share/elasticsearch/;
- #chown elasticsearch:elasticsearch -R /etc/elasticsearch/;
部分情况会启动失败,systemctl status elasticsearch报超时错误, elasticsearch.service start operation timed out. Terminating.
- vim /usr/lib/systemd/system/elasticsearch.service
- # Java process is never killed
- SendSIGKILL=no
-
- # When a JVM receives a SIGTERM signal it exits with code 143
- SuccessExitStatus=143
- TimeoutStartSec=120 #在这添加一个超时间 设置长一点,我这边设置了两分钟
- [Install]
- WantedBy=multi-user.target
- [root@VM125 ELK]# systemctl daemon-reload
- [root@VM125 ELK]# systemctl restart elasticsearch
- [root@VM125 ELK]# systemctl status elasticsearch
- # 启动
- systemctl start elasticsearch;
- # 自启动
- systemctl enable elasticsearch;
- # 查状态
- systemctl status elasticsearch;