es版本:5.6.16

1.前期准备

  1. jdk1.8
  2. elasticsearch-5.6.16.tar.gz
  3. 三台配置一样的机器

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]

  1. vim /etc/security/limits.conf
  2. 追加以下内容:
  3. * soft nofile 65536
  4. * hard nofile 65536
  5. vim /etc/sysctl.conf
  6. 追加以下内容:
  7. vm.max_map_count=655360
  8. 执行命令:
  9. sysctl -p

2.3.新增es用户组

  1. #添加用户组添加用户
  2. groupadd es
  3. useradd es -g es

2.4.创建es目录并赋权

  1. #解压 elasticsearch-5.6.16.tar.gz 至 /data 文件夹下
  2. tar -zxvf elasticsearch-5.6.16.tar.gz -C /data
  3. #更改目录 Owner
  4. chown -R es:es /data/elasticsearch-5.6.16

2.5.切换至es用户

su es

2.6.修改 config 包下配置文件 elasticsearch.yml

vim /data/elasticsearch-5.6.16/config/elasticsearch.yml

  1. # 设置集群名称,集群内所有节点的名称必须一致。
  2. cluster.name: jsnx
  3. # es数据位置
  4. #path.data: /data/es/data
  5. # es日志位置
  6. #path.logs: /data/es/logs
  7. #设置节点名称,集群内节点名称必须唯一。
  8. node.name: node1
  9. # 表示该节点会不会作为主节点,true表示会;false表示不会
  10. node.master: true
  11. # 当前节点是否用于存储数据,是:true、否:false
  12. node.data: true
  13. # 监听地址,用于访问该es
  14. network.host: 0.0.0.0
  15. # es对外提供的http端口,默认 9200
  16. http.port: 9200
  17. # TCP的默认监听端口,默认 9300
  18. transport.tcp.port: 9300
  19. # 设置这个参数来保证集群中的节点可以知道其它N个有master资格的节点。默认为1,对于大的集群来说,可以设置大一点的值(2-4)
  20. discovery.zen.minimum_master_nodes: 1
  21. # 节点地址
  22. discovery.zen.ping.unicast.hosts: ["服务器1:9300","服务器2:9300","服务器3:9300"]
  23. # 是否支持跨域,是:true,在使用head插件时需要此配置
  24. http.cors.enabled: true
  25. # “*” 表示支持所有域名
  26. http.cors.allow-origin: "*"
  1. cluster.name: es-cluster
  2. node.name: es01
  3. path.data: /home/es/es/data/es01
  4. path.logs: /home/es/es/log/es01
  5. network.host: localhost
  6. http.port: 9200
  7. transport.port: 9205
  8. discovery.seed_hosts: ["localhost:9205", "localhost:9206", "localhost:9207"]
  9. cluster.initial_master_nodes: ["es01", "es02", "es03"]
  10. node.master: true
  11. node.data: true
  12. http.cors.enabled: true
  13. http.cors.allow-origin: "*"

2.7.修改 config 包下配置文件 jvm.options

  1. #修改一下两个配置,为服务器内存的一半
  2. -Xms8g
  3. -Xmx8g

2.8.启动服务器1上的es

  1. # 进入es目录
  2. cd /data/elasticsearch-5.6.16
  3. # 前台启动,查看日志是否正常
  4. ./bin/elasticsearch
  5. # 启动正常后,ctrl c关掉进程,开始配置服务器2

2.9.部署服务器2,服务器3

  1. 服务器2,服务器3先执行2.12.22.32.4操作
  2. 再服务器1上执行scp命令
  3. scp /data/elasticsearch-5.6.16/config/elasticsearch.yml root@服务器2:/data/elasticsearch-5.6.16/config
  4. scp /data/elasticsearch-5.6.16/config/jvm.options root@服务器2:/data/elasticsearch-5.6.16/config
  5. scp /data/elasticsearch-5.6.16/config/elasticsearch.yml root@服务器3:/data/elasticsearch-5.6.16/config
  6. scp /data/elasticsearch-5.6.16/config/jvm.options root@服务器3:/data/elasticsearch-5.6.16/config
  7. 服务器2进入es用户,修改elasticsearch.yml中的node.name,改为node2
  8. 服务器3进入es用户,修改elasticsearch.yml中的node.name,改为node3

3.0.依次后台启动三台服务器的es

  1. 服务器123依次执行
  2. cd /data/elasticsearch-5.6.16
  3. ./bin/elasticsearch -d
  4. 查看日志:
  5. cd /data/elasticsearch-5.6.16/logs
  6. tail -200f jsnx.log