1.zookeeper介紹
成都創(chuàng)新互聯(lián)是專業(yè)的城陽網站建設公司,城陽接單;提供成都網站建設、網站制作,網頁設計,網站設計,建網站,PHP網站建設等專業(yè)做網站服務;采用PHP框架,可快速的進行城陽網站開發(fā)網頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網站,專業(yè)的做網站團隊,希望更多企業(yè)前來合作!(1)zookeeper簡介:
Zookeeper是一個分布式的,開放源代碼的分布式應用程序協(xié)調服務,是Google的chubby一個開源的實現(xiàn)。
它提供了簡單原始的功能,分布式應用可以基于它實現(xiàn)更高的服務,比如分布式同步,配置管理,集群管理,
命名管理,隊列管理。它被設計為易與編程,使用文件系統(tǒng)目錄樹作為數(shù)據模型。服務端跑在 java 上,提供 java 和 C 的客戶端 API。
zookeeper是集群的管理者,監(jiān)視著集群中各個節(jié)點的狀態(tài),根據節(jié)點提供的反饋進行一步合理操作。最終,將簡單易用的接口
和功能穩(wěn)定,性能高效的系統(tǒng)提供給用戶。
官網地址:
http://ZooKeeper.apache.org/
官網快速開始地址:
http://ZooKeeper.apache.org/doc/trunk/ZooKeeperStarted.html
官網 API 地址:
http://ZooKeeper.apache.org/doc/r3.4.10/api/index.html
2.zookeeper的相關功能
(1)文件系統(tǒng):
ZooKeeper 的命名空間就是 ZooKeeper 應用的文件系統(tǒng),它和 linux 的文件系統(tǒng)很像,也是樹狀,這樣就可以確定每個路徑都是唯一的,
對于命名空間的操作必須都是絕對路徑操作。與Linux文件系統(tǒng)不同的是,Linux文件系統(tǒng) 有目錄和文件的區(qū)別,而ZooKeeper統(tǒng)一叫znode,
一個znode節(jié)點可以包含子znode,同時也可以包含數(shù)據。
znode 即是文件夾又是文件的概念,所以在 ZooKeeper 這里面就不叫文件文 件也不叫文件夾,叫znode,每個znode有唯一的路徑標識,
既能存儲數(shù)據,也能創(chuàng)建子znode。但是znode只適合存儲非常小的數(shù)據,不能超過1M,最好都小于1K。
zookeeper的文件系統(tǒng)的特點:
zk的文件系統(tǒng)和Linux的文件系統(tǒng)目錄結構一樣,從”“/開始
zk的訪問路徑只有絕對路徑,沒有相對路徑。
zk中沒有文件和目錄的概念,只有znode節(jié)點,Znode既有文件的功能,又有目錄的功能
(2)znode介紹:
znode在類型上分為兩種:短暫的(斷開時刪除)、持久的(斷開時保留)。但是znode有4形式的節(jié)點表現(xiàn):
persistent | 持久化znode節(jié)點,一旦創(chuàng)建這個znode點存儲的數(shù)據不會主動消失,除非客戶端主動delete |
Persistent_sequential | 自動增加順序編號的znode節(jié)點,比如ClientA 去 zk service 上建 立一個 znode 名字叫做/zk/conf,指定了 這種類型的節(jié)點后 zk 會 創(chuàng) 建 /zk/conf0000000000 , ClientB 再 去 創(chuàng) 建 就 是 創(chuàng) 建 /zk/conf0000000001, ClientC 是創(chuàng)建/zk/conf0000000002,以后任 意 Client 來創(chuàng)建這個 znode 都會得到一個比當前 zk 命名空間最 大 znode 編號+1 的 znode,也就說任意一個 Client 去創(chuàng)建 znode 都是保證得到的 znode 是遞增的,而且是 唯一的。(原子性原則) |
Ephemral | 臨時znode節(jié)點,client連接到zkservice的時候會建立一個session,之后用這個zk連接實例創(chuàng)建該類型的znode ,一旦client關閉了zk的連接,服務器就會清除 session,然后這個 session 建立的 znode 節(jié)點都會從命名空間 消失。 |
Ephemral_ sequential | 臨時自動編號設置,znode節(jié)點編號會自動增加,但是會隨著session消失而消失。 |
zookeeper的znode的相關特點:
創(chuàng)建znode時設置順序標識,znode名稱后會附加一個值,順序號是一個單調遞增的計數(shù)器,由父節(jié)點維護。(無論創(chuàng)建的是否是有編號節(jié)點,都為順序遞增)
EPHEMERAL 類型的節(jié)點不能有子節(jié)點
zk的znode的分類:臨時節(jié)點(EPHEMERAL)、永久節(jié)點(persistent)、有編號節(jié)點(Persistent_sequential)、臨時有編號(Ephemral_ sequential)
對于zk來說,它的znode中儲存的數(shù)據不能超過1M,最好不要超過1KB,如果數(shù)據量比較大,很難保證數(shù)據的一致性
對于zk來說,有幾個節(jié)點數(shù)據就會存儲幾份
3.zookeeper的監(jiān)聽機制
(1)監(jiān)聽機制介紹:
客戶端注冊監(jiān)聽它關心的目錄節(jié)點,當目錄節(jié)點發(fā)生變化(數(shù)據改變、節(jié)點刪除、子目錄節(jié) 點增加刪除)時,zookeeper會通知客戶端。
監(jiān)聽機制保證zookeeper保存的任何的數(shù)據的任何改變都能快速的相應到監(jiān)聽了該節(jié)點的應用程序。監(jiān)聽器的工作機制,其實是在客戶端會專門
創(chuàng)建一個監(jiān)聽線程,在本機的一個端口上等待zk集群發(fā)送過來的事件。
(2)監(jiān)聽的觸發(fā)
Znode的創(chuàng)建----nodeCreated
Znode 被刪除---nodeDelete
Znode的數(shù)據變化---nodedatachanged
Znode的子節(jié)點的變化----nodeChildrenchange
注意:監(jiān)聽只生效一次。(可以使用循環(huán)監(jiān)聽取,去實現(xiàn)一直監(jiān)聽)。
(3)監(jiān)聽機制的工作原理
解釋: ZooKeeper 的 Watcher 機制主要包括:客戶端線程、客戶端 WatcherManager、Zookeeper 服務 器三部分??蛻舳嗽谙騴ookeeper服務器
注冊的同時,會將Watcher對象存儲在客戶端的WatcherManager當中。當zookeeper服務器觸發(fā)watcher事件后,會向客戶端發(fā)送通知,
客戶端線程從 WatcherManager 中取出對應的 Watcher 對象來執(zhí)行回調邏輯。
(4)監(jiān)聽的設置:
相應的觸發(fā):
ls--觸發(fā)---create 、delete(子節(jié)點)
get--觸發(fā)—set
exists--觸發(fā)--- create 、delete(當前節(jié)點)
4. Zookeeper的特點
最終一致性:client不論連接哪個server,展示給他的都是同一個視圖,這是zookeeper最重要特定。
可靠性:具有簡單、健壯、良好的性能,如果消息M被一臺服務器接收,那么它將被 所有的服務器接受。
實時性:ZooKeeper 保證客戶端將在一個時間間隔范圍內獲得服務器的更新信息,或者 服務器失效的信息。但由于網絡延時等原因,
ZooKeeper 不能保證兩個客戶端能同時得 到剛更新的數(shù)據,如果需要最新數(shù)據,應該在讀數(shù)據之前調用 sync()接口。
等待無關:慢的或者失效的 client 不得干預快速的 client 的請求,使得每個 client 都能有效的等待。
原子性:更新只能成功或者失敗,沒有中間狀態(tài)。
順序性:包括全局有序和偏序兩種:全局有序是指如果在一臺服務器上消息 a 在消息 b 前發(fā)布,則在所有 Server 上消息 a 都將在消息 b 前被發(fā)布;
偏序是指如果一個消息 b 在 消息 a 后被同一個發(fā)送者發(fā)布,a 必將排在 b 前面。
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
分享名稱:大數(shù)據生態(tài)之zookeeper(知識點梳理)-創(chuàng)新互聯(lián)
轉載注明:http://aaarwkj.com/article24/cdhhce.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供服務器托管、品牌網站制作、虛擬主機、網站策劃、網站導航、網站內鏈
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內容