1. 下面是三台服务器的一些基本信息
ip | 监听端口 | 主机名称 | 系统版本 | 配置信息 | es实例名称 | es版本 |
---|---|---|---|---|---|---|
172.16.50.51 | 9200/9300 | es01 | centos7 | 2u4g | es01 | 7.6 |
172.16.50.52 | 9200/9300 | es02 | centos7 | 2u4g | es02 | 7.6 |
172.16.50.53 | 9200/9300 | es03 | centos7 | 2u4g | es03 | 7.6 |
2. 在三台服务器上面执行下面的命令,执行一些初始化工作
# 创建es运行时的用户
useradd -s /bin/bash -U elasticsearch
#修改 elasticsearch 系统文件打开数
cat << EOF >> /etc/security/limits.conf
elasticsearch soft nofile 65536
elasticsearch hard nofile 65536
EOF
#修改 max_map_count 值
sysctl -w vm.max_map_count=655360
echo 'vm.max_map_count=655360' >> /etc/sysctl.conf
sysctl -p
3. 在三台服务器上面执行一下命令,安装es到opt目录下面
cd /opt && wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.6.1-linux-x86_64.tar.gz
tar zxvf elasticsearch-7.6.1-linux-x86_64.tar.gz && mv elasticsearch-7.6.1 elasticsearch
mkdir -p /opt/elasticsearch/data && mkdir -p /opt/elasticsearch/logs && mkdir -p /opt/elasticsearch/config/certs
chown -Rf elasticsearch.elasticsearch /opt/elasticsearch
4. 在任一台服务器上面运行以下命令生产证书用于集群间的加密通信,并将生成的elastic-certificates.p12文件复制到另外两台服务器上面的/opt/elasticsearch/config/certs目录下
/opt/elasticsearch/bin/elasticsearch-certutil cert -out /opt/elasticsearch/config/certs/elastic-certificates.p12 -pass ""
5.修改172.16.50.51这台服务器/opt/elasticsearch/config/elasticsearch.yml配置文件如下内容:
cluster.name: es-cluster
node.name: es01
node.master: true
node.data: true
path.data: /opt/elasticsearch/data
path.logs: /opt/elasticsearch/logs
network.host: 172.16.50.51
http.port: 9200
network.tcp.no_delay: true
network.tcp.keep_alive: true
network.tcp.reuse_address: true
network.tcp.send_buffer_size: 128mb
network.tcp.receive_buffer_size: 128mb
transport.tcp.port: 9300
transport.tcp.compress: true
discovery.zen.ping.unicast.hosts: ["172.16.50.51", "172.16.50.52","172.16.50.53"]
discovery.zen.minimum_master_nodes: 2
cluster.initial_master_nodes: ["172.16.50.51:9300","172.16.50.52:9300","172.16.50.53:9300"]
cluster.fault_detection.leader_check.interval: 5s
cluster.max_shards_per_node: 100000
cluster.join.timeout: 20s
cluster.publish.timeout: 60s
cluster.routing.allocation.cluster_concurrent_rebalance: 4
cluster.routing.allocation.node_concurrent_recoveries: 8
cluster.routing.allocation.node_initial_primaries_recoveries: 8
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: certs/elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: certs/elastic-certificates.p12
6. 172.16.50.52的配置文件只需要修改node.name为es02,network.host修改为172.16.50.52即可
7. 172.16.50.53的配置文件只需要修改node.name为es03,network.host修改为172.16.50.53即可
8. 启动es,可以参考 使用supervisor运行elasticsearch
9. 最后在任一台服务器使用以下命令自动生产es的各种连接密码
/opt/elasticsearch/bin/elasticsearch-setup-passwords auto
参考文章: https://abcops.cn/archives/1192