- 軟件大小:685KB
- 軟件語(yǔ)言:中文
- 軟件類型:國(guó)產(chǎn)軟件
- 軟件類別:免費(fèi)軟件 / 編程工具
- 更新時(shí)間:2017-09-26 18:09
- 運(yùn)行環(huán)境:WinAll, WinXP, Win7, Win8, Win10
- 軟件等級(jí):
- 軟件廠商:
- 官方網(wǎng)站:http://www.aimjoke.net
17.82M/英文/10.0
31.35M/多國(guó)語(yǔ)言[中文]/5.0
16.13M/多國(guó)語(yǔ)言[中文]/6.6
1.45M/中文/10.0
4.60M/中文/8.7
zookeeper jar包是一款幫助程序員進(jìn)行java編程開(kāi)發(fā)的軟件。用戶在進(jìn)行java開(kāi)發(fā)時(shí)需要使用到zookeeper,這款軟件能夠讓開(kāi)發(fā)過(guò)程更方便、快捷、簡(jiǎn)單。
ZooKeeper是一個(gè)分布式的,開(kāi)放源碼的分布式應(yīng)用程序協(xié)調(diào)服務(wù),是Google的Chubby一個(gè)開(kāi)源的實(shí)現(xiàn),是Hadoop和Hbase的重要組件。它是一個(gè)為分布式應(yīng)用提供一致性服務(wù)的軟件,提供的功能包括:配置維護(hù)、域名服務(wù)、分布式同步、組服務(wù)等。
ZooKeeper的目標(biāo)就是封裝好復(fù)雜易出錯(cuò)的關(guān)鍵服務(wù),將簡(jiǎn)單易用的接口和性能高效、功能穩(wěn)定的系統(tǒng)提供給用戶。
ZooKeeper包含一個(gè)簡(jiǎn)單的原語(yǔ)集,提供Java和C的接口。
ZooKeeper代碼版本中,提供了分布式獨(dú)享鎖、選舉、隊(duì)列的接口,代碼在zookeeper-3.4.3\src\recipes。其中分布鎖和隊(duì)列有Java和C兩個(gè)版本,選舉只有Java版本。
工作原理
ZooKeeper是以Fast Paxos算法為基礎(chǔ)的,Paxos 算法存在活鎖的問(wèn)題,即當(dāng)有多個(gè)proposer交錯(cuò)提交時(shí),有可能互相排斥導(dǎo)致沒(méi)有一個(gè)proposer能提交成功,而Fast Paxos作了一些優(yōu)化,通過(guò)選舉產(chǎn)生一個(gè)leader (領(lǐng)導(dǎo)者),只有l(wèi)eader才能提交proposer,具體算法可見(jiàn)Fast Paxos。因此,要想弄懂ZooKeeper首先得對(duì)Fast Paxos有所了解。
工作流程
1、選舉Leader。
2、同步數(shù)據(jù)。
3、選舉Leader過(guò)程中算法有很多,但要達(dá)到的選舉標(biāo)準(zhǔn)是一致的。
4、Leader要具有最高的執(zhí)行ID,類似root權(quán)限。
5、集群中大多數(shù)的機(jī)器得到響應(yīng)并follow選出的Leader。
在Zookeeper中,znode是一個(gè)跟Unix文件系統(tǒng)路徑相似的節(jié)點(diǎn),可以往這個(gè)節(jié)點(diǎn)存儲(chǔ)或獲取數(shù)據(jù)。如果在創(chuàng)建znode時(shí)Flag設(shè)置為EPHEMERAL,那么當(dāng)創(chuàng)建這個(gè)znode的節(jié)點(diǎn)和Zookeeper失去連接后,這個(gè)znode將不再存在在Zookeeper里,Zookeeper使用Watcher察覺(jué)事件信息。當(dāng)客戶端接收到事件信息,比如連接超時(shí)、節(jié)點(diǎn)數(shù)據(jù)改變、子節(jié)點(diǎn)改變,可以調(diào)用相應(yīng)的行為來(lái)處理數(shù)據(jù)。Zookeeper的Wiki頁(yè)面展示了如何使用Zookeeper來(lái)處理事件通知,隊(duì)列,優(yōu)先隊(duì)列,鎖,共享鎖,可撤銷的共享鎖,兩階段提交。
那么Zookeeper能做什么事情呢,簡(jiǎn)單的例子:假設(shè)我們有20個(gè)搜索引擎的服務(wù)器(每個(gè)負(fù)責(zé)總索引中的一部分的搜索任務(wù))和一個(gè)總服務(wù)器(負(fù)責(zé)向這20個(gè)搜索引擎的服務(wù)器發(fā)出搜索請(qǐng)求并合并結(jié)果集),一個(gè)備用的總服務(wù)器(負(fù)責(zé)當(dāng)總服務(wù)器宕機(jī)時(shí)替換總服務(wù)器),一個(gè)web的cgi(向總服務(wù)器發(fā)出搜索請(qǐng)求)。搜索引擎的服務(wù)器中的15個(gè)服務(wù)器提供搜索服務(wù),5個(gè)服務(wù)器正在生成索引。這20個(gè)搜索引擎的服務(wù)器經(jīng)常要讓正在提供搜索服務(wù)的服務(wù)器停止提供服務(wù)開(kāi)始生成索引,或生成索引的服務(wù)器已經(jīng)把索引生成完成可以提供搜索服務(wù)了。使用Zookeeper可以保證總服務(wù)器自動(dòng)感知有多少提供搜索引擎的服務(wù)器并向這些服務(wù)器發(fā)出搜索請(qǐng)求,當(dāng)總服務(wù)器宕機(jī)時(shí)自動(dòng)啟用備用的總服務(wù)器。
1.右擊“項(xiàng)目”→選擇Properties,在彈出的對(duì)話框左側(cè)列表中選擇Java Build Path,彈出對(duì)話框,這里選擇"Add Library",彈出對(duì)話框,選擇"User Library",然后選擇→Next
2.在出現(xiàn)的對(duì)話框中,可以選擇已經(jīng)創(chuàng)建好的用戶自定義庫(kù),也可以選擇User Libraries,彈出的新對(duì)話框中選擇"New",創(chuàng)建新的用戶自定義庫(kù)。
3.在待創(chuàng)建用戶自定義庫(kù)中,輸入新的自定義庫(kù)的名字,
4.然后為新庫(kù),添加所需的Jar包
5.按上述步驟添加好用戶自定義庫(kù)后,以后可以重用這些已定義好的User Library庫(kù),為開(kāi)發(fā)節(jié)省時(shí)間。
請(qǐng)描述您所遇到的錯(cuò)誤,我們將盡快予以修正,謝謝!
*必填項(xiàng),請(qǐng)輸入內(nèi)容