Zookeeper分佈式安裝
zookeeper概念
是一個分佈式的,開放源碼的分佈式應用程序協調服務,是Google的Chubby一個開源的實現,是Hadoop和Hbase的重要組件。它是一個爲分佈式應用提供一致性服務的軟件,提供的功能包括:配置維護、域名服務、分佈式同步、組服務等。
zookeeper特性
一致性: 數據一致性, 數據按照順序分批入庫
原子性: 事務要麼成功要麼失敗
單一視圖: 客戶端連接集羣中的任意zk節點, 數據都是一致的
可靠性:每次對zk的操作狀態都會保存在服務端
實時性: 客戶端可以讀取到zk服務端的最新數據
準備
hadoop集羣相關配置
192.168.1.111 linux01
192.168.1.112 linux02
192.168.1.113 linux03
apache-zookeeper-3.5.7-bin.tar.gz其他相關版本
安裝
1,將壓縮包傳入/opt
目錄下(可自擬)
2,解壓重命名刪除包
tar -zxvf apache-zookeeper-3.5.7-bin.tar.gz
mv apache-zookeeper-3.5.7-bin zookeeper
rm apache-zookeeper-3.5.7-bin.tar.gz
3,cd /opt/zookeeper/conf
進入zookeeper的配置目錄
<1,該目錄下有示例配置文件zoo_sample.cfg,將其拷貝爲zoo.cfg
cp zoo_sample.cfg zoo.cfg
<2,vim zoo.cfg
添加如下內容,(對應自身)
server.1=linux01:2888:3888
server.2=linux02:2888:3888
server.3=linux03:2888:3888
2888
:標識這個服務器與集羣中的leader服務器交換信息的端口 。
3888
:leader掛掉時專門用來進行選舉leader所用的端口。
tickTime
:Zookeeper 服務器之間或客戶端與服務器之間維持心跳的時間間隔,每個tickTime 時間就會發送一個心跳。
dataDir
:Zookeeper 保存數據的目錄,默認情況下,Zookeeper 將寫數據的日誌文件也保存在這個目錄裏。
clientPort
:客戶端連接 Zookeeper 服務器的端口,Zookeeper 會監聽這個端口,接受客戶端的訪問請求。
initLimit
:Leader和Follower初始化連接時最長能忍受多少個心跳時間間隔數。
syncLimit
:Leader 與 Follower之間發送消息,最長不能超過多少個 tickTime 的時間長度。
maxClientCnxns
:限制客戶端連接數量。
4,在ZooKeeper
的/tmp
目錄(保存目錄自擬與上述一致)下創建數據存儲目錄和myid
文件
cd /tmp
mkdir -p zookeeper/zookeeper_data
5,vim myid
在myid
文件中寫入zoo.cfg
文件主機名所對應的的server
號(1)。
6,將zookeeper
和數據存儲目錄
的文件遠程拷貝給從節點
scp -r /opt/zookeeper linux02:/opt/
scp -r /opt/zookeeper linux03:/opt/
scp -r /tmp/zookeeper linux02:/tmp/
scp -r /tmp/zookeeper linux03:/tmp/
7,然後在從節點上使用vim
編輯儲存目錄下的myid
文件,將內容更改爲各自主機對應的server號。
8,三臺同步vim /etc/profile
配置相關環境
export ZOOKEEPER_HOME=/opt/zookeeper
export PATH=$PATH:${ZOOKEEPER_HOME}/bin
source /etc/profile
9,三臺同步zkServer.sh start
jps
有QuorumPeerMain
即可
`1. 啓動ZK服務:` zkServer.sh start
`2. 查看ZK服務狀態:` zkServer.sh status
`3. 停止ZK服務:` zkServer.sh stop
`4. 重啓ZK服務:` zkServer.sh restart
至此安裝配置完成