日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

ZooKeeper分布式協調服務設計核心概念及安裝配置

瀏覽:482日期:2023-04-06 15:09:26
目錄
  • 一、ZooKeeper 簡介
    • 1.ZooKeeper 設計目標
    • 2.核心概念
      • 1)Session 會話
      • 2)數據節點
      • 3)Watcher
      • 4)ACL
    • 3.Zab 協議介紹
    • 二、ZooKeeper Cluster 安裝
      • 1.安裝 ZooKeeper
        • 2.使用 Golang 連接 ZooKeeper 的 API 接口
          • 3.配置 ZooKeeper Cluster

          一、ZooKeeper 簡介

          ZooKeeper 是一個開源的分布式協調服務,目前由 Apache 進行維護。ZooKeeper 可以用于實現分布式系統中常見的發布/訂閱、負載均衡、命令服務、分布式協調/通知、集群管理、Master 選舉、分布式鎖和分布式隊列等功能。 它具有以下特性:

          順序一致性: 來自客戶端的更新操作將會按照順序被應用;

          原子性: 即要么全部更新成功,要么要不更新失敗,沒有部分的結果;

          統一的系統鏡像: 即不管客戶端連接的是哪臺服務器,都能看到同樣的服務視圖(也就是無狀態的)

          可靠性: 一旦寫入操作被執行,那么這個狀態將會被持久化,直到其它客戶端的修改生效。

          實時性: 一旦一個事務被成功應用,ZooKeeper 可以保證客戶端立即讀取到這個事務變更后的最新狀態的數據。

          1.ZooKeeper 設計目標

          • ZooKeeper 致力于為那些高吞吐的大型分布式系統提供一個高性能、高可用、且具有嚴格順序訪問控制能力的分布式協調服務。

          1)簡單的數據模型:

          ZooKeeper 通過樹形結構來存儲數據,它由一系列被稱為 ZNode 的數據節點組成,類似于常見的文件系統;

          不過和常見的文件系統不同,ZooKeeper 將數據全量存儲在內存中,以此來實現高吞吐,減少訪問延遲。

          2)可配置 Cluster:

          為了保證高可用,最好是以集群形態部署 ZooKeeper,這樣只要集群中大部分機器是可用的,那么 ZooKeeper 本身仍然可用。

          上圖中每一個 Server 代表一個安裝 ZooKeeper 服務的服務器,組成 ZooKeeper 服務的服務器都會在內存中維護當前的服務器狀態,并且每臺服務器間都保持著通信。并通過 Zab 協議來保持數據的一致性。

          3)順序訪問:

          對于來自客戶端的每個更新請求,ZooKeeper 都會分配一個全局唯一的遞增 ID,這個 ID 決定了所有事務操作的先后順序。

          4)高性能高可用

          ZooKeeper 將數據全量存儲在內存中以保持高性能,并通過服務集群來實現高可用;由于 ZooKeeper 的所有更新和刪除都是基于事務的,所以其在讀多寫少的應用場景中有著很高的性能表現。

          2.核心概念

          Cluster 角色:

          角色作用Leader提供讀寫服務,并維護集群狀態(經過選舉產生)Follower提供讀寫服務,并定期向 Leader 匯報自己的節點狀態(同時也參加 過半寫成功 的策略和 Leader 的選舉)OBServer提供讀寫服務,并定期向 Leader 匯報自己的節點狀態(因為不參加策略和選舉,所以可以在不影響寫性能的情況下提升集群的讀性能)

          1)Session 會話

          當 Client 通過 TCP 長連接 連接到 ZooKeeper 服務器時,Session 便開始建立連接,并通過 tickTime(心跳檢測)機制來保持有效的會話狀態。通過這個連接,Client 可以發送請求并接收響應,同時也可以接收到 Watch 事件的通知。

          另外,當由于網絡故障或者 Client 主動斷開等原因,導致連接斷開,此時只要在會話超時時間之內重新建立連接,則之間創建的會話依然有效。(這個取決于 tickTime 配置)

          2)數據節點

          ZooKeeper 數據模型是由一系列基本數據單元 ZNode(數據節點)組成的節點樹,其中根節點為 /(每個節點上都會保存自己的數據和節點信息);ZooKeeper 中的節點可以分為兩大類:

          持久節點: 節點一旦創建,除非被主動刪除,否則一直存在。

          臨時節點: 一旦創建該節點的客戶端會話(Session)失效,則所有該客戶端創建的臨時節點都會被刪除。

          3)Watcher

          ZooKeeper 中一個常用的功能是 Watcher(事件監聽器),它允許用戶在指定節點上針對感興趣的事件注冊監聽,當事件發生時,監聽器會被觸發,并將事件推送到客戶端。該機制是 ZooKeeper 實現分布式協調服務的重要特性。

          4)ACL

          命令作用create可以進行創建操作read可以進行查看操作write可以對創建的內容進行寫入操作delete可以進行刪除操作admin可以進行配置權限操作

          命令作用create可以進行創建操作read可以進行查看操作write可以對創建的內容進行寫入操作delete可以進行刪除操作admin可以進行配置權限操作

          3.Zab 協議介紹

          Zab(ZooKeeper Atomic Broadcast 原子廣播)協議是為分布式協調服務 ZooKeeper 專門設計的一種 支持崩潰恢復的原子廣播協議;

          在 ZooKeeper 中,主要依賴 Zab 協議來實現分布式數據一致性;

          基于 Zab 協議,ZooKeeper 實現了一種主備模式的系統架構來保持集群中各個副本間的數據一致性。

          二、ZooKeeper Cluster 安裝

          準備工作:

          主機名操作系統IP 地址ZooKeeperCentOS 7.4192.168.1.1

          安裝 JDK:下載地址(需要創建 Oracle 賬號)

          [root@ZooKeeper ~]# lsanaconda-ks.cfg  jdk-8u181-linux-x64.tar.gz[root@ZooKeeper ~]# tar zxf jdk-8u181-linux-x64.tar.gz [root@ZooKeeper ~]# lsanaconda-ks.cfg  jdk1.8.0_181  jdk-8u181-linux-x64.tar.gz[root@ZooKeeper ~]# mv jdk1.8.0_181 /usr/local/java[root@ZooKeeper ~]# cat <<END >> /etc/profileexport JAVA_HOME=/usr/local/javaexport PATH=$PATH:$JAVA_HOME/binEND[root@ZooKeeper ~]# source /etc/profile[root@ZooKeeper ~]# java -version

          1.安裝 ZooKeeper

          [root@ZooKeeper ~]# wget http://dlcdn.apache.org/zookeeper/zookeeper-3.6.3/apache-zookeeper-3.6.3-bin.tar.gz[root@ZooKeeper ~]# lsanaconda-ks.cfg  apache-zookeeper-3.6.3-bin.tar.gz  jdk-8u181-linux-x64.tar.gz[root@ZooKeeper ~]# tar zxf apache-zookeeper-3.6.3-bin.tar.gz[root@ZooKeeper ~]# mv apache-zookeeper-3.6.3-bin /usr/local/zookeeper[root@ZooKeeper ~]# mkdir /usr/local/zookeeper/data[root@ZooKeeper ~]# cat <<END >> /usr/local/zookeeper/conf/zoo.cfgtickTime=2000initLimit=10syncLimit=5dataDir=/usr/local/zookeeper/dataclientPort=2181END

          注解:

          tickTime:Client 和服務器間的通信會話限制(相當于健康檢查,tickTime 的時間為 ms (1s = 1000ms))

          initLimit:Leader 和 Follower 間初始通信限制。

          syncLimit:Leader 和 Follower 間同步通信限制(當響應時間超于 syncLimit * tickTime 時,Leader 便會將 Follower 進行移除)

          dataDir:此目錄用于存放保存在內存數據庫中的快照信息(當未配置 dataLogDir 參數時,日志信息也會存放到此目錄)

          clientPort:ZooKeeper 監聽的端口,用于客戶端連接使用。

          啟動 ZooKeeper

          [root@ZooKeeper ~]# /usr/local/zookeeper/bin/zkServer.sh start						# 啟動[root@ZooKeeper ~]# /usr/local/zookeeper/bin/zkServer.sh status						# 查看狀態

          連接到 ZooKeeper

          [root@ZooKeeper ~]# /usr/local/zookeeper/bin/zkCli.sh -server 127.0.0.1:2181Welcome to ZooKeeper!JLine support is enabledWATCHER::WatchedEvent state:SyncConnected type:None path:null[zk: 127.0.0.1:2181(CONNECTED) 0] 

          當連接成功后,系統會輸出 ZooKeeper 的相關配置信息和相關環境,并在屏幕上輸出 Welcome to ZooKeeper! 等信息。

          2.使用 Golang 連接 ZooKeeper 的 API 接口

          3.配置 ZooKeeper Cluster

          在原來的基礎上,在增加兩臺服務器:

          主機名操作系統IP 地址ZooKeeper-2CentOS 7.4192.168.1.2ZooKeeper-3CentOS 7.4192.168.1.3

          1)將 Java 和 ZooKeeper 傳給新的服務器:

          [root@ZooKeeper ~]# scp -r /usr/local/java root@192.168.1.2:/usr/local/[root@ZooKeeper ~]# scp -r /usr/local/zookeeper root@192.168.1.2:/usr/local/

          2)在新的服務器上啟動 ZooKeeper:

          [root@ZooKeeper ~]# cat <<END >> /etc/profileexport JAVA_HOME=/usr/local/javaexport PATH=$PATH:$JAVA_HOME/binEND[root@ZooKeeper ~]# source /etc/profile[root@ZooKeeper ~]# /usr/local/zookeeper/bin/zkServer.sh start

          3)配置 Cluster 集群(三臺服務器上操作一樣)

          [root@ZooKeeper ~]# cat <<END >> /usr/local/zookeeper/conf/zoo.cfgserver.1=192.168.1.1:2888:3888server.2=192.168.1.2:2889:3889server.3=192.168.1.3:2890:3890END

          4)創建 myid 文件

          [root@ZooKeeper ~]# echo "1" > /usr/local/zookeeper/data/myid[root@ZooKeeper-2 ~]# echo "2" > /usr/local/zookeeper/data/myid[root@ZooKeeper-2 ~]# echo "3" > /usr/local/zookeeper/data/myid

          需要確保每臺服務器的 myid 文件中數字不同,并且和自己所在機器的 zoo.cfgserver.id=host:port:portid 值一樣。

          另外,id 的范圍是 1 ~ 255

          5)重啟 ZooKeeper 服務

          [root@ZooKeeper ~]# /usr/local/zookeeper/bin/zkServer.sh restart			# 三臺服務器都要重啟

          查看 ZooKeeper 狀態:

          驗證:

          以上就是ZooKeeper分布式協調服務設計核心概念及安裝配置的詳細內容,更多關于ZooKeeper分布式協調服務核心安裝配置的資料請關注其它相關文章!

          標簽: Zabbix
          日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
          国产乱子精品一区二区在线观看| 91久久久精品国产| 亚洲一级大片| 日韩啪啪电影网| 欧美国产先锋| 国产欧美大片| 日本h片久久| 久久精品动漫| 午夜天堂精品久久久久| 久久蜜桃精品| 日韩av在线中文字幕| 亚洲专区一区| 亚洲激情中文| 亚洲欧美日韩综合国产aⅴ| 亚洲风情在线资源| 欧洲亚洲一区二区三区| 麻豆一区二区在线| 精品久久美女| 成人精品国产亚洲| 欧美中文一区二区| 伊人影院久久| 久久午夜精品| 日韩午夜一区| 中文国产一区| 亚洲网址在线观看| 日韩专区欧美专区| 午夜精品久久久久久久久久蜜桃| 精品久久中文| 日韩精选在线| 蜜臀久久99精品久久久久久9| 日本黄色精品| 四虎影视精品| 欧美日韩免费观看视频| 久久亚洲色图| 国产精品三上| 日本不卡中文字幕| 国产毛片精品久久| 精品一区av| 精品视频在线一区二区在线| 捆绑调教美女网站视频一区| 国产一区二区三区成人欧美日韩在线观看| 亚洲美女久久| 国产精品毛片久久久| 亲子伦视频一区二区三区| 亚洲作爱视频| 蜜臀av亚洲一区中文字幕| 久久精品国产一区二区| 亚洲精品第一| 欧美精品成人| 日韩视频在线一区二区三区 | 国产亚洲在线观看| 国产一精品一av一免费爽爽| 五月天综合网站| 国产+成+人+亚洲欧洲在线| 99精品在线免费在线观看| 六月天综合网| 精品国产亚洲日本| 伊伊综合在线| 国产精品普通话对白| 国产精品一国产精品k频道56| 蜜臀久久99精品久久一区二区| 国产精品乱战久久久| 欧美日韩国产亚洲一区| av资源亚洲| 99国产精品99久久久久久粉嫩| 综合干狼人综合首页| 国产探花一区| 精品1区2区3区4区| 欧美天堂在线| 国产精品激情| 国产日韩一区二区三区在线播放| 久久精品人人| 日本在线观看不卡视频| 中文字幕日本一区| 老司机精品视频网| 日韩精品欧美大片| 激情婷婷亚洲| 亚洲精品少妇| 日韩一区三区| 久久99蜜桃| 日韩中文字幕一区二区三区| 亚洲一本视频| 亚洲精品动态| 欧美国产免费| 欧美一区影院| 国产一区丝袜| av不卡在线| 欧美日韩伊人| 亚洲一区二区三区高清| 亚洲一区观看| 日韩电影二区| 国产精品久久久网站| 在线一区视频观看| 亚洲1区在线观看| 国产精区一区二区| 三级在线观看一区二区| 91麻豆精品| 石原莉奈在线亚洲三区| 成人精品亚洲| 蜜桃成人av| 日韩精品视频在线看| 美女久久99| 日本亚洲欧洲无免费码在线| 国产精品黑丝在线播放| 国产乱码精品一区二区三区亚洲人| 播放一区二区| 欧美三级第一页| 一区二区三区国产盗摄| 日韩欧美精品综合| 日韩精品欧美精品| 亚洲欧美日韩国产一区| 日韩在线看片| a天堂资源在线| 国产精品一区二区av交换| 欧洲亚洲一区二区三区| 国产精品美女午夜爽爽| 丝袜美腿高跟呻吟高潮一区| 日韩中文首页| 欧美成人aaa| 国产经典一区| 久久精品99国产精品| 不卡中文一二三区| 999精品一区| 日韩一区自拍| 日韩国产一区二| 免费日韩av| 好吊一区二区三区| 久久九九精品| 亚洲成人不卡| 不卡专区在线| 免费在线观看一区| 国产亚洲久久| 欧美日本不卡| 国产精品久久久久77777丨| 国产精品亚洲一区二区在线观看| 国产日韩视频| 精品视频91| 黄色在线观看www| 久久激情中文| 性色av一区二区怡红| 亚洲三区欧美一区国产二区| 日韩欧美中文字幕电影| 欧美亚洲三级| 另类欧美日韩国产在线| 卡一卡二国产精品| 国产91在线精品| 午夜精品成人av| 欧美日韩精品免费观看视频完整| 视频一区二区三区在线| 日韩va欧美va亚洲va久久| 国产欧美日韩综合一区在线播放| 久久gogo国模啪啪裸体| 91av亚洲| 亚洲色诱最新| 日本少妇一区二区| 麻豆成人91精品二区三区| 蜜臀国产一区| 免费久久精品视频| 国产日韩视频| 香蕉成人av| 9久re热视频在线精品| 日韩国产欧美三级| 久久精品欧洲| 红桃视频国产精品| 91精品国产自产精品男人的天堂 | 在线看片不卡| 亚洲精品麻豆| 卡一卡二国产精品| 久久在线免费| 日韩在线网址| 水蜜桃久久夜色精品一区| 伊人久久大香线蕉av超碰演员| 在线免费观看亚洲| 久久影院一区二区三区| 欧美日韩在线网站| 日韩国产在线不卡视频| 日本一区二区免费高清| 99在线精品免费视频九九视| 国产探花在线精品| 成人看片网站| 啪啪亚洲精品| 久久久天天操| 日本亚洲欧美天堂免费| 色偷偷偷在线视频播放| 美国三级日本三级久久99| 精品视频黄色| 亚洲一级大片| 久久精品国产成人一区二区三区| 五月综合激情| 国产精品视频一区二区三区| 婷婷六月综合| 久久精品二区亚洲w码| 亚洲欧美成人综合| 国产成人精品亚洲线观看| 亚洲有吗中文字幕| 成人精品亚洲| 国产精品久久久久9999高清| 亚洲一区二区免费看| 精品久久91| 亚洲精品福利|