elasticsearch集群部署,及采坑问题

1,官网下载安装包

2,解压安装包到指定的目录

tar -zxvf elasticsearch-6.5.4.tar.gz

3,重命名

mv elasticsearch-6.2.1  elasticsearch

4,创建数据存放路径(应将设置配置为在Elasticsearch主目录之外定位数据目录,以便在不删除数据的情况下删除主目录!)

mkdir -p /home/data/es

5,建立用户并授权(es不能用root运行)

groupadd es 

useradd es -g es

passwd es

chown -R es.es /home/elasticsearch /home/data/es

6,修改elasticsearch配置文件

vi /home/elasticsearch/config/elasticsearch.yml 将配置文件以下内容进行修改:

#集群的名称
cluster.name: es6.2
#节点名称,其余两个节点分别为node-2 和node-3
node.name: node-1
#指定该节点是否有资格被选举成为master节点,默认是true,es是默认集群中的第一台机器为master,如果这台机挂了就会重新选举master
node.master: true

bootstrap.memory_lock: false

bootstrap.system_call_filter: false

#允许该节点存储数据(默认开启)
node.data: true
#索引数据的存储路径
path.data: /home/data/es
#日志文件的存储路径
path.logs: /home/data/es/logs
#设置为true来锁住内存。因为内存交换到磁盘对服务器性能来说是致命的,当jvm开始swapping时es的效率会降低,所以要保证它不swap
bootstrap.memory_lock: true
#绑定的ip地址
network.host: 0.0.0.0
#设置对外服务的http端口,默认为9200
http.port: 9200
# 设置节点间交互的tcp端口,默认是9300
transport.tcp.port: 9300
#Elasticsearch将绑定到可用的环回地址,并将扫描端口9300到9305以尝试连接到运行在同一台服务器上的其他节点。
#这提供了自动集群体验,而无需进行任何配置。数组设置或逗号分隔的设置。每个值的形式应该是host:port或host
#(如果没有设置,port默认设置会transport.profiles.default.port 回落到transport.tcp.port)。
#请注意,IPv6主机必须放在括号内。默认为127.0.0.1, [::1]
discovery.zen.ping.unicast.hosts: ["192.168.8.101:9300", "192.168.8.103:9300", "192.168.8.104:9300"]
#如果没有这种设置,遭受网络故障的集群就有可能将集群分成两个独立的集群 - 分裂的大脑 - 这将导致数据丢失

discovery.zen.minimum_master_nodes: 3

#配置此项为外网可以连接

http.cors.enabled: true

http.cors.allow-origin: "*"

7,启动

su es 

/home/elasticsearch/bin/elasticsearch -d

8,坑问题

启动发现报错:

elasticsearch集群部署,及采坑问题

解决方法:

su root

vim /etc/security/limits.conf

* soft nofile 65536 

* hard nofile 65536

 * soft nproc 2048

 * hard nproc 4096

vi /etc/sysctl.conf

vm.max_map_count=655360

改完之后需要推出终端,重新连接,然后再次启动es

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzsxgj.html