###################################################################################################
# File Name :esinstall.sh #
# Author :dinmin #
# mail :103482702@qq.com #
# Created Time :2021.12.24 #
# version : v0.1 #
###################################################################################################
#!/bin/bash
TOOLS=/server/tools
ESPATH=$TOOLS/elasticsearch
ESCONPATH=$ESPATH/config
ESBINPATH=$ESPATH/bin
function tarfile(){
if [ -d $TOOLS ]
then
cd $TOOLS && tar -zxvf elasticsearch-7.9.3-linux-x86_64.tar.gz
mv elasticsearch-7.9.3/ elasticsearch/
else
echo "目录不存在,请检查!!!"
fi
}
function configesfiles(){
if [ -d $ESPATH ]
then
sed -i '17c cluster.name: fangsheng-application' /server/tools/elasticsearch/config/elasticsearch.yml
sed -i '23c node.name: node-1' /server/tools/elasticsearch/config/elasticsearch.yml
sed -i '33c path.data: /server/tools/elasticsearch/data' /server/tools/elasticsearch/config/elasticsearch.yml
sed -i '37c path.logs: /server/tools/elasticsearch/logs' /server/tools/elasticsearch/config/elasticsearch.yml
sed -i '55c network.host: 0.0.0.0' /server/tools/elasticsearch/config/elasticsearch.yml
sed -i '59c http.port: 9200' /server/tools/elasticsearch/config/elasticsearch.yml
sed -i '72c cluster.initial_master_nodes: ["node-1"]' /server/tools/elasticsearch/config/elasticsearch.yml
sed -i '89c http.cors.enabled: true' /server/tools/elasticsearch/config/elasticsearch.yml
sed -i '90c http.cors.allow-origin: "*"' /server/tools/elasticsearch/config/elasticsearch.yml
sed -i '31c -Xms1g' /server/tools/elasticsearch/config/jvm.options
sed -i '32c -Xmx1g' /server/tools/elasticsearch/config/jvm.options
else
echo "目录不存在,请检查!!!"
exit 1
fi
}
function configsystem(){
sed -i '$a export JAVA_HOME=/server/tools/elasticsearch/jdk' /etc/profile
sed -i '$a export PATH=$JAVA_HOME/bin:$PATH' /etc/profile
sed -i '$a export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar' /etc/profile
sed -i '$a * soft nofile 655360' /etc/security/limits.conf
sed -i '$a * hard nofile 655360' /etc/security/limits.conf
sed -i '$a * soft nproc 4096' /etc/security/limits.conf
sed -i '$a * hard nproc 4096' /etc/security/limits.conf
sed -i '$a vm.max_map_count=655360' /etc/sysctl.conf
sysctl -p
}
function user(){
id -u es >/dev/null 2>&1
if [ $? -eq 0 ]
then
echo "用户已存在!"
chown -R es:es /server/tools/elasticsearch
else
useradd es
chown -R es:es /server/tools/elasticsearch
fi
}
tarfile
configesfiles
configsystem
user