zookeeper集群介绍
? ? ZooKeeper是一個開源分布式協調服務,獨特的Leader-Follower的集群結構,很好的解決了分布式單點問題。目前主要用于諸如:統一命名服務、配置管理、鎖服務、集群管理等場景。
????Zookeeper中的角色主要有以下三類,如下表所示:
Zookeeper系統模型:
Zookeeper設計目的 :
????最終一致性: client不論連接到哪個Server,展示給它都是同一個視圖
????可靠性: 具有簡單、健壯、良好的性能,如果消息m被到一臺服務器接受,那么它將被所有的服務器接受
????實時性: Zookeeper保證客戶端將在一個時間間隔范圍內獲得服務器的更新信息,或者服務器失效的信息。但由于網絡延時等原因,Zookeeper不能保證? ?兩個客戶端能同時得到剛更新的數據,如果需要最新數據,應該在讀數據之前調用sync()接口
????等待無關性: 慢的或者失效的client不得干預快速的client的請求,使得每個client都能有效的等待
????原子性: 更新只能成功或者失敗,沒有中間狀態
????順序性: 包括全局有序和偏序兩種:全局有序是指如果在一臺服務器上消息a在消息b前發布,則在所有Server上消息a都將在消息b前被發布;偏序是指如果一個消息b在消息a后被同一個發送者發布,a必將排在b前面
Zookeeper總結:
????— 核心特性:解決單點問題,數據一致性。
????— API使用:簡單清晰
????— 使用場景:統一命名服務、配置管理、鎖服務、集群管理
????— 穩定性:權限,監控,容災
Zookeeper單節點安裝
????前置環境
????— 主機名、ip、防火墻、selinux、java環境配置
????下載解壓
????— http://archive.apache.org/dist/zookeeper/zookeeper-3.4.5/zookeeper-3.4.5.tar.gz
????配置
????— 復制配置文件:cp conf/zoo_sample.cfg conf/zoo.cfg
????— 配置數據存儲目錄:dataDir= /home/softwares/zookeeper-3.4.5/data
????— 啟動:bin/zkServer.shstart
????— 查看狀態:bin/zkServer.shstatus
????— 進入命令行:bin/zkCli.sh
Zookeeper集群安裝:
????前置環境
????— 主機名、ip、防火墻、selinux、java環境配置
????配置(修改zoo.conf)
? ? — server.1=hadoop01.jkxy.com:2888:3888
? ? — server.2=hadoop02.jkxy.com:2888:3888
? ? — server.3=hadoop03.jkxy.com:2888:3888
????— maxClientCnxns=0 ? #服務器最大連接數,默認是10,改為0表示沒限制
????— dataDir= /home/softwares/zookeeper-3.4.5/data #數據存儲目錄
????— ?autopurge.snapRetainCount=3 #快照數
????— ?autopurge.purgeInterval=1 #快照清理時間,默認為0
總結
以上是生活随笔為你收集整理的zookeeper集群介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Intelij IDEA 常用快捷键
- 下一篇: Hadoop配置完善