編寫Elastic Search+Kibana單機集羣環境啓停腳本

啓動ES集羣環境+後臺啓動kibana

#! /bin/bash
echo "請選擇啓動的集羣數量:"
# readz關鍵字聲明一個變量用於接收用戶輸入的參數
read num
# 進入到elastic search的工作目錄
cd /apps/elasticsearch-7.6.0/bin
# 輸出當前工作路徑
pwd
#定義變量curr_node
curr_node=0

# while循環,循環啓動集羣
while(($curr_node < $num))
# while循環體開始關鍵字
do

# 定義三個變量
nodeName=node$[$curr_node+1]
dataPath=/apps/cluster_elasticsearch/$nodeName/data
logsPath=/apps/cluster_elasticsearch/$nodeName/logs

# 判斷數據目錄是否存在,不存在即創建
if [ ! -e $dataPath ]
then 
    echo "${dataPath}不存在"
    mkdir -p $dataPath
    echo "${dataPath}創建成功"
fi


if [ ! -e $logsPath ]
then  
    echo "${logsPath}不存在"
    mkdir -p $logsPath
    echo "${logsPath}創建成功"
fi

# 動態拼接啓動腳本命令,依次執行啓動命令
./elasticsearch  -d -E node.name=node-$[$curr_node+1] -E http.port=$[9200+$curr_node] -E transport.port=$[9300+$curr_node] -E path.data=${dataPath} -E path.logs=${logsPath}

# 輸出信息
echo "node-"$[$curr_node+1]"啓動中..."

# 讓變量自身+1
let "curr_node++"

# while循環體結束關鍵字
done
echo "Elastic Search ${num}個節點啓動中"

echo "是否需要啓動kibana:[請輸入y/n]"
read kibana_flag
if [ $kibana_flag == "y" ]
then
   cd /apps/kibana-7.6.0-linux-x86_64
   pwd
   nohup ./bin/kibana > logs/kibana.out & $1 > logs/kibana.pid
   echo "kibana啓動中"
fi

停止ES集羣環境+kibana環境

#! /bin/bash

# 停止ES集羣環境
kill -9 `ps -ef | grep elasticsearch | grep -v grep | awk '{print $2}'`

# 停止Kibana並刪除產生的pid文件
kill -9 `cat /apps/kibana-7.6.0-linux-x86_64/logs/kibana.pid`
rm -f /apps/kibana-7.6.0-linux-x86_64/logs/kibana.pid

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章