Zookeeper(一)

介紹

分佈式協做。zookeeper是google的chubby項目開源實現。最先是hadoop的子項目。apache

小米米聊、淘寶Taokeeper其實類zookeeper。服務器

Kafka使用zookeeper。消息發佈訂閱,其中zk就是用於檢測節點崩潰。實現主題的發現,而且保持主題的生產和消費狀態。分佈式

Hbase三段查找,Root-Region=》Meta Region=》Region(Table)。hbase的元數據信息放在HBase。HMaster掛掉,立刻要節點恢復。oop

Hadoop。NameNode(SecondaryNameNode),HA Hadoop。通常狀況下一個簡單的hadoop集羣,只有一個NameNode,若是NameNode掛掉,hadoop集羣不可用。HA Haoop裏面就要用到zk。google

 

解決的問題

  1. Master節點管理。master高可用(掛掉之後,誰來負責工做),保證惟一。
  2. 配置文件管理。統一把配置文件存在zk,由zk統一分發。
  3. 發佈與訂閱。發佈者(producer)將數據發佈到zk節點上,供訂閱者(consumer動態獲取)。
  4. 分佈式鎖。分佈式環境訪問同一個資源,由第三方配鎖實現。由zk統一進行協調,保證數據一致性。
  5. 集羣的管理。worker集羣監控。

 

安裝與配置

一、下載spa

  wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.9/zookeeper-3.4.9.tar.gzcode

二、解壓orm

  tar -xzvf zookeeper-3.4.9.tar.gzblog

三、修改配置hadoop

  ../conf/zoo_sample.cfg

# 會話時間,以毫秒爲單位
tickTime=2000

# master與slave通信時間,以秒爲單位
initLimit=10

# master與slave心跳檢測時間,以秒爲單位
syncLimit=5

# 保存ZK快照和數據
dataDir=/usr/zookeeper/data/zk1

# 客戶端端口
clientPort=2181

# service.1表明服務器表示,需在dataDir建立myid文件,內容是1;localhost表示master服務器;第一個端口表示通信端口;第二個端口表示選舉端口
service.1=localhost:2888:3888
service.2=localhost:2889:3889
service.3=localhost.2890:3890

 

經常使用API

啓動

[root@localhost conf]# zkServer.sh start /usr/local/zookeeper-3.4.6/conf/zoo1.cfg

中止

[root@localhost conf]# zkServer.sh stop /usr/local/zookeeper-3.4.6/conf/zoo1.cfg

查看狀態

[root@localhost conf]# zkServer.sh status /usr/local/zookeeper-3.4.6/conf/zoo1.cfg

 

1.     Master節點管理

相關文章
相關標籤/搜索