Centos7 部署es三节点集群
目录
Centos7 部署es三节点集群
本地dev环境es已经降级为5.6.4
一、环境准备
环境要求清单来自于官方文档: https://www.elastic.co/guide/en/elasticsearch/reference/current/system-config.html
1.1、JDK
yum install -y java-1.8.0
1.2、禁用swap分区
#注释掉 /etc/fstab 中所有swap行
#查看内存状态
swapoff -a
2.3、调整文件句柄限制
vim /etc/security/limits.conf
... ...
#每个进程最大同时打开文件数大小
* soft nofile 65536
* hard nofile 65536
... ...
2.4、调整虚拟内存限制
vim /etc/sysctl.conf
... ...
#限制一个进城能够拥有的VMA(虚拟内存区域)的数量
vm.max_map_count = 655360
... ...
2.5、调整线程数量限制
vim /etc/security/limits.conf
... ...
#最大线程个数
* soft nproc 65535
* hard nproc 65535
... ...
二、部署es
2.1、下载es
wget https://repo.huaweicloud.com/elasticsearch/7.10.0/elasticsearch-7.10.0-linux-x86_64.tar.gz
tar xf elasticsearch-7.10.0-linux-x86_64.tar.gz
2.2、修改配置文件
文件内容修改可参考官方文档: https://www.elastic.co/guide/en/elasticsearch/reference/current/important-settings.html
vim config/elasticsearch.yml
... ...
#集群名称,三台节点必须一样
cluster.name: my-es
#节点名称,三台节点必须都不一样
node.name: node-1
#是否有资格被选举为主节点
node.master: true
#是否存储索引数据
node.data: true
#数据存储位置
path.data: /data/server-data/es
#日志存储位置
path.logs: /data/server-logs/es
#设置绑定的ip,也是与其他节点交互的ip
network.host: 0.0.0.0
#http访问端口
http.port: 9200
#节点之间交互的端口号
transport.tcp.port: 9300
#是否支持跨域
http.cors.enabled: true
#当设置允许跨域,默认为*,表示支持所有域名
http.cors.allow-origin: "*"
#集群中master节点的初始列表
discovery.zen.ping.unicast.hosts: ["10.10.101.36:9300","10.10.101.37:9300","10.10.101.38:9300"]
#设置几台符合主节点条件的节点为主节点以初始化集群(低版本不适用此配置项,es默认会把第一个加入集群的服务器设置为master)
#cluster.initial_master_nodes: ["node-1"]
... ...
2.3、加入systemctl管理
[Unit]
Description=ElasticSearch
Requires=network.service
After=network.service
[Service]
User=es
Group=es
LimitNOFILE=65536
LimitMEMLOCK=infinity
ExecStart=/data/server-side/es/bin/elasticsearch
SuccessExitStatus=143
[Install]
WantedBy=multi-user.target
2.4、查看集群状态
浏览器访问
http://[服务器IP]:9200/_cat/nodes?v