大數據學習(十四)zookeeper簡介 安裝 節點類型

zookeeper

Zookeeper是一個開源的分佈式的,爲分佈式應用提供協調服務的Apache項目。Hadoop和Hbase的重要組件。它是一個爲分佈式應用提供一致性服務的軟件,提供的功能包括:配置維護、域名服務、分佈式同步、組服務等。

有哪些應用

  • 分佈式鎖
  • 統一命名服務
  • 配置管理
  • 集羣生命週期管理
  • 負載均衡

下載

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

我也提供了網盤的資源
鏈接:https://pan.baidu.com/s/1uceU1hF7c7sRWMv2dEYjNg
提取碼:uane

本地安裝(僞分佈)

  1. 首先,將gz拷貝到linux虛擬機或者服務器中(注意一定要有java環境就是jdk)

  2. 解壓
    tar -zxvf zookeeper-3.4.10.tar.gz -C 你的路徑

  3. vi /etc/profile 配置環境變量
    export ZOOKEEPER_HOME=/opt/module/zookeeper
    export PATH=PATH:PATH:ZOOKEEPER_HOME/bin

  4. zookeeper-3.4.10/conf中有一個zoo_sample.cfg配置文件,修改爲zoo.cfg

  5. 進入cfg文件,然後找到dataDir=/…/zookeeper-3.4.10/data
    這裏的data文件夾是需要自己通過dir創建的。

然後就可以啓動了

  • 啓動zookeeper

bin/zkServer.sh start

  • 查看進程是否啓動

jps
在這裏插入圖片描述
bin/zkServer.sh status

  • 其他常用命令

啓動客戶端:
zkCli.sh
退出:
quit
停止zookeeper
zkServer.sh stop

分佈式部署

步驟和本地配置是一樣的,區別就是在cfg文件中我們還需要增加集羣的信息:
server.1=第一臺ip:2888:3888
server.2=第二臺ip:2888:3888
server.3=第二臺ip:2888:3888

Parameter1是一個數字,表示這個是第幾號服務器;
Parameter2是這個服務器的ip地址;
Parameter3是這個服務器與集羣中的Leader服務器交換信息的端口;
Parameter4是萬一集羣中的Leader服務器掛了,需要一個端口來重新進行選舉,這個端口就是用來執行選舉時服務器相互通信的端口。

另外還需要增加一個id的對應文件idConfig放到data下面,裏面只需要寫當前服務器或者虛擬機是server.id,這個id這個數字就可以了,比如你想把現在配置的主機當作1號,那麼idConfig中只需要放1。


然後將這臺機子上的zookeeper中的所有文件複製到集羣上的其他主機上,其他主機修改idConfig,然後配置環境變量,這樣就完成了。

啓動的時候是分別啓動的。後面的操作就是一樣的了,然後我會在後面的文章中給大家分享zookeeper的機制和原理。

配置參數用法

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

2)initLimit=10:Leader和Follower初始通信時限
集羣中的follower跟隨者服務器與leader領導者服務器之間初始連接時能容忍的最多心跳數(tickTime的數量),用它來限定集羣中的Zookeeper服務器連接到Leader的時限。
投票選舉新leader的初始化時間

3)syncLimit=5:Leader和Follower同步通信時限
集羣中Leader與Follower之間的最大響應時間單位,假如響應超過syncLimit * tickTime,Leader認爲Follwer死掉,從服務器列表中刪除Follwer。
在運行過程中,Leader負責與ZK集羣中所有機器進行通信,例如通過一些心跳檢測機制,來檢測機器的存活狀態。
如果L發出心跳包在syncLimit之後,還沒有從F那收到響應,那麼就認爲這個F已經不在線了。

4)dataDir:數據文件目錄+數據持久化路徑
保存內存數據庫快照信息的位置,如果沒有其他說明,更新的事務日誌也保存到數據庫。

5)clientPort=2181:客戶端連接端口
監聽客戶端連接的端口

參考https://blog.csdn.net/king_qc/article/details/81200434

節點類型

1)Znode有兩種類型:
短暫(ephemeral):客戶端和服務器端斷開連接後,創建的節點自己刪除
持久(persistent):客戶端和服務器端斷開連接後,創建的節點不刪除

2)Znode有四種形式的目錄節點(默認是persistent )

  1. 持久化目錄節點(PERSISTENT)

客戶端與zookeeper斷開連接後,該節點依舊存在。

  1. 持久化順序編號目錄節點(PERSISTENT_SEQUENTIAL)

客戶端與zookeeper斷開連接後,該節點依舊存在,只是Zookeeper給該節點名稱進行順序編號。

  1. 臨時目錄節點(EPHEMERAL)

客戶端與zookeeper斷開連接後,該節點被刪除。

  1. 臨時順序編號目錄節點(EPHEMERAL_SEQUENTIAL)

客戶端與zookeeper斷開連接後,該節點被刪除,只是Zookeeper給該節點名稱進行順序編號。

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