国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

zookeeper多節點集群搭建

tracymac7 / 1688人閱讀

摘要:今天就在這給大家介紹下多節點的集群搭建此次用到臺虛擬的系統,的大部分操作都是通過選舉產生的。完成配置之后分發給其他兩個節點在每個節點上依次啟動后,檢查集群是否啟動成功返回結果可能為或則表示成功啟動集群。

zk詳細介紹

寫在開始
在上次關于zookeeper文章中給大家介紹了單節點情況下啟動運行zk相關步驟,很簡單,但是也很有必要。今天就在這給大家介紹下zk多節點的集群搭建(此次用到3臺虛擬的centos7系統,Zookeeper的大部分操作都是通過選舉產生的。比如,標記一個寫是否成功是要在超過一半節點發送寫請求成功時才認為有效。同樣,Zookeeper選擇領導者節點也是在超過一半節點同意時才有效。最后,Zookeeper是否正常是要根據是否超過一半的節點正常才算正常。這是基于CAP的一致性原理。故zk的集群節點數一般為奇數)。

為什么是zk
在分布式應用中,經常會出現部分失敗的情況,即當節點間傳遞消息的時候由于網絡或者接收者進程死掉等原因,發送者無法知道接收者是否收到消息。由于部分失敗是分布式系統固有的特征因此zookeeper并不能避免部分失敗,但是它可以幫你在部分失敗的時候進行正確處理,保證最終正確。

zookeeper具有的特征

1:zookeeper提供豐富的構件(building block)來實現很多協調數據結構和協議

2:訪問原子性,客戶端要么讀到所有數據,要么讀取失敗,不會出現只讀取部分的情況

3:zookeeper運行在一組機器上,具有高可用性,幫助系統避免單點故障,同時刪掉故障服務器

4:順序一致性:任意客戶端的更新請求會被按照發送順序提交

5:單一系統映像:當一臺服務器故障,導致它的客戶端需要連接其它服務器的時候,所有更新晚于故障服務器的服務器都不會接收請求,一直到更新趕上故障服務器

6:及時性:任何客戶端能看到的滯后都是有限的,不會超過幾十秒,且提供sync操作強制客戶端所連的服務器與領導者同步

7:會話:每個客戶端連接時會嘗試連接到配置列表中的一臺服務器,一旦失敗會自動連接另一臺服務器依次類推,知道成功連接一臺服務器,從而創建一個會話,客戶端可以位每個會話設置超時時間,一旦會話過期,則所有短暫znode會丟失,因為zookeeper會自動發送心跳包,所以很少發生

8:約會機制(rendezvous),在交互的過程中,被協調的各方不許要事先彼此了解,甚至不必同時存在

9:ACL:zookeeper提供了digest(通過用戶名密碼),host(通過主機名),ip(通過ip地址)3種身份驗證模式,依賴與 zookeeper的身份驗證機制每個ACL都是一個身份對應一組權限,如果我們要給demo.com的客戶端域一個讀權限在java語言中可以這樣創建:new ACL(Perms.READ, new Id("host", "demo.com"));Ids.OPEN_ACL_UNSAFE是將所有ADMIN之外的權限授予每個人;另zookeeper還可以集成第三方的身份驗證系統。

10:提供關于通用協調模式的開源共享資源庫

11:高性能的(官方數據)對以寫為主的工作負載來說使用5臺不錯的機器基準吞吐量達到10000+

集群安裝

根據教程安裝一臺鏡像為centos7 minimal系統的虛擬機,在目錄:/etc/sysconfig/network-scripts/ifcfg-ens33(多半文件后的數值不一樣)配置網卡如下

重啟網卡:service network restart
檢查自己ip是否于配置的一樣: ip addr
將當前已經配置好網絡的虛擬機保存一個快照,如果后面安裝失敗可以還原回來。
2.關閉系統在克隆兩個同樣的虛擬機

完成克隆后要記得修改其ip地址,重復步驟1即可。

3.下載zooekeep并解壓到/usr/localhost 目錄,在conf文件下添加zoo.cfg文件,文件內容如下:

