Hadoop系列五:Hadoop之Zookeeper篇
ZooKeeper安裝和運(yùn)行
Zookeeper是一個高性能、分布式的、開源分布式應(yīng)用協(xié)調(diào)服務(wù),具有命名服務(wù)、配置管理、同步和組服務(wù)等基本功能。Zookeeper服務(wù)自身組成一個集群(2n+1個服務(wù)允許n個失效)。Zookeeper服務(wù)有兩個角色,一個是leader,負(fù)責(zé)寫服務(wù)和數(shù)據(jù)同步,剩下的是follower,提供讀服務(wù),leader失效后會在follower中重新選舉新的leader。
ZooKeeper有單機(jī)(standalone)模式、集群(Replicated)模式、偽集群模式。
1)官網(wǎng)http://zookeeper.apache.org/下載并解壓,在/home/hp下(Ubuntu操作系統(tǒng),主機(jī)名hp)。
2)單機(jī)模式配置
zookeeper目錄下的conf子目錄,創(chuàng)建zoo.cfg,復(fù)制zoo_sample.cfg,配置:
tickTime=2000? //毫秒值
dataDir=/home/hp/zookeeper/data?? //數(shù)據(jù)目錄.
dataLogDir=/home/hp/zookeeper/log? //log目錄,不設(shè)置的話與dataDir同目錄
clientPort=2181;? //監(jiān)聽client連接的端口號
服務(wù)端啟動:$bin/zkServer.sh start
????? 關(guān)閉;$bin/zkServer.sh stop
客戶端連接:$bin/zkCli.sh –server localhost:2181
3)偽集群模式:
偽集群, 是指在單臺機(jī)器中啟動多個zookeeper進(jìn)程, 并組成一個集群.以啟動3個zookeeper進(jìn)程為例。
?? Zookeeper下載后解壓到三個目錄,分別為zookeeper0、zookeeper1、zookeeper2。
?? 配置zookeeper目錄下的conf子目錄zoo.cfg文件
tickTime=2000?
initLimit=5?
syncLimit=2?
dataDir=/home/hp/zookeeper0/data
clientPort=2181? //其他兩臺分別為2182、2183
server.0=127.0.0.1:8880:7770?
server.1=127.0.0.1:8881:7771?
server.2=127.0.0.1:8882:7772
zookeeper集群中的包含多臺server, 其中一臺為leader, 集群中其余的server為follower.?server.X=A:B:C 其中X是一個數(shù)字, 表示這是第幾號server.A是該server所在的IP地址. B配置該server和集群中的leader交換消息所使用的端口. C配置選舉leader時所使用的端口.由于配置的是偽集群模式, 所以各個server的B, C參數(shù)必須不同.
?? 參照zookeeper0/conf/zoo.cfg,
配置zookeeper1/conf/zoo.cfg, 和zookeeper2/conf/zoo.cfg文件. 只需更改dataDir、clientPort參數(shù)即可.
?? 在dataDir中新建myid文件, 寫入一個數(shù)字, 該數(shù)字表示這是第幾號server. 數(shù)字和zoo.cfg文件中的server.X中的X一一對應(yīng)。
zookeeper0/data/myid文件中寫入0,
zookeeper1/data/myid文件中寫入1,
zookeeper2/data/myid文件中寫入2.
?? 分別啟動三個server并選擇其中一個啟動客戶端。
4)集群模式
集群模式的配置和偽集群基本一致。集群模式下, 各server部署在不同的機(jī)器上, 其conf/zoo.cfg文件可一樣,注意data目錄下myid的數(shù)字要和server編號一致。
5)zk客戶端基本命令
ls(查看當(dāng)前節(jié)點(diǎn)數(shù)據(jù))
ls2(查看當(dāng)前節(jié)點(diǎn)數(shù)據(jù)并能看到更新次數(shù)等數(shù)據(jù))
create(創(chuàng)建一個節(jié)點(diǎn)) ?例子:$create /zk “test”
get(得到一個節(jié)點(diǎn),包含數(shù)據(jù)和更新次數(shù)等數(shù)據(jù)) 例子:$get /zk
set(修改節(jié)點(diǎn))
delete(刪除一個節(jié)點(diǎn))
Zookeeper的具體應(yīng)用集合Hbase體現(xiàn)。總結(jié)
以上是生活随笔為你收集整理的Hadoop系列五:Hadoop之Zookeeper篇的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Hadoop系列四:Hadoop之Hiv
- 下一篇: Hadoop系列六:Hadoop之HBa