Linux上安裝ZooKeeper並設置開機啓動(CentOS7+ZooKeeper3.4.10)

1下載Zookeeper

      地址:http://mirror.bit.edu.cn/apache/zookeeper/



2安裝啓動測試

          說明:(以下操作都是使員管理員賬號進行的)

2.1上載壓縮文件並解壓

        這裏使用的是CentOS7的操作系統。在opt目錄下新建一個名爲zookeeper的目錄,將下載得到的zookeeper-3.4.10.tar.gz文件上載上去。

如圖:

    

進入到該目錄下,命令是:

        cd    /opt/zookeeper

執行解壓命令:

        tar    -zxvf    zookeeper-3.4.10.tar.gz

如圖:

      

2.2新建zookeeper配置文件

         Zookeeper需要一個名爲zoo.cfg的配置文件,我們解壓後,得到的是官方的示例文件,名爲zoo_sample.cfg,這個文件在zookeeper根目錄的conf子目錄下。如果我們想使用默認配置,直接將該文件複製並且改名即可。裏面可以配置端口號,是否啓用集羣等等,這裏不展開,直接執行cp複製重命名。

命令是:

     cp    /opt/zookeeper/zookeeper-3.4.10/conf/zoo_sample.cfg        /opt/zookeeper/zookeeper-3.4.10/conf/zoo.cfg

如圖:

     

      上面的命令生成了zoo.cfg

      如圖:

 

         說明:zoo.cfg裏可以配置東西,如果希望搭建zookeeper集羣,請看該博文:

2.3安裝JDK

           在Linux上安裝JDK都是一樣的,雖然我們這裏用的是CentOS7的操作系統,但是依然可以按照在Unbuntu上安裝JDK的方法來安裝,請參考該博文:

http://blog.csdn.net/pucao_cug/article/details/68948639

         說明:你可的JDK安裝路徑和ZooKeeper安裝路徑可以和我的不一樣,但是如果你的路徑和我一樣的話,在本博文第三章節,將ZooKeeper設置爲開機啓動的相關配置中,你可以不用修改那些配置內容,直接複製使用。

2.4啓動zookeeper

  進入到zookeeper的bin目錄下,命令:

         cd    /opt/zookeeper/zookeeper-3.4.10/bin

執行zkServer.sh腳本進行啓動,命令是:

        ./zkServer.sh   start

如圖:

    

2.5查看zookeeper的狀態

     如果此時不在zookeeper的bin 目錄下,先進入到該目錄下:

          cd    /opt/zookeeper/zookeeper-3.4.10/bin

 

    執行命令查看zookeeper狀態:

        ./zkServer.sh    status

如圖:

    

standalone 是單機模式。

3將ZooKeeper設置爲開機啓動(可選)

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

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

          cd    /etc/rc.d/init.d

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

         touch    zookeeper

如圖:

      

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

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

[plain] view plain copy
  1. #!/bin/bash  
  2. #chkconfig: 2345 10 90  
  3. #description: service zookeeper  
  4. export   JAVA_HOME=/opt/java/jdk1.8.0_121  
  5. export   ZOO_LOG_DIR=/opt/zookeeper/log  
  6. ZOOKEEPER_HOME=/opt/zookeeper/zookeeper-3.4.10  
  7. su    root    ${ZOOKEEPER_HOME}/bin/zkServer.sh      "$1"  


3.1.2文件內容的第二種方案

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

[plain] view plain copy
  1. #!/bin/bash  
  2. #chkconfig: 2345 10 90  
  3. #description: service zookeeper  
  4. export    JAVA_HOME=/opt/java/jdk1.8.0_121  
  5. export     ZOO_LOG_DIR=/opt/zookeeper/log  
  6. ZOOKEEPER_HOME=/opt/zookeeper/zookeeper-3.4.10  
  7. case  "$1"   in  
  8.           start)  su  root   ${ZOOKEEPER_HOME}/bin/zkServer.sh   start;;  
  9.           start-foreground)  su  root  ${ZOOKEEPER_HOME}/bin/zkServer.sh    start-foreground;;  
  10.           stop)  su  root   ${ZOOKEEPER_HOME}/bin/zkServer.sh   stop;;  
  11.           status)  su root  ${ZOOKEEPER_HOME}/bin/zkServer.sh    status;;  
  12.           restart)  su root   ${ZOOKEEPER_HOME}/bin/zkServer.sh   restart;;  
  13.           upgrade)su root   ${ZOOKEEPER_HOME}/bin/zkServer.sh   upgrade;;  
  14.           print-cmd)su root   ${ZOOKEEPER_HOME}/bin/zkServer.sh   print-cmd;;  
  15.           *)  echo  "requirestart|start-foreground|stop|status|restart|print-cmd";;  
  16. esac  



3.1.3 其他說明

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

         如圖:

  

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

3.2 執行一系列命令

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

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

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

       chkconfig  --add   zookeeper

如圖:

     

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

       chkconfig  --list

如圖:

      

3.3執行測試看是否開機啓動

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

      reboot

方法一

查看zookeeper的狀態

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

       service  zookeeper   status

 如圖:

   

方法二

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

   lsof  -i:2181

如圖:

     

方法三

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

netstat   -lntup

如圖:

     

 

4報錯及解決

4.1 service zookeeper does not support chkconfig

        執行chkconfig  --add  zookeeper報錯

        servicezookeeper does not support chkconfig

        問題原因和解決:

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

[plain] view plain copy
  1. #!/bin/bash  
  2. #chkconfig:2345 10 90  
  3. #description:service zookeeper  


4.2Error 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的啓動日誌存放目錄,如果該目錄不存在,你必須手動創建一個。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章