在脚本外面配置信息即可
#!/bin/bashinstall_es(){#配置信息HOSTNAME=`hostname`#所有节点NODE_1=node-1NODE_2=node-2NODE_3=node-3NODE_1_IP=10.0.0.21NODE_2_IP=10.0.0.22NODE_3_IP=10.0.0.23#启动用户明码es_userES_USER_PASSWORD=123cd /etc cat >> sysctl.conf <<EOF vm.max_map_count=262144EOFsysctl -pcd /usr/lib/sysctl.d/ cat >> 00-system.conf <<EOFnet.ipv4.ip_forward=1EOFsystemctl restart networkulimit -ncd /etc/security/cat >> limits.conf <<EOF* soft nofile 65535* hard nofile 65535* hard nproc 4096* soft nproc 4096EOF#创立es用户(ELK都用自建用户启动)useradd es_user#批改es用户明码echo "${ES_USER_PASSWORD}" | passwd --stdin es_user#同一目录mkdir -p {/data/software,/data/modules}cd /data/software/file="elasticsearch-7.16.1-linux-x86_64.tar.gz"if [ ! -f $file ]; then yum install -y wget && wget -c wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.16.1-linux-x86_64.tar.gz #exit 0fi#解压elasticsearch安装包cd /data/softwaretar -zxvf elasticsearch-7.16.1-linux-x86_64.tar.gz -C /data/modules/cd /data/modulesmv elasticsearch-7.16.1 escd /data/modules/es/configcat > elasticsearch.yml << EOF#node-1配置文件# 集群名称cluster.name: my-application# 集群节点名称node.name: ${HOSTNAME}# ES默认 只容许本地 127.0.0.1 和[::1] 拜访# 也能够设置成0.0.0.0 容许所有IP主机拜访# 如果不配置就默认认为是开发者模式,如果配置不正确会写入正告然而能正确运行# 如果配置了就会认为进入了生产环境, 如果配置不正确就会降级为异样,ES无奈正确启动。network.host: 0.0.0.0# 默认ES节点端口9200,如果是伪集群(在一台服务器上搭建集群),须要批改。http.port: 9200# 设置数据寄存门路,倡议批改这个门路到ES的装置文件夹里面,防止ES降级误删掉这个文件夹path.data: /data/modules/es/data/# 设置日志寄存门路,倡议批改这个门路到ES的装置文件夹里面,防止ES降级误删掉这个文件夹path.logs: /data/modules/es/log/# 发现其余节点主机配置 这里配置的是ES所在服务器的公网IP地址discovery.seed_hosts: ["${NODE_1_IP}:9300","${NODE_2_IP}:9300","${NODE_3_IP}:9300"]# 哪些节点能够被选举为主节点配置cluster.initial_master_nodes: ["${NODE_1}", "${NODE_2}","${NODE_3}"]EOF#配置内置JAVAcd /data/modules/es/bincat >> elasticsearch << EOFexport JAVA_HOME=/data/modules/es/jdkexport PATH=$JAVA_HOME/bin:$PATHEOFsleep 1s# 授予执行权限,modules文件夹权限受权给es_user 用户chmod u+x /data/modules/es/binchown -R es_user:es_user /data/modules/es# 将ES数据存储文件夹权限受权给es_user用户mkdir -p /data/modules/es/datachown -R es_user /data/modules/es/data# 将ES 日志存储文件夹权限受权给es_user用户mkdir -p /data/modules/es/log/chown -R es_user /data/modules/es/log/#端口firewall-cmd --zone=public --add-port=9200/tcp --permanent;firewall-cmd --zone=public --add-port=9300/tcp --permanent;firewall-cmd --zone=public --add-service=http --permanent;firewall-cmd --zone=public --add-service=https --permanent;firewall-cmd --reload;firewall-cmd --list-all;# 切换用户cd /data/modules/essu es_user}install_es
手动启动
./bin/elasticsearch