您好,登錄后才能下訂單哦!
hadoop2.7.3+zookeeper3.4.9+hbase1.2.6
我想讓它們實現(xiàn)開機自啟動,需要2個腳本實現(xiàn)。h2.sh 和h3.sh.
#!/bin/bash
#discribe: 實現(xiàn)hadoop+zookeeper+hbase 開機自啟動
#對我非常有用的鏈接:ssh 到其他機器,實現(xiàn)zk啟動。https://zhidao.baidu.com/question/1447196109490350780.html
#while true 我會用,但不熟。
#有小人擋路,不要怕。也不要以自己的能力克服小人,因為你克服不了??梢宰约豪@過去?;蛘哒移渌丝朔∪?。
#實現(xiàn)開機自動啟動,多虧了下面這篇鏈接,解決了切換用戶后,繼續(xù)執(zhí)行下面的命令。http://www.jb51.net/article/59255.htm
#因此,這個腳本還需要同目錄h2.sh 這個腳本的配合,完成整體的開機自啟動。h2.sh 的作用就是切換用戶后,執(zhí)行這個腳本。
內(nèi)容如下:
h3.sh:
while true
do
for ip in master11 slave22 slave23
do
ping -c 5 $ip &>/dev/null & # 不加&符號,會一直提示。沒法敲其他命令了。 &>/dev/null也很重要。
if [ $? -ne 0 ];then
tag=1;
echo $ip+"NO kai ji"
break
else
tag=0
fi
done
if [ $tag -eq 0 ];then
break
fi
break #這是一個難點。它的作用是跳出while循環(huán)。避免死循環(huán)。
done
/usr/local/hadoop273/sbin/start-all.sh
[ $? -eq 0 ] && sleep 5||exit 1
for i in master11 slave22 slave23
do
ssh $i "/home/hadoop/hadoop/zookeeper-3.4.9/bin/zkServer.sh start"
done
#[ $? -eq 0 ] && /usr/local/hbase-1.2.6/bin/start-hbase.sh|| exit 2
if [ $? -eq 0 ];then
/usr/local/hbase-1.2.6/bin/start-hbase.sh
else
echo "zk no ok"
fi
h2.sh:
su - hadoop -s /bin/bash /root/h3.sh.
把h2.sh 放到/etc/init.d/底下,就行了。
腳本得有執(zhí)行權限。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。