這篇文章給大家分享的是有關怎么安裝Zookeeper集群的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
zookeeper概述
什么是zookeeper?為什么zookeeper在大數據領域如此重要?下面我們從最基礎的開始了解。
zookeeper是一個分布式協調服務的開源框架。其主要作用是用來解決分布式集群中的數據一致性問題。zookeeper本質上是一個小文件系統。其數據結構類似于文件系統的目錄樹,zookeeper可以對這些節點進行有效的管理。通過節點管理,來達到監控和維護節點數據的目標。通過監控數據的變化,來達到管理集群的目的。常見的應用如:配置管理、名稱服務、分布式消息隊列、分布式鎖、分布式協調服務等。
zookeeper特性
數據一致性:在zookeeper集群中,每個server都保存著一份相同的數據副本,client無論連接到哪一個server,展示的數據都是一致的,這是zookeeper一個非常重要的特性,也是其在大數據領域廣泛應用的基礎。
可靠性:如果客戶端請求被任意一個server接受,那么該請求就會被整個集群接受。
順序性:有全局有序和偏序兩種。全局有序是指如果在一臺server上,消息a在消息b先發布,那么在所有server上,消息a都在消息b先發布。而偏序是指消息a在消息b前被同一個server發布,那么消息a必定在消息b的前面。
數據更新的原子性:一次數據更新要么成功,要么失敗,不存在中間狀態。
實時性:zookeeper保證客戶端在一定的時間間隔內獲得服務器的響應,無論是成功還是失敗。
zookeeper角色
leader:是集群正常工作的核心。事務性(寫操作)請求的唯一處理者和調度者。集群內部的管理者和調度者。
follower:處理非事務性請求,參與集群leader選舉,轉發事務性請求給leader.
observer:處理非事務性請求,不參與leader選舉,轉發事務性請求給leader。如果集群的讀請求很多,可以添加observer角色,提高集群的非事務處理能力。
zookeeper安裝
zookeeper的安裝分為單機版和集群版,單機版主要用來調試。下面我們演示在虛擬機中安裝集群版。zookeeper集群通常由奇數個節點組成,這是為了保證集群leader的選舉(基于paxos算法,此篇文章不做介紹)。本次演示使用3臺機器如何安裝zookeeper集群。
1.安裝jdk,三臺機器都要安裝
下載地址https://www.oracle.com/technetwork/java/javase/downloads /index.htmljdk-8u211-linux-x64.rpm#安裝rpm -ivh jdk-8u211-linux- x64.rpm#切換javaalternatives --config java
2.下載zookeeper安裝包
下載地址:https://archive.apache.org/dist/zookeeper/安裝包版本:zookeeper-3.4.5.tar.gz
3.配置主機名映射
vim /etc/hosts192.168.80.10 node1192.168.80.11 node2192.168.80.12 node3
4.修改zookeeper配置文件
tar -zxvf zookeeper-3.4.5.tar.gz -C /servers/cd /serversln -s zookeeper-3.4.5/ zookeepercd /servers/zookeeper/confcp zoo_sample.cfg zoo.cfgvim zoo.cfg#在zoo.cfg中添加如下配置信息 tickTime=2000dataDir=/servers/zookeeper /dataclientPort=2181server.1=node1:2888:3888server.2=node2:2888:3888s erver.3=node3:2888:3888
5.設置myid文件
myid文件只包含一個數字,數值范圍在1-255,myid文件的位置在數據目錄下,由dataDir參數指定
cd /servers/zookeeper/dataecho 1 > myid注意myid中的值必須是唯一的,在 這里我們三臺機器分別設置為1,2,3
6.啟動zookeeper
./zkServer.sh start
7.查看角色狀態
/servers/zookeeper/bin/zkServer.sh status
感謝各位的閱讀!關于“怎么安裝Zookeeper集群”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。