es版本:5.6.16
1.前期准备
jdk1.8
elasticsearch-5.6.16.tar.gz
三台配置一样的机器
2.部署步骤
2.1.进入服务器1,切换root用户
2.2.开放防火墙权限
解决启动报错: ERROR: [2] bootstrap checks failed [1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536] [2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
vim /etc/security/limits.conf
追加以下内容:
* soft nofile 65536
* hard nofile 65536
vim /etc/sysctl.conf
追加以下内容:
vm.max_map_count=655360
执行命令:
sysctl -p
2.3.新增es用户组
#添加用户组添加用户
groupadd es
useradd es -g es
2.4.创建es目录并赋权
#解压 elasticsearch-5.6.16.tar.gz 至 /data 文件夹下
tar -zxvf elasticsearch-5.6.16.tar.gz -C /data
#更改目录 Owner
chown -R es:es /data/elasticsearch-5.6.16
2.5.切换至es用户
2.6.修改 config 包下配置文件 elasticsearch.yml
vim /data/elasticsearch-5.6.16/config/elasticsearch.yml
# 设置集群名称,集群内所有节点的名称必须一致。
cluster.name: jsnx
# es数据位置
#path.data: /data/es/data
# es日志位置
#path.logs: /data/es/logs
#设置节点名称,集群内节点名称必须唯一。
node.name: node1
# 表示该节点会不会作为主节点,true表示会;false表示不会
node.master: true
# 当前节点是否用于存储数据,是:true、否:false
node.data: true
# 监听地址,用于访问该es
network.host: 0.0.0.0
# es对外提供的http端口,默认 9200
http.port: 9200
# TCP的默认监听端口,默认 9300
transport.tcp.port: 9300
# 设置这个参数来保证集群中的节点可以知道其它N个有master资格的节点。默认为1,对于大的集群来说,可以设置大一点的值(2-4)
discovery.zen.minimum_master_nodes: 1
# 节点地址
discovery.zen.ping.unicast.hosts: ["服务器1:9300","服务器2:9300","服务器3:9300"]
# 是否支持跨域,是:true,在使用head插件时需要此配置
http.cors.enabled: true
# “*” 表示支持所有域名
http.cors.allow-origin: "*"
cluster.name: es-cluster
node.name: es01
path.data: /home/es/es/data/es01
path.logs: /home/es/es/log/es01
network.host: localhost
http.port: 9200
transport.port: 9205
discovery.seed_hosts: ["localhost:9205", "localhost:9206", "localhost:9207"]
cluster.initial_master_nodes: ["es01", "es02", "es03"]
node.master: true
node.data: true
http.cors.enabled: true
http.cors.allow-origin: "*"
2.7.修改 config 包下配置文件 jvm.options
#修改一下两个配置,为服务器内存的一半
-Xms8g
-Xmx8g
2.8.启动服务器1上的es
# 进入es目录
cd /data/elasticsearch-5.6.16
# 前台启动,查看日志是否正常
./bin/elasticsearch
# 启动正常后,ctrl c关掉进程,开始配置服务器2
2.9.部署服务器2,服务器3
服务器2,服务器3先执行2.1,2.2,2.3,2.4操作
再服务器1上执行scp命令
scp /data/elasticsearch-5.6.16/config/elasticsearch.yml root@服务器2:/data/elasticsearch-5.6.16/config
scp /data/elasticsearch-5.6.16/config/jvm.options root@服务器2:/data/elasticsearch-5.6.16/config
scp /data/elasticsearch-5.6.16/config/elasticsearch.yml root@服务器3:/data/elasticsearch-5.6.16/config
scp /data/elasticsearch-5.6.16/config/jvm.options root@服务器3:/data/elasticsearch-5.6.16/config
服务器2进入es用户,修改elasticsearch.yml中的node.name,改为node2
服务器3进入es用户,修改elasticsearch.yml中的node.name,改为node3
3.0.依次后台启动三台服务器的es
服务器1,2,3依次执行
cd /data/elasticsearch-5.6.16
./bin/elasticsearch -d
查看日志:
cd /data/elasticsearch-5.6.16/logs
tail -200f jsnx.log