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

9次阅读

共计 2348 个字符,预计需要花费 6 分钟才能阅读完成。

在脚本外面配置信息即可

#!/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
正文完
 0