- 一、集群服务器配置信息
- 二、安装 JDK
- 三、下载 ElasticSearch 安装包并解压
- 四、创建用于存放数据与日志的目录
- 五、集群配置
- 5.1 节点1配置
- 5.2 其他节点配置
- 六、JVM 配置
- 七、修改系统配置
- 7.1 针对bootstrap.memory_lock: true的系统设置
- 7.2 max_map_count、file-max、swappiness
- 八、启动
- 九、其他
| 服务器IP | 配置 |
|---|---|
| 10.110.25.134 | 节点1 |
| 10.110.25.151 | 节点2 |
| 10.110.25.226 | 节点3 |
| 10.110.15.43 | 节点4 |
| 10.110.15.46 | 节点5 |
下载es安装包上传到三台服务器上解压。
添加用户:
useradd es
上传文件解压:
cd /home/es chown es elasticsearch-7.6.1-linux-x86_64.tar.gz chown es elasticsearch-analysis-ik-7.6.1.zip su - es tar -zxvf elasticsearch-7.6.1-linux-x86_64.tar.gz unzip elasticsearch-analysis-ik-7.6.1.zip -d /home/es/elasticsearch-7.6.1/plugins/ik四、创建用于存放数据与日志的目录
mkdir -p /home/es/data mkdir -p /home/es/log五、集群配置 5.1 节点1配置
echo '' > /home/es/elasticsearch-7.6.1/config/elasticsearch.yml vim /home/es/elasticsearch-7.6.1/config/elasticsearch.yml
cluster.name: fuxy_es_cluster #节点名称,要唯⼀ node.name: es_node_1 #数据存放位置 path.data: /home/es/data #⽇志存放位置 path.logs: /home/es/log #es绑定的ip地址,开放⽹卡地址 network.host: 10.110.25.134 #是否开启master ⻆⾊选举 node.master: true # 是否开启数据节点⻆⾊ node.data: true #是否锁住内存,避免交换(swapped)带来的性能损失,默认值是: false bootstrap.memory_lock: true #以下两项是外部访问http需要开启的项 #启⽤跨域资源共享 http.cors.enabled: true http.cors.allow-origin: "*" # 开放端⼝号 http.port: 9200 # 集群间传输端⼝号 transport.tcp.port: 9300 # 集群主节点配置 discovery.seed_hosts: ["10.110.25.134","10.110.25.151","10.110.25.226"] # 集群初始化 master 节点。只填备选主节点,初始化时读取。 cluster.initial_master_nodes: ["es_node_1","es_node_2","es_node_3"]5.2 其他节点配置
仅修改:
node.name
network.host
4和5不参与选举
node.master: false
vim /home/es/elasticsearch-7.6.1/config/jvm.options
1、log4j2漏洞缓解方案
-Dlog4j2.formatMsgNoLookups=true七、修改系统配置
注意>>是追加,>是覆盖,不要弄错。
7.1 针对bootstrap.memory_lock: true的系统设置1、切换root,修改/etc/security/limits.conf
exit vim /etc/security/limits.conf
文件最后添加以下内容:
* soft nofile 65536 * hard nofile 65536 * soft nproc 32000 * hard nproc 32000 * hard memlock unlimited * soft memlock unlimited
2、修改/etc/systemd/system.conf
vim /etc/systemd/system.conf
分别修改以下内容:
DefaultLimitNOFILE=65536 DefaultLimitNPROC=32000 DefaultLimitMEMLOCK=infinity
说明:
* soft nofile 65536 * hard nofile 65536
此设置修改后需要重新登录用户,才会生效。登录后使用 ulimit -S -n 和 /ulimit -H -n 查看参数。
若不修改会报错:
max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]7.2 max_map_count、file-max、swappiness
max_map_count文件包含限制一个进程可以拥有的VMA(虚拟内存区域)的数量。
如不修改会报错:
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
file-max是设置 系统所有进程一共可以打开的文件数量。
vm.swappiness=0意味用于在任何情况下都不要发生内存交换。需改为1.
使用root用户执行:
echo -e 'vm.max_map_count=655360 nfs.file-max=655360 nvm.swappiness=1' >> /etc/sysctl.conf sysctl -p #使修改生效
如报错:
sysctl: cannot stat /proc/sys/–p: No such file or directory
先执行:
modprobe br_netfilter ls /proc/sys/net/bridge
echo -e '* soft nproc 4096n' >> /etc/security/limits.d/90-nproc.conf sysctl -p八、启动
su - es /home/es/elasticsearch-7.6.1/bin/elasticsearch -d tail -100f /home/es/log/fuxy_es_cluster.log九、其他
查看集群健康状态
http://10.110.25.134:9200/_cluster/health?pretty=true



