ElasticSearch|ElasticSearch 构建ES集群

引言
操作手册

  1. 在集群的每个节点上,将ElasticSearch的单节点安装好
  2. 修改配置文件elasticsearch.ymlcluster.name(集群名称)配置,要求所有节点配置一致。
  3. 修改配置文件的http.port9200,所有节点配置统一
配置文件elasticsearch.yml修改内容如下:
#如果某台机器里面有数据,需要清空,否则三节点无法同步,目录没有则需要先创建。 path.data: /home/ozan/elasticsearch-6.4.2/data path.logs: /home/ozan/elasticsearch-6.4.2/logs # 不同节点修改不同的编号 node.name: node-1 discovery.zen.ping.unicast.hosts: ["192.168.23.141", "192.168.23.142","192.168.23.143", "192.168.23.144", "192.168.23.145"]cluster.name: elasticsearch node.master: true # 因为ES默认配置,外部机器是访问不了的,只能闭环访问。可以通过修改配置文件network.host network.host: 0.0.0.0 http.port: 9200 discovery.zen.minimum_master_nodes: 3 http.cors.enabled: true http.cors.allow-origin:"*" bootstrap.memory_lock: true

如果修改了network.host: 0.0.0.0ES会认为你现在是生产环境,然后启动的时候就会对环境做出各种各样的检查:bootstrap checks,确保你的环境不会出现问题。
如果为单节点启动,添加如下配置:
#如果某台机器里面有数据,需要清空,否则三节点无法同步,目录没有则需要先创建。 path.data: /home/ozan/elasticsearch-6.4.2/data path.logs: /home/ozan/elasticsearch-6.4.2/logs # 不同节点修改不同的编号 node.name: node-1 cluster.name: elasticsearch # 因为ES默认配置,外部机器是访问不了的,只能闭环访问。可以通过修改配置文件network.host network.host: 0.0.0.0 http.port: 9200 http.cors.enabled: true http.cors.allow-origin:"*" bootstrap.memory_lock: true discovery.type: single-node

启动ES服务,出现异常:
ERROR: [3] bootstrap checks failed [1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536] [2]: max number of threads [3802] for user [es] is too low, increase to at least [4096] [3]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

解决方案(切换到root用户):
[root@localhost elasticsearch-6.4.0]# vim /etc/security/limits.conf # 添加以下内容 *softnofile65536 *hardnofile131072 *softnproc2048 *hardnproc4096[root@localhost elasticsearch-6.4.0]# vim /etc/sysctl.conf # 添加以下内容 vm.max_map_count=655360 [root@localhost elasticsearch-6.4.0]# sysctl -p vm.max_map_count = 655360

【ElasticSearch|ElasticSearch 构建ES集群】测试访问!

    推荐阅读