centos7下elasticsearch7.5集群搭建
一、安装JDK(最好java11以上版本)
二、安装elasticsearch
2.1 下载
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.5.0-linux-x86_64.tar.gz
2.2 解压
tar -xf elasticsearch-7.5.0-linux-x86_64.tar.gz -C /opt/
2.3 修改配置文件
cluster.name: escluster #设置集群名字
index.number_of_shards: 3 #设置es索引分片数量,分布式存储,提高查询效率等
index.number_of_replicas: 1 #设置分片副本数量,提供数据高可用
node.name: es01 #设置本节点名字,另外2台可依次02、03
path.data: /data/es_data #设置es索引数据存放位置
network.host: 192.168.18.7 #设置此节点绑定IP(允许外网访问设置为0.0.0.0)
discovery.zen.ping.unicast.hosts: ["192.168.18.7", "192.168.18.8", "192.168.18.9"] #设置集群节点成员
2.4 参数详解
1、node.attr.rack指定节点的部落属性,这是一个比集群更大的范围。
2、node.master指定是否为主节点。该属性可不指定,节点之间自主选举。
3、node.data指定是否存储数据(数据节点)
4、cluster.initial_master_nodes参数:你可以通过为 cluster.initial_master_nodes 参数设置一系列符合主节点条件的节点的主机名或 IP 地址来引导启动集群。你可以在命令行或 elasticsearch.yml 中提供这些信息。你还需要配置发现子系统,这样节点就知道如何找到彼此。
2.5 jvm.options配置
图片.png
-Xms1g Xms表示总堆空间的初始大小
-Xmx1g Xmx表示总堆空间的最大大小
注意:配置的数值不要超过机器内存的50%
2.6 启动es
elasticsarch不能用root用户启动,需要将elasticsearch加到普通用户组
chown -R forest /opt/elasticsearch-7.5.0
进入/opt/elasticsearch-7.5.0/bin目录,执行:
./elasticsearch -d 启动并后台运行
三、错误集锦
-
seccomp unavailable 错误
解决方法:elasticsearch.yml 配置
bootstrap.memory_lock: false -
max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]
解决方法:修改 /etc/security/limits.conf,配置:
elasticsearch soft nofile 65535 #软限 此处elasticsearch为启动用户
elasticsearch hard nofile 65535 #硬限 -
max virtual memory areas vm.maxmapcount [65530] is too low
解决方法:修改 /etc/sysctl.conf,添加 :
vm.max_map_count=262144
然后 sysctl -p 生效 -
the default discovery settings are unsuitable...., last least one of [....] must be configured
解决方法:elasticsearch.yml 开启配置:
node.name: node-1
cluster.initial_master_nodes: ["node-1", "node-2"]