ES百度云:https://pan.baidu.com/s/1rVQP6e2c6s2NZPU5UDxAOg
提取码:5pd0
1.准备好三台服务器,将下载好的elasticsearch-7.5.0-linux-x86_64.tar.gz分别上传到/usr/local目录下
2.解压上传的压缩包,为了简洁更名为es
### 解压
tar -zxvf elasticsearch-7.5.0-linux-x86_64.tar.gz
### 更名为es
mv elasticsearch-7.5.0 es
3.修改修改每一台服务器上es的配置文件
### node-1
cluster.name: es-cluster # 集群名称
node.name: es-node1 # 节点名称,仅仅是描述名称,用于在日志中区分
node.master: true # 是否有资格成为主节点
node.data: true # 是否存储数据
node.max_local_storage_nodes: 3 # 最大集群节点数
path.data: /usr/local/es/data # 数据的默认存放路径
path.logs: /usr/local/es/logs # 日志的默认存放路径
network.host: 0.0.0.0 # 当前节点的IP地址
http.port: 9201 # 对外提供服务的端口,9300为集群服务的端口
transport.tcp.port: 9301 # 集群内部节点沟通端口
transport.tcp.compress: true # 是否压缩tcp传输时的数据,默认为false
http.cors.enabled: true # 是否使用http协议对外提供服务,默认为true
http.cors.allow-origin: "*" # 允许跨域
discovery.zen.ping_timeout: 20s # 集群中自动发现其它节点时ping连接超时时间,默认为3秒
discovery.seed_hosts: ["192.168.0.106:9301", "192.168.0.105:9302","192.168.0.112:9303"] # 集群个节点IP地址,也可以使用els、els.shuaiguoxia.com等名称,需要各节点能够解析
cluster.initial_master_nodes: ["es-node1"] # 初始化主节点
discovery.zen.minimum_master_nodes: 2 # 为了避免脑裂,集群节点数最少为 半数+1
### node-2
cluster.name: es-cluster # 集群名称
node.name: es-node2 # 节点名称,仅仅是描述名称,用于在日志中区分
node.master: true # 是否有资格成为主节点
node.data: true # 是否存储数据
node.max_local_storage_nodes: 3 # 最大集群节点数
path.data: /usr/local/es/data # 数据的默认存放路径
path.logs: /usr/local/es/logs # 日志的默认存放路径
network.host: 0.0.0.0 # 当前节点的IP地址
http.port: 9202 # 对外提供服务的端口,9300为集群服务的端口
transport.tcp.port: 9302 # 集群内部节点沟通端口
transport.tcp.compress: true # 是否压缩tcp传输时的数据,默认为false
http.cors.enabled: true # 是否使用http协议对外提供服务,默认为true
http.cors.allow-origin: "*" # 允许跨域
discovery.zen.ping_timeout: 20s # 集群中自动发现其它节点时ping连接超时时间,默认为3秒
discovery.seed_hosts: ["192.168.0.106:9301", "192.168.0.105:9302","192.168.0.112:9303"] # 集群个节点IP地址,也可以使用els、els.shuaiguoxia.com等名称,需要各节点能够解析
cluster.initial_master_nodes: ["es-node1"] # 初始化主节点
discovery.zen.minimum_master_nodes: 2 # 为了避免脑裂,集群节点数最少为 半数+1
### node-3
cluster.name: es-cluster # 集群名称
node.name: es-node3 # 节点名称,仅仅是描述名称,用于在日志中区分
node.master: true # 是否有资格成为主节点
node.data: true # 是否存储数据
node.max_local_storage_nodes: 3 # 最大集群节点数
path.data: /usr/local/es/data # 数据的默认存放路径
path.logs: /usr/local/es/logs # 日志的默认存放路径
network.host: 0.0.0.0 # 当前节点的IP地址
http.port: 9203 # 对外提供服务的端口,9300为集群服务的端口
transport.tcp.port: 9303 # 集群内部节点沟通端口
transport.tcp.compress: true # 是否压缩tcp传输时的数据,默认为false
http.cors.enabled: true # 是否使用http协议对外提供服务,默认为true
http.cors.allow-origin: "*" # 允许跨域
discovery.zen.ping_timeout: 20s # 集群中自动发现其它节点时ping连接超时时间,默认为3秒
discovery.seed_hosts: ["192.168.0.106:9301", "192.168.0.105:9302","192.168.0.112:9303"] # 集群个节点IP地址,也可以使用els、els.shuaiguoxia.com等名称,需要各节点能够解析
cluster.initial_master_nodes: ["es-node1"] # 初始化主节点
discovery.zen.minimum_master_nodes: 2 # 为了避免脑裂,集群节点数最少为 半数+1
4.在每个es目录下创建数据存放目录
### 进入es目录中
cd /usr/local/es
### 创建数据目录
mkdir data
5.创建普通用户,并授予es文件操作权限权限
useradd coder
passwd coder coder
chown -R coder:coder /usr/local/es
6.进行相关系统配置
### 新创建的coder用户最大可创建文件数太小,最大虚拟内存太小,需要更改
# ---更改最大可创建文件数---
vim /etc/security/limits.conf
# 增加如下两行配置
coder soft nofile 65536
coder hard nofile 65536
# 更改如下配置
vim /etc/security/limits.d/20-nproc.conf
# 增加如下三行配置
coder soft nofile 65536
coder hard nofile 65536
* hard nproc 4096
# ---更改最大虚拟内存大小---
vim /etc/sysctl.conf
# 增加如下一行配置
vm.max_map_count=655360
### 更改上面一些配置之后执行如下命令,系统加载所有配置
sysctl -p
7.切换到coder用户,启动es服务
### 切换到coder用户
su coder
### 进入到bin目录下
cd /usr/local/es/bin
### 启动elasticsearch服务
./elasticsearch
### 当看到端口时,说明服务启动成功