linux通過腳本啟動集群zookeeper


當搭建集群后,每次重新啟動都需手動啟動每台服務器的zookeeper,當服務器數量增多后,這樣會顯得很繁瑣,所以就需要有一個腳本,通過一台機器,利用集群機器間傳輸命令ssh即可實現一鍵啟動。

首先貼上腳本底層所需知識。

#export A=1 定義的變量,會對自己所在的shell進程及其子進程生效   (相當於java中的把局部變量升級為全局變量)

#B=1 定義的變量,只對自己所在的shell進程生效(定義在外界為全局變量,定義在文件里就相當於局部變量)

#在script.sh中定義的變量,在當前登錄的shell進程中 source script.sh時,腳本中定義的變量也會進入當前登陸的shell進程(source后相當於升級為全局變量)

 

下面貼出啟動腳本:

#!/bin/bash
echo "start zkServer..."
for i in 1 3 4
do
ssh min$i "source /etc/profile;/root/apps/zookeeper/bin/zkServer.sh start"
done

#min$i 即我要啟動的集群服務器包括min1,min3,min4

source /etc/profile 的目的是將profile中的JAVA_HOME路徑提升為全局變量才能到相應的服務器啟動具體操作:

1.cd      cd到根目錄下
2.mkdir bin 創建bin目錄
3.vi startzk.sh 創建啟動文件並編輯
4.貼上以上腳本保存
5.chmod +x startzk.sh 為文件增加寫權限即可在根目錄下直接啟動
6.cd cd到根目錄下
7.
而后需要進行配置免密登錄,通過生成公鑰與私鑰
ssh-keygen一直回車
然后ssh-copy-id min1/ssh-copy-id min2/ssh-copy-id min4 輸入密碼即可配置完成免密登錄


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM