大數(shù)據(jù)與云計(jì)算-智能建造技術(shù)專63課件講解_第1頁(yè)
大數(shù)據(jù)與云計(jì)算-智能建造技術(shù)專63課件講解_第2頁(yè)
大數(shù)據(jù)與云計(jì)算-智能建造技術(shù)專63課件講解_第3頁(yè)
大數(shù)據(jù)與云計(jì)算-智能建造技術(shù)專63課件講解_第4頁(yè)
大數(shù)據(jù)與云計(jì)算-智能建造技術(shù)專63課件講解_第5頁(yè)
已閱讀5頁(yè),還剩16頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

主講人:卓曉波大數(shù)據(jù)與云計(jì)算智能建造技術(shù)專業(yè)資源庫(kù)知識(shí)點(diǎn)有條不紊ZooKeeper工作初探3ZooKeeper接口1ZooKeeper的數(shù)據(jù)模型2ZooKeeper部署ZooKeeper入門(mén)Zookeeper擁有一個(gè)和分布式的文件系統(tǒng)非常相似的層次命名空間。

Znode是ZooKeeper中數(shù)據(jù)的最小單元,既像文件一樣維護(hù)著數(shù)據(jù)、元信息、訪問(wèn)控制列表、時(shí)間戳等數(shù)據(jù)結(jié)構(gòu),又像目錄一樣可以作為路徑標(biāo)識(shí)的一部分,并可以具有子znode。

用戶對(duì)znode具有增、刪、改、查等操作(權(quán)限允許的情況下)。一、ZooKeeper的數(shù)據(jù)模型一、ZooKeeper的數(shù)據(jù)模型每個(gè)Znode都有以下三部分組成。Stat:狀態(tài)信息,用于存儲(chǔ)該Znode的版本、權(quán)限、時(shí)間戳等信息;Data:實(shí)際存儲(chǔ)的數(shù)據(jù);Children:對(duì)子節(jié)點(diǎn)的信息描述;zookeeper的設(shè)計(jì)主要是用于管理調(diào)度數(shù)據(jù),而不是用于常規(guī)的數(shù)據(jù)庫(kù)和數(shù)據(jù)存儲(chǔ)服務(wù)。

每個(gè)znode的數(shù)據(jù)大小最大為1M,不過(guò)一般情況下,都只會(huì)有幾KB。四種類型的Znode節(jié)點(diǎn),分別對(duì)應(yīng)PERSISTENT_SEQUENTIAL:永久節(jié)點(diǎn)、序列化(Znode的名字后面會(huì)自動(dòng)追加一個(gè)不斷增加的序列號(hào))3EPHEMERAL:臨時(shí)節(jié)點(diǎn)(生命周期依賴于創(chuàng)建該節(jié)點(diǎn)的會(huì)話,當(dāng)會(huì)話結(jié)束的時(shí)候,節(jié)點(diǎn)自動(dòng)刪除,當(dāng)然也可以手動(dòng)刪除,另外臨時(shí)節(jié)點(diǎn)不能有子節(jié)點(diǎn)。)2PERSISTENT:永久節(jié)點(diǎn)(生命周期不依賴于會(huì)話,只有當(dāng)客戶端顯示刪除的時(shí)候,才會(huì)被刪除。)1EPHEMERAL_SEQUENTIAL:臨時(shí)節(jié)點(diǎn)、序列化4一、ZooKeeper的數(shù)據(jù)模型一、ZooKeeper的數(shù)據(jù)模型Znode的監(jiān)聽(tīng)器機(jī)制ZooKeeper的每個(gè)節(jié)點(diǎn)上都有一個(gè)Watcher用于監(jiān)控節(jié)點(diǎn)數(shù)據(jù)的變化。當(dāng)節(jié)點(diǎn)狀態(tài)發(fā)生改變時(shí)(Znode新增、刪除、修改)將會(huì)觸發(fā)Wahcher所對(duì)應(yīng)的操作。在Watcher被觸發(fā)時(shí),ZooKeeper會(huì)向監(jiān)控該節(jié)點(diǎn)的客戶端發(fā)送一條通知說(shuō)明節(jié)點(diǎn)的變化情況。ZooKeeper可以運(yùn)行在多種系統(tǒng)平臺(tái)上面,下表展示了zk支持的系統(tǒng)平臺(tái)。ZooKeeper是用Java編寫(xiě)的,運(yùn)行在Java環(huán)境上,因此,在部署zk的機(jī)器上需要安裝Java運(yùn)行環(huán)境。為了正常運(yùn)行zk,我們需要JRE1.6或者以上的版本。ZooKeeper對(duì)于機(jī)器的硬件配置沒(méi)有太大的要求。例如,在Yahoo!內(nèi)部,ZooKeeper部署的機(jī)器其配置通常如下:雙核處理器,2GB內(nèi)存,80GB硬盤(pán)。二、ZooKeeper的部署ZooKeeper入門(mén)下載安裝zookeeper官網(wǎng):/

下載地址:

/releases.html二、ZooKeeper的部署bin目錄

zk的可執(zhí)行腳本目錄,包括zk服務(wù)進(jìn)程,zk客戶端等腳本。其中,.sh是Linux環(huán)境下的腳本,.cmd是Windows環(huán)境下的腳本。conf目錄

配置文件目錄。zoo_sample.cfg為樣例配置文件,需要修改為自己的名稱,一般為perties為日志配置文件。lib

zk依賴的包。contrib目錄

一些用于操作zk的工具包。recipes目錄

