1. 程式人生 > >hadoop+zookeeper+hbase 開機自啟動

hadoop+zookeeper+hbase 開機自啟動

hadoop開機自動啟動

hadoop2.7.3+zookeeper3.4.9+hbase1.2.6


我想讓它們實現開機自啟動,需要2個腳本實現。h1.sh 和h2.sh.

#!/bin/bash

#discribe: 實現hadoop+zookeeper+hbase 開機自啟動

#對我非常有用的鏈接:ssh 到其他機器,實現zk啟動。https://zhidao.baidu.com/question/1447196109490350780.html

#while true 我會用,但不熟。

#有小人擋路,不要怕。也不要以自己的能力克服小人,因為你克服不了。可以自己繞過去。或者找其他人克服小人。

#實現開機自動啟動,多虧了下面這篇鏈接,解決了切換用戶後,繼續執行下面的命令。http://www.jb51.net/article/59255.htm

#因此,這個腳本還需要同目錄h1.sh 這個腳本的配合,完成整體的開機自啟動。h1.sh 的作用就是切換用戶後,執行這個腳本。

內容如下:

h2.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循環。避免死循環。

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


h1.sh:

su - hadoop -s /bin/bash /root/h2.sh.

把h1.sh 放到/etc/init.d/底下,就行了。

腳本得有執行權限。

本文出自 “8174069” 博客,請務必保留此出處http://8184069.blog.51cto.com/8174069/1945385

hadoop+zookeeper+hbase 開機自啟動