关于elk:Centos7一键部署elasticsearch脚本

在脚本外面配置信息即可

#!/bin/bash
install_es(){

#配置信息
HOSTNAME=`hostname`
#所有节点
NODE_1=node-1
NODE_2=node-2
NODE_3=node-3
NODE_1_IP=10.0.0.21
NODE_2_IP=10.0.0.22
NODE_3_IP=10.0.0.23
#启动用户明码es_user
ES_USER_PASSWORD=123

cd /etc
    cat >> sysctl.conf <<EOF
    vm.max_map_count=262144
EOF
sysctl -p

cd /usr/lib/sysctl.d/
    cat >> 00-system.conf <<EOF
net.ipv4.ip_forward=1
EOF
systemctl restart network

ulimit -n
cd /etc/security/
cat >> limits.conf <<EOF
*               soft    nofile          65535
*               hard    nofile          65535
*               hard    nproc           4096
*               soft    nproc           4096
EOF

#创立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 0
fi
#解压elasticsearch安装包
cd /data/software
tar -zxvf elasticsearch-7.16.1-linux-x86_64.tar.gz -C /data/modules/
cd /data/modules
mv elasticsearch-7.16.1 es

cd /data/modules/es/config
cat > 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

#配置内置JAVA
cd /data/modules/es/bin
cat >> elasticsearch << EOF
export JAVA_HOME=/data/modules/es/jdk
export PATH=$JAVA_HOME/bin:$PATH
EOF
sleep 1s
# 授予执行权限,modules文件夹权限受权给es_user 用户
chmod u+x  /data/modules/es/bin
chown -R es_user:es_user /data/modules/es
# 将ES数据存储文件夹权限受权给es_user用户
mkdir -p /data/modules/es/data
chown -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/es
su es_user
}
install_es

手动启动

./bin/elasticsearch

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理