tickTime=2000
dataDir=/opt/zookeeper
clientPort=2181
initLimit=5
syncLimit=2
server.1=192.168.1.11:2888:3888
server.2=192.168.1.12:2888:3888
server.3=192.168.1.13:2888:3888

initLimit:這個配置項是用來配置Zookeeper 接受客戶端(這里所說的客戶端不是用戶連接 Zookeeper 服務器的客戶端,而是 Zookeeper 服務器集群中連接到 Leader 的 Follower 服務器)初始化連接時最長能忍受多少個心跳時間間隔數。當已經超過 10 個心跳的時間(也就是 tickTime)長度后 Zookeeper 服務器還沒有收到客戶端的返回信息,那么表明這個客戶端連接失敗。總的時間長度就是 5*2000=10 秒。

syncLimit:這個配置項標識Leader 與 Follower 之間發送消息,請求和應答時間長度,最長不能超過多少個 tickTime 的時間長度,總的時間長度就是 2*2000=4 秒。

server.A=B:C:D:其中 A 是一個數字,表示這個是第幾號服務器;B 是這個服務器的 ip 地址;C 表示的是這個服務器與集群中的 Leader 服務器交換信息的端口;D 表示的是萬一集群中的 Leader 服務器掛了,需要一個端口來重新進行選舉,選出一個新的 Leader,而這個端口就是用來執行選舉時服務器相互通信的端口。如果是偽集群的配置方式,由于 B 都是一樣,所以不同的 Zookeeper 實例通信端口號不能一樣,所以要給它們分配不同的端口號。

除了修改 zoo.cfg 配置文件,集群模式下還要配置一個文件 myid,這個文件在 dataDir 目錄下,這個文件里面就有一個數據就是 A 的值,Zookeeper 啟動時會讀取這個文件,拿到里面的數據與 zoo.cfg 里面的配置信息比較從而判斷到底是那個 server。

完成配置之后分發給其他兩個節點:
scp -r zookeeper-3.5.2-alpha/ root@192.168.1.12:/usr/local/
scp -r zookeeper-3.5.2-alpha/ root@192.168.1.13:/usr/local/

在每個節點上依次啟動后,檢查集群是否啟動成功
sh zkServer.sh status 返回結果可能為leader或follower則表示成功啟動zk集群。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/67690.html

相關文章

  • Zookeeper學習系列【二】Zookeeper 集群章節之集群搭建

    摘要:本章內容主要講的是集群搭建相關的知識。在集群模式下,最少需要三個節點。并且官方推薦你使用奇數數量的節點來組成集群。這個值必須是集群中唯一的。在確認每臺服務器上的和文件修改創建之后,在三個節點上分別執行命令,啟動。 前言 同道們,好久不見,上一章中,我主要講了Zookeeper的一些基礎的知識點。數據模型 + 原語集 + Watches機制。本章內容主要講的是集群搭建相關的知識。 本篇的...

    shixinzhang 評論0 收藏0
  • 可能是全網把 ZooKeeper 概念講的最清楚的一篇文章

    摘要:的設計目標是將那些復雜且容易出錯的分布式一致性服務封裝起來,構成一個高效可靠的原語集,并以一系列簡單易用的接口提供給用戶使用。具有不可分割性即原語的執行必須是連續的,在執行過程中不允許被中斷。 該文已加入開源文檔:JavaGuide(一份涵蓋大部分Java程序員所需要掌握的核心知識)。地址:https://github.com/Snailclimb... showImg(https:...

    DrizzleX 評論0 收藏0
  • zookeeper 高可用集群搭建

    摘要:前言記錄集群搭建的過程什么是是一個分布式的,開放源碼的分布式應用程序協調服務,是的一個開源的實現,是和的重要組件。 showImg(https://segmentfault.com/img/remote/1460000017993000); 前言 記錄Zookeeper集群搭建的過程! 什么是 Zookeeper ? ZooKeeper是一個分布式的,開放源碼的分布式應用程序協調服務,...

    sherlock221 評論0 收藏0

發表評論

0條評論

tracymac7

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<