ZooKeeper設置開機啟動


1 在init.d目錄下新建腳本文件

    進入到/etc/rc.d/init.d目錄下,命令是:

          cd    /etc/rc.d/init.d

   新建一個名為zookeeper的文件,命令是:

         touch    zookeeper

如圖:

      

 

1.1文件內容的第一種方案(推薦)

           使用vim命令修改文件內容,文件內容的寫法有很多,除了上面的第一種方案,用下面的這種也可以:

 


#!/bin/bash  
#chkconfig: 2345 10 90  
#description: service zookeeper  
export   JAVA_HOME=/opt/java/jdk1.8.0_121  
export   ZOO_LOG_DIR=/opt/zookeeper/log  
ZOOKEEPER_HOME=/opt/zookeeper/zookeeper-3.4.10  
su    root    ${ZOOKEEPER_HOME}/bin/zkServer.sh      "$1"  

 

1.2文件內容的第二種方案

       使用vim命令修改文件內容,文件內容是:

#!/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";;
esac

 

1.3 其他說明

          注意1:新建文件的命令是touch,編輯文件的命令用vi和vim都行。如果不會使用vi和vim命令,直接在本地把文件編輯好,然后用遠程工具上載上去都行,不過需要注意的是如果本地用的windows系統,需要把文件轉為UNIX格式。轉換工具有很多,例如使用Notepad++

         如圖:

  

 

         注意2:兩個方案中的文件頭部#注釋的部分不能少,而且文件中諸如JDK路徑,zookeeper路徑都需要修改為你自己的。

2.1 執行一系列命令

  為新建的/etc/rc.d/init.d/zookeeper文件添加可執行權限,命令是:

       chmod  +x  /etc/rc.d/init.d/zookeeper

 把zookeeper這個腳本添加到開機啟動項里面,命令是:

       chkconfig  --add   zookeeper

如圖:

     

 

  如果想看看是否添加成功,命令是:

       chkconfig  --list

如圖:

      

2.2執行測試看是否開機啟動

  使用命令重啟機器,命令是:

      reboot

方法一

查看zookeeper的狀態

 重啟機器,然后不手動啟動zookeeper的情況下,執行命令:

       service  zookeeper   status

 如圖:

   

 

方法二

   查看2181端口是否啟用,執行命令:

   lsof  -i:2181

如圖:

     

 

方法三

   查看網絡狀態,執行命令:

netstat   -lntup

如圖:

     

 

報錯及解決

 service zookeeper does not support chkconfig

        執行chkconfig  --add  zookeeper報錯:

        servicezookeeper does not support chkconfig

        問題原因和解決:

         /etc/rc.d/init.d/ zookeeper腳本中頭部沒有添加下面這幾句話(description可以隨便寫):

 


 

#!/bin/bash  

#chkconfig:2345 10 90  

#description:service zookeeper  



Error contacting service. It is probably not running

       執行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的啟動日志存放目錄,如果該目錄不存在,你必須手動創建一個。


免責聲明!

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



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