ZooKeeper:02---ZooKeeper的下載、安裝與部署

一、ZooKeeper的下載、目錄分析

  • ZooKeeper的安裝需要java環境,因此我們需要先安裝jdk
sudo apt-get install openjdk-8-jdk

ZooKeeper的下載

  • 上圖中文件的區別:
    • apa-zookeeper-3.6.1-bin.tar.gz:該文件中的ZooKeeper服務端、客戶端等內容都是以二進制(.sh、.cmd)形式提供的,可以直接運行
    • apa-zookeeper-3.6.1.tar.gz:這個文件中不僅提供二進制軟件,還提供這些二進制軟件的java源碼實現
  • 輸入下面的命令即可下載:
wget http://mirrors.hust.edu.cn/apache/zookeeper/zookeeper-3.6.1/apache-zookeeper-3.6.1-bin.tar.gz

  • 輸入下面的命令解壓:
tar -zxf apache-zookeeper-3.6.1-bin.tar.gz

目錄結構

  • bin:主要的一些執行命令
    • .sh相關文件:是在UNIX系統下運行的腳本
    • .cmd相關文件:在Windows下運行的腳本

  • conf:存放配置文件

  • docs:文檔

  • lib:Java的JAR文件,在Java編程操作ZooKeeper時可以調用這些文件

ZooKeeper的配置文件

  • 在conf/目錄下有一個zoo_sample.cfg的配置文件,這個是ZooKeeper的默認配置文件
  • 當使用zkServer.sh啓動服務端時,會在./conf目錄下尋找一個名爲zoo.cfg的配置文件,因此我們需要在./conf目錄下創建一個名爲zoo.cfg的配置文件,這樣才能正常的啓動ZooKeeper服務端(詳情見下面的演示案例)

二、單機部署

  • 單機部署是指:只啓動一個ZooKeeper服務端

步驟如下

  • 第一步:當我們在conf/目錄下沒有建立zoo.cfg配置文件時,我們啓動zkServer.sh會報錯

  • 第二步:複製conf/目錄下的zoo_sample.cfg配置文件,複製新建一個名爲zoo.cfg的配置文件,用於後面啓動ZooKeeper服務端

# zoo.cfg

# tickTime:CS通信心跳數
# Zookeeper 服務器之間或客戶端與服務器之間維持心跳的時間間隔,也就是每個 tickTime 時間就會發送一個心跳。tickTime以毫秒爲單位
tickTime=2000

# initLimit:LF初始通信時限
# 集羣中的follower服務器(F)與leader服務器(L)之間初始連接時能容忍的最多心跳數(tickTime的數量)
initLimit=10

# syncLimit:LF同步通信時限
# 集羣中的follower服務器與leader服務器之間請求和應答之間能容忍的最多心跳數(tickTime的數量)
syncLimit=5

# dataDir:數據文件目錄
# Zookeeper保存數據的目錄,默認情況下,Zookeeper將寫數據的日誌文件也保存在這個目錄裏
dataDir=/tmp/zookeeper

# clientPort:客戶端連接端口
# 客戶端連接 Zookeeper 服務器的端口,Zookeeper 會監聽這個端口,接受客戶端的訪問請求
clientPort=2181
  • 第三步:使用bin/目錄下的zkServer.sh可以用來啓動ZooKeeper服務端,在啓動時可以用--config參數指定其配置文件爲我們上面創建的配置文件,否則其會使用./conf/zoo_sample.cfg作爲默認配置文件
# 啓動ZooKeeper服務端
./bin/zkServer.sh start

  • 第四步:輸入下面的命令來查看當前ZooKeeper服務端的狀態
./bin/zkServer.sh status

  • 第五步:輸入下面的命令來查看服務端是否啓動成功,可以看到成功的監聽在了2181端口上

  • 第六步:也可以通過./bin目錄下的zkCli.sh去連接服務端
./bin/zkCli.sh

  • 第七步:連接上之後可以通過命令來操作,例如我們查看當前ZooKeeper所有的節點
ls -R /

三、集羣部署

  • 集羣部署就是讓ZooKeeper以集羣中的節點角色啓動,需要修改配置文件的相關內容。集羣不是本文介紹的重點,集羣在後面的文章會有單獨介紹
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章