1 在init.d目錄下新建腳本文件java
進入到/etc/rc.d/init.d目錄下,命令是:vim
cd /etc/rc.d/init.dwindows
新建一個名爲zookeeper的文件,命令是:bash
touch zookeeper網絡
如圖:工具
使用vim命令修改文件內容,文件內容的寫法有不少,除了上面的第一種方案,用下面的這種也能夠:測試
使用vim命令修改文件內容,文件內容是:ui
#!/bin/bash
#chkconfig: 2345 10 90
#description: service zookeeper
export JAVA_HOME=/usr/java/jdk1.7.0_45
export ZOOKEEPER_HOME=/usr/local/zookeeper/zookeeper-3.4.6
case "$1" in
start) su root ${ZOOKEEPER_HOME}/bin/zkServer.sh start;;
start-foreground) su root ${ZOOKEEPER_HOME}/bin/zkServer.sh start-foreground;;
stop) su root ${ZOOKEEPER_HOME}/bin/zkServer.sh stop;;
status) su root ${ZOOKEEPER_HOME}/bin/zkServer.sh status;;
restart) su root ${ZOOKEEPER_HOME}/bin/zkServer.sh restart;;
upgrade)su root ${ZOOKEEPER_HOME}/bin/zkServer.sh upgrade;;
print-cmd)su root ${ZOOKEEPER_HOME}/bin/zkServer.sh print-cmd;;
*) echo "requirestart|start-foreground|stop|status|restart|print-cmd";;
esac3d
注意1:新建文件的命令是touch,編輯文件的命令用vi和vim都行。若是不會使用vi和vim命令,直接在本地把文件編輯好,而後用遠程工具上載上去都行,不過須要注意的是若是本地用的windows系統,須要把文件轉爲UNIX格式。轉換工具備不少,例如使用Notepad++rest
如圖:
注意2:兩個方案中的文件頭部#註釋的部分不能少,並且文件中諸如JDK路徑,zookeeper路徑都須要修改成你本身的。
爲新建的/etc/rc.d/init.d/zookeeper文件添加可執行權限,命令是:
chmod +x /etc/rc.d/init.d/zookeeper
把zookeeper這個腳本添加到開機啓動項裏面,命令是:
chkconfig --add zookeeper
如圖:
若是想看看是否添加成功,命令是:
chkconfig --list
如圖:
使用命令重啓機器,命令是:
reboot
方法一
查看zookeeper的狀態
重啓機器,而後不手動啓動zookeeper的狀況下,執行命令:
service zookeeper status
如圖:
方法二
查看2181端口是否啓用,執行命令:
lsof -i:2181
如圖:
方法三
查看網絡狀態,執行命令:
netstat -lntup
如圖:
執行chkconfig --add zookeeper報錯:
servicezookeeper does not support chkconfig
問題緣由和解決:
/etc/rc.d/init.d/ zookeeper腳本中頭部沒有添加下面這幾句話(description能夠隨便寫):
#!/bin/bash
#chkconfig:2345 10 90
#description:service zookeeper
執行service zookeeper status報錯:
JMX enabled by default
Usingconfig: /opt/zookeeper/zookeeper-3.4.10/bin/../conf/zoo.cfg
Errorcontacting service. It is probably not running.
問題緣由和解決:
/etc/rc.d/init.d/ zookeeper沒有配置對,請看3.1.1和3.1.2的配置,裏面必需要有export JAVA_HOME這一句話,後面的路徑是你本身的JDK安裝路徑。
至於export ZOO_LOG_DIR=/opt/zookeeper/log這一句的話無關緊要,意思是指定zookeeper的啓動日誌存放目錄,若是該目錄不存在,你必須手動建立一個。