zk某些用法的代碼示例二、ZooKeeper的部署ZooKeeper可以使用單機(jī)模式或集群模式進(jìn)行部署,下面以集群部署方式進(jìn)行介紹,部署步驟如下。開(kāi)啟三臺(tái)虛擬機(jī)。搭建jdk(參考hadoop集群的搭建,建議搭建在hadoop集群中,它只需要jdk就可以了)。部署規(guī)劃:cSlave0,cSlave1,cSlave2上部署ZooKeeper服務(wù)。下載并安裝ZooKeeper將zookeeper-3.4.5-chd5.3.6.tar.gz上傳到虛擬機(jī)中解壓ZooKeepertar–xvfzookeeper-3.4.5-chd5.3.6.tar.gz-c/bigdata)對(duì)zookeeper目錄進(jìn)行重命名(mvzookeeper-3.4.5-chd5.3.6.tar.gzzookeeper)二、ZooKeeper的部署在ZooKeeper目錄下創(chuàng)建data目錄Mkdir/bigdata/zookeeper/data/在data目錄中創(chuàng)建myid文件并寫(xiě)入123touch/bigdata/zookeeper/data/myidEcho123>>/bigdata/zookeeper/data/myid將123寫(xiě)入myid文件的首行 在/usr/local/zookeeper/conf/目錄下,修改zoo.cfg4.初始化ZooKeeper。二、ZooKeeper的部署配置ZooKeeper,將下述內(nèi)容追加到/etc/zookeeper/conf/zoo.cfg文件中。zoo.cfg是ZooKeeper的配置文檔,其中ZooKeeper間正常交換信息時(shí)使用2888端口,選舉領(lǐng)導(dǎo)時(shí)使用3888端口。還須注意的是,cSlave0、cSlave1和cSlave2這三臺(tái)機(jī)器都要執(zhí)行這個(gè)操作,即保持整個(gè)集群中ZooKeeper配置相同。二、ZooKeeper的部署6.啟動(dòng)ZooKeeper服務(wù)。在每個(gè)節(jié)點(diǎn)上(cSlave0,cSlave1,cSlave2)啟動(dòng)ZooKeeper服務(wù),命令為:zkServer.shstart在每個(gè)節(jié)點(diǎn)上(cSlave0,cSlave1,cSlave2)查看ZooKeeper狀態(tài),命令為:zkServer.shstatus在每個(gè)節(jié)點(diǎn)上(cSlave0,cSlave1,cSlave2)查看ZooKeeper狀態(tài),命令為:zkServer.shstop二、ZooKeeper的部署ZooKeeper主要提供了Shell接口和api編程接口,其中Shell接口提供了管理ZooKeeper最常用的操作,編程接口則更加靈活.三、ZooKeeper的接口ls查看節(jié)點(diǎn)列表命令;用于查看某個(gè)路徑下目錄列表。格式:ls、path、#path代表路徑lsls2用于查看某路徑下節(jié)點(diǎn)詳細(xì)信息格式:ls2、pathls2create命令用于創(chuàng)建節(jié)點(diǎn)并賦值格式:create、[-s]、[-e]、path、data、acls、-e可選,-s是順序節(jié)點(diǎn),-e是臨時(shí)節(jié)點(diǎn)。data要在此節(jié)點(diǎn)存儲(chǔ)的數(shù)據(jù)create創(chuàng)建節(jié)點(diǎn)命令set命令用于修改節(jié)點(diǎn)存儲(chǔ)的數(shù)據(jù)格式:set、path、dataset更新節(jié)點(diǎn)命令1.Zookeeper常用shell命令三、ZooKeeper的接口get命令用于獲取節(jié)點(diǎn)數(shù)據(jù)和狀態(tài)信息格式:get、path、【watch】,【watch】對(duì)節(jié)點(diǎn)進(jìn)行事件監(jiān)聽(tīng)get查看節(jié)點(diǎn)命令格式:stat、path、【watch】stat查看節(jié)點(diǎn)狀態(tài)命令delete命令用于刪除某節(jié)點(diǎn),也可以傳入版本號(hào)格式:delete、path、【version】delete刪除節(jié)點(diǎn)命令使用getpath【watch】注冊(cè)的監(jiān)聽(tīng)器,能夠在節(jié)點(diǎn)內(nèi)容發(fā)生改變的時(shí)候,向客戶端發(fā)出通知。使用statpath【watch】注冊(cè)的監(jiān)聽(tīng)器,能夠在節(jié)點(diǎn)狀態(tài)發(fā)生改變時(shí),向客戶端發(fā)出通知。使用ls\ls2path【watch】注冊(cè)的監(jiān)聽(tīng)器,能夠監(jiān)聽(tīng)節(jié)點(diǎn)下所有子節(jié)點(diǎn)的增加和刪除操作。監(jiān)聽(tīng)器1.Zookeeper常用shell命令三、ZooKeeper的接口ZooeeperAPI共包含五個(gè)包,分別為∶

org.apache.zookeeperorg.apache.zookeeper.dataorg.apache.zookeeper.serverorg.apache.zookeeper.server.quorumorg.apache.zookeeper.server.upgrade其中org.apache.zookeeper,包含Zookeeper類,它是編程時(shí)最常用的類文件。這個(gè)類是Zookeeper客戶端的主要類文件。如果要使用Zookeeper服務(wù),應(yīng)用程序首先必須創(chuàng)建一個(gè)Zooeeper實(shí)例,這時(shí)就需要使用此類。一旦客戶端和Zookeeper服務(wù)端建立起了連接,Zookeeper系統(tǒng)將會(huì)給本次連接會(huì)話分配一個(gè)ID值,并且客戶端將會(huì)周期性的向服務(wù)器端發(fā)送心跳來(lái)維持會(huì)話連接。只要連接有效,客戶端就可以使用Zookeeper

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論