ElasticSearch 构建ES集群
2020-03-26 本文已影响0人
OzanShareing
引言
操作手册
- 在集群的每个节点上,将
ElasticSearch
的单节点安装好 - 修改配置文件
elasticsearch.yml
的cluster.name
(集群名称)配置,要求所有节点配置一致。 - 修改配置文件的
http.port
为9200
,所有节点配置统一
配置文件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.0
,ES
会认为你现在是生产环境,然后启动的时候就会对环境做出各种各样的检查: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
# 添加以下内容
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
[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
测试访问!