利用VMware在centOS虛擬機上安裝Zookeeper


  為了搭建zookeeper 服務,需要找一台服務器,本着不為公司添麻煩的心理,所以呀 我就選擇了搭建虛擬機,通過虛擬機搭建zookeeper。相信很多人在看別人的博客或者視頻的時候,感覺別人一步一步的好順當啊。基本上是看了之后就覺得別人行我也行。可實際自己弄的時候簡直一步一個坑,我也是不能說一步一個坑那也是兩三步一個坑吧。下面我就一步一步的來,給大家講解我從搭建虛擬機到搭建zookeeper服務,期間遇到的各種各樣的問題,以及解決辦法。

  第一步:先在VMware 創建一個虛擬機,具體步驟不再贅述,只說一下我遇到的問題。

    問題1.創建的centos虛擬機無法打開(打開就是黑屏狀態,沒有任何反應)

      因為我第一遍創建虛擬機的時候選擇的自定義,后面 我的解決方式是在創建新的虛擬機的時候 模式選擇要選擇 “典型” ,然后就好了,具體原因未知。

  第二步:然后我們輸入ip查詢命名 ip addr  也可以輸入 ifconfig查看ip,但此命令會出現3個條目,centos的ip地址是ens33條目中的inet值。

    

    發現 ens33 沒有 inet 這個屬性,那么就沒法通過IP地址連接虛擬機。

    接着來查看ens33網卡的配置: vi /etc/sysconfig/network-scripts/ifcfg-ens33   注意vi后面加空格

    

    從配置清單中可以發現 CentOS 7 默認是不啟動網卡的(ONBOOT=no)。

     把這一項改為YES(ONBOOT=yes),

     

    然后按 Esc 退出  再出入命令 :wq  再按Enter即可  (備注 :wq 是保存然后退出的意思 后面會專門講下vi)

     然后重啟網絡服務: sudo service network restart  ,正常應該出現類似下面這個圖

    

 

  第三步:本機IP和虛擬主機IP 互ping,看看是否互通。如果不通請檢查虛擬機的防火牆是否關閉,下面是對應的命令

    

systemctl status firewalld   //查看防火牆狀態


systemctl stop firewalld   //關閉防火牆

  如果防火牆關閉了,卻發生  本機能ping通虛擬機,虛擬機卻不能ping通本機。

  那么去 控制面板 --》網絡和 Internet --》網絡連接VMnet8 網絡啟用起來,然后再嘗試互ping . 互通之后繼續第四步

  第四步:安裝JDK  設置環境變量 下面是對應的各個命令

    

//查看java jdk 是否安裝
     java -version

// 安裝jdk
yum install java-1.8.0-openjdk

//設置環境變量 ,注意目錄要設置成你安裝的目錄

export JAVA_HOME=/usr/java

  第五步:下載zookeeper ,並安裝

官網:https://zookeeper.apache.org

下載ZooKeeper,地址:http://mirrors.hust.edu.cn/apache/zookeeper/

   第六步:通過xshell 上傳zookeeper 包  到上傳到/usr/local下 ,  rz -y    zookeeper-3.4.14.tar.gz

    再次報錯: rz:未找到命令

    解決方式:    

yum -y install lrzsz

   解壓zookeeper

  

tar -zxvf zookeeper-3.4.14.tar.gz

  第七步 :配置Zookeeper 

  1. 在/usr/local下創建一個文件夾叫zookeeper,並在zookeeper文件夾下再創建兩個文件夾data和dataLog。

 

  

  2.cd /usr/local/zookeeper-3.4.14/conf/ 下,可以自己創建一個zoo.cfg或者將zoo_sample.cfg修改為zoo.cfg:我這邊新建了一個並設置以下參數:

  這部分參考了  https://blog.csdn.net/u010246789/article/details/52101026 

  他配了三個server  

      server.1=zookeeper1:2888:3888

      server.2=zookeeper2:2888:3888 

      server.3=zookeeper3:2888:3888

  我這主要是講完整的從創建虛擬機到搭建zookeeper 這個過程,如果想搭建主從的zookeeper參考 這位博主的。

tickTime=2000  
dataDir=/usr/local/zookeeper/data
clientPort=2181  
initLimit=5  
syncLimit=2  
server.1=zookeeper1:2888:3888  

  3.在上面的dataDir目錄下(即/usr/local/zookeeper/data)創建一個myid文件。將server.1對應的1寫入myid中(server.2就是2):  echo 1 > /usr/local/zookeeper/data/myid

  4.修改/etc/hosts文件所以,否則計算機無法識別zookeeper1:比如 我這台機子的地址是192.168.44.135,所以需要在/etc/hosts中加入:

  

192.168.44.135 zookeeper1

  第八步:啟動zookeeper   

//啟動命令
/usr/local/zookeeper-3.4.14/bin/zkServer.sh start

//查看狀態命令
/usr/local/zookeeper-3.4.14/bin/zkServer.sh status

//停止服務命令
/usr/local/zookeeper-3.4.14/bin/zkServer.sh stop

 -----------------------------------------------------------------------------------------------------------------------------

  后記:如果是單機版,hosts文件只用配三個屬性就可以了  

tickTime=2000  
dataDir=/usr/local/zookeeper/data
clientPort=2181  

  另外如果zookeeper 如果啟動失敗,或者查看狀態報下面這種錯誤,請檢查防火牆是否關閉,端口是否被占用(netstat -tunlp|grep 2181) 

/usr/local/apache-zookeeper-3.6.1-bin/bin/../conf/zoo.cfg
Client port not found in static config file. Looking in dynamic config file.
grep: : 沒有那個文件或目錄
Client port not found. Terminating.

  

   

    


免責聲明!

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



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