ElasticSearch 7.X系列之:Shell自动安装配置Elasticseach,设置开机自启动

15 篇文章 1 订阅
3 篇文章 0 订阅
该脚本主要进行Linux系统的内存信息获取、资源限制配置、系统控制文件修改、Elasticsearch配置文件调整以及用户添加、开机自启动设置等操作。它检查并更新了vm.max_map_count、vm.rmem_default等相关参数,并根据内存大小调整了Elasticsearch的JVM内存分配。此外,还涉及了JDK的安装和开机启动项的设置。
摘要由CSDN通过智能技术生成
#获取内存信息
echo  -e "\033[36m ---Start getting memory information... \033[0m"
mem_info=$(free -m | awk '/Mem/ {printf "%.0f\n",$2/1024/2 }')
if [ -z "$mem_info" ];then
    echo "      Did not get the memory info,aborting"
        exit 1
else
    if [ "$mem_info"  -ge 31 ];then
        $mem_info = 31
    fi
    echo "      Memory information acquistion completed!"
fi
#检查资源限制配置文件
echo -e "\033[36m ---Modify the resource limit profile:/etc/security/limits.conf... \033[0m"
limits_conf=$(grep nofile /etc/security/limits.conf | grep -v "^#")
if [ -z "$limits_conf" ];then
    echo "* soft nofile 65536
* hard nofile 131072
* soft nproc 4096
* hard nproc 4096"  >> /etc/security/limits.conf
    echo "      resource limit profile:/etc/security/limits.conf modified!"
#else
   #资源配置文件之前修改过
   # echo "资源限制配置文件/etc/security/limits.conf之前已经修改完成,本次退出修改。"
fi
#检查系统控制文件
echo  -e "\033[36m ---Modify system control file:/etc/sysctl.conf... \033[0m"
sysctl_conf1=$(grep "vm.max_map_count" /etc/sysctl.conf)
sysctl_conf2=$(grep "vm.rmem_default" /etc/sysctl.conf)
if [ -z "$sysctl_conf1" ];then
    echo "vm.max_map_count=655360" >> /etc/sysctl.conf
    sysctl -p    >>  /dev/null
        echo "      System control file:/etc/sysctl.conf modified!"
fi
if [ -z "$sysctl_conf2" ];then
    echo "net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216" >> /etc/sysctl.conf
    sysctl -p    >>  /dev/null
        echo "      System control file:/etc/sysctl.conf modified!"
fi
#修改elasticsearch配置文件
echo -e  "\033[36m ---Modify elasticsearch configuration file... \033[0m"
jvm_info=$(grep "^-Xms" $log_path/elasticsearch/config/jvm.options)
jvm_mem=$(echo ${jvm_info:4:1})
if [ "$jvm_mem" != "$mem_info" ];then
    sed -i 's/-Xms1g/-Xms'"$mem_info"'g/' $log_path/elasticsearch/config/jvm.options
    sed -i 's/-Xmx1g/-Xmx'"$mem_info"'g/' $log_path/elasticsearch/config/jvm.options
        echo "      jvm.options configuration file modified!"
fi
#检查是否有esuser普通用户
echo -e "\033[36m ---Useradd: esuser \033[0m"
es_proc=$(ps -aux | grep elasticsearch | grep -v grep | wc -l)
if [ $es_proc == 0 ];then
    user=$(grep -w esuser /etc/passwd | awk -F":" '{print $1}')
    if [ "$user" == "" ];then
        groupadd esuser
        useradd -g esuser esuser
    fi
fi
#添加elasticsearch到开机自启动
echo -e  "\033[36m ---Add es boot--- \033[0m"
chkconfig esstart
if [  $? -ne 0 ] || [ -z "$(grep -e $log_path /etc/init.d/esstart)"  ];then
    echo "#!/bin/sh
#chkconfig: 2345 80 90
#description:auto_run
su - esuser<<!
cd ${log_path}/elasticsearch/bin
./elasticsearch -d
exit
!"  > /etc/init.d/esstart
    chmod +x /etc/init.d/esstart
    chkconfig --add /etc/init.d/esstart
    echo "      Es boot compeleted!"
fi
#安装jdk
path=$(dirname `pwd`)"/tools"
cd $path
#rpm_array=find . -name ".*rpm"|sed '1d'
rpm_array=$(find . -name "*.rpm")
for i in $rpm_array
do
        #rpm -ivh $i
        rpm -ivh jre-8u211-linux-x64.rpm
done
echo -e "\033[31m in:" $path " All rpm has benn installed! \033[0m"

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值