一. elasticsearch.yml配置
network.host: "172.16.0.4"
#这里可以是内网ip、机器名
bootstrap.mlockall: true
discovery.zen.ping.multicast.enabled: false
#禁止掉多播
discovery.zen.minimum_master_nodes: 2
#(number of master-eligible nodes / 2) + 1 即 :(有master潜力的节点/2 )+1
discovery.zen.ping.unicast.hosts: ["172.16.0.4", "172.16.0.6"]
#这里配置的IP为master潜力节点的内网IP地址
path:
data: ["G:/elasticsearch/Data","X:/"]
#es擎住的数据的存放地址。linux虚拟机中需要挂载磁盘作为存放目录。
#cluster.routing.allocation.enable : "all"
#indices.fielddata.cache.size : "75%"
indices.recovery.max_bytes_per_sec: 100mb
#这个配不之配置不影响集群运行,可以不写
node.master: true
#设置为true,表示为master潜力节点
node.data: false
#表示为非数据节点
node.name: ${COMPUTERNAME}
#设置节点名称
二. 系统文件配置
es_heap_size=$(free -m |grep Mem | awk '{if ($2/2 >31744) print 31744;else print $2/2;}')
# 设置es的heap_size。一般取内存的一半,但是不大于32G
sudo printf "\nES_HEAP_SIZE=%sm\n" $es_heap_size >> /etc/default/elasticsearch
sudo printf "MAX_LOCKED_MEMORY=unlimited\n" >> /etc/default/elasticsearch
# 如果在elasticsearch.yml设置了bootstrap.mlockall: true,此处应该设置为unlimited。并且需要设置上述的es_heap_size
sudo echo "elasticsearch - nofile 65536" >> /etc/security/limits.conf
#设置elasticsearch的最大文件打开数位65536
sudo echo "elasticsearch - memlock unlimited" >> /etc/security/limits.conf
#sudo service elasticsearch restart
#sudo update-rc.d elasticsearch defaults 95 10
#查看是否设置成功
检查内存是否配置成功