192.168.10.250 node1 M
192.168.10.251 node2
192.168.10.245 node3
#服务器初始化
echo '* soft nofile 65536' >> /etc/security/limits.conf
echo '* hard nofile 65536' >> /etc/security/limits.conf
echo '* soft memlock unlimited' >> /etc/security/limits.conf
echo '* hard memlock unlimited' >> /etc/security/limits.conf
ulimit -n
tail -2 /etc/security/limits.conf
echo 'vm.max_map_count=655360' >> /etc/sysctl.conf
sysctl -p
#创建用户
useradd es
#安装路径
mkdir /opt
#数据库和日志目录
mkdir /data/esearch/data -p
mkdir /data/esearch/logs -p
#启动日志/data/esearch/logs/YL.log
#下载安装
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.3.2-linux-x86_64.tar.gz
tar zxf elasticsearch-7.3.2-linux-x86_64.tar.gz
mv elasticsearch-7.3.2 /opt/elasticsearch
#配置
cat >> /opt/elasticsearch/config/elasticsearch.yml <<EOF
cluster.name: YL # 集群名称
node.name: node1 # 节点名称 node2 node3
node.master: true
node.data: true
path.data: /data/esearch/data # 索引存放路径
path.logs: /data/esearch/logs # 日志
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
http.cors.enabled: true #是否开启跨域访问
network.host: 192.168.10.251 #监听地址本机IP
network.publish_host: 192.168.10.251 #本机IP
http.port: 9200 #端口
transport.tcp.port: 9300 # 9300为集群服务的端口
#discovery.zen.ping.timeout: 30s #超时时间
#cluster.initial_master_nodes: ["192.168.10.251", "192.168.10.252", "192.168.10.253"]
discovery.seed_hosts: ["192.168.10.251:9300","192.168.10.252:9300","192.168.10.253:9300"]
cluster.initial_master_nodes: ["192.168.10.251:9300", "192.168.10.252:9300", "192.168.10.253:9300"]
#discovery.zen.fd.ping_timeout: 120s
#discovery.zen.fd.ping_retries: 6
#discovery.zen.fd.ping_interval: 30s
EOF
#安装kdk11 7版本需要
wget https://download.java.net/java/GA/jdk11/13/GPL/openjdk-11.0.1_linux-x64_bin.tar.gz
tar -xvf openjdk-11.0.1_linux-x64_bin.tar.gz -C /usr/local/
vim /opt/elasticsearch/bin/elasticsearch
#配置dk11目录
export JAVA_HOME=/usr/local/jdk-11.0.1
export PATH=$JAVA_HOME/bin:$PATH
#授权
chown es. /opt/elasticsearch -R
chown es. /data/esearch -R
chmod 777 /opt/elasticsearch/bin/
#复制安装目录到其他集群机器
#并且修改配置文件中node.name,network.host,network.publish_host
scp -r /opt/elasticsearch root@192.168.10.252:/opt/
scp -r /opt/elasticsearch root@192.168.10.253:/opt/
#启动
sh /opt/elasticsearch/bin/elasticsearch -d
#查看集群状态 * 为当前主节点
curl -XGET 'http://192.168.10.251:9200/_cat/nodes?v'
kill 掉node2 的主节点之后,主节点漂移到node3上,重启node2后悔会自动加入集群