天天看點

centos zookeeper 實戰之叢集搭建一 .zookeeper簡介二 zookeeper叢集安裝

一 .zookeeper簡介

1. zookeeper是什麼?

ZooKeeper是一個分布式的,開放源碼的分布式應用程式協調服務,是Google的Chubby一個開源的實作,是Hadoop和Hbase的重要元件。它是一個為分布式應用提供一緻性服務的軟體,提供的功能包括:配置維護、域名服務、分布式同步、組服務等。

ZooKeeper的目标就是封裝好複雜易出錯的關鍵服務,将簡單易用的接口和性能高效、功能穩定的系統提供給使用者。

ZooKeeper包含一個簡單的原語集,提供Java和C的接口。

2. 為什麼要用zookeeper?

大部分分布式應用需要一個主要、協調器或控制器來管理實體分布的子程序(如資源、任務配置設定等),目前,大部分應用需要開發私有的協調程式,缺乏一個通用的機制.協調程式的反複編寫浪費,且難以形成通用、伸縮性好的協調器,ZooKeeper:提供通用的分布式鎖服務,用以協調分布式應用

zookeeper多叢集顯示形式

zookeeper是一個由多個service組成的叢集,一個leader,多個follower,每個server儲存一份資料部分,全局資料一緻,分布式讀寫,更新請求轉發由leader實施.

大概介紹差不多了,zookeeper英譯動物園管理者,顧名思義zookeeper主要起到分發管理作用。原理 詳見http://blog.csdn.net/xinguan1267/article/details/38422149

二 zookeeper叢集安裝

1. 下載下傳

下載下傳位址:http://zookeeper.apache.org/releases.html

鏡像位址:http://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/

這裡有各個版本,我下載下傳的是zookeeper-3.4.8.tar.gz

http://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.8/

2. 安裝

說明:本次安裝3個節點組成一個zookeeper叢集。

119.10.116.242:2181
119.10.116.242:2182
119.10.116.242:2183
           

下載下傳後目錄:

/root/Download/zookeeper/zookeeper-.tar.gz

#解壓
tar xvf zookeeper-.tar.gz
           
#修改目錄名 修改為節點1
mv zookeeper- zookeeper--node1

#移動目錄到/usr/local/
mv zookeeper--node1 /usr/local/

#進入/usr/local/目錄拷貝其他兩個節點
cd /usr/local

#複制節點2
cp -r zookeeper--node1 zookeeper--node2

#複制節點3
cp -r zookeeper--node1 zookeeper--node3
           

建立資料和日志目錄

#建立資料目錄
mkdir /usr/local/zookeeper/zookeeper-.-node1/data
mkdir /usr/local/zookeeper/zookeeper-.-node2/data
mkdir /usr/local/zookeeper/zookeeper-.-node3/data

#建立日志目錄
mkdir /usr/local/zookeeper/zookeeper-.-node1/logs
mkdir /usr/local/zookeeper/zookeeper-.-node2/logs
mkdir /usr/local/zookeeper/zookeeper-.-node3/logs
           

修改配置

  • 節點1配置
cd /usr/local/zookeeper/zookeeper--node1/conf

#修改模闆配置檔案名
mv zoo_sample.cfg zoo.cfg

#編輯
vim zoo.cfg
           
  • 配置如下
# Zookeeper伺服器心跳時間,機關毫秒
tickTime=

# 投票選舉新leader的初始化時間。
initLimit=

# Leader與Follower之間的最大響應時間機關,
# 響應超過syncLimit*tickTime,Leader認為Follwer挂掉,
# 從伺服器清單中删除Follwer
syncLimit=

# 資料持久化路徑
dataDir=/usr/local/zookeeper/zookeeper--node1/data

# 日志儲存路徑  這個要自己建立,具體目錄根據自己的實際情況為準!
dataLogDir=/usr/local/zookeeper/zookeeper--node1/logs

# 連接配接端口
clientPort=
#maxClientCnxns=60

# 叢集配置
server=::
server=::
server=::
           

建立myid檔案

# 進入data目錄
cd /usr/local/zookeeper/zookeeper--node1/data

vim myid

# 檔案内容 代表叢集節點中server.#  對應的數字 
# 節點1 myid檔案内容為1,節點2為2,節點3同理

           
  • 節點2配置檔案

    /usr/local/zookeeper/zookeeper-3.4.8-node2/conf/zoo.cfg

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zookeeper/zookeeper-3.4.8-node2/data
dataLogDir=/usr/local/zookeeper/zookeeper-3.4.8-node2/logs
clientPort=2182
server.1=119.10.116.242:2887:3887
server.2=119.10.116.242:2888:3888
server.3=119.10.116.242:2889:3889
           
  • 節點3配置檔案

    /usr/local/zookeeper/zookeeper-3.4.8-node3/conf/zoo.cfg

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zookeeper/zookeeper-3.4.8-node3/data
dataLogDir=/usr/local/zookeeper/zookeeper-3.4.8-node3/logs
clientPort=2183
server.1=119.10.116.242:2887:3887
server.2=119.10.116.242:2888:3888
server.3=119.10.116.242:2889:3889
           

啟動叢集節點

cd /usr/local/zookeeper/zookeeper--node1/bin
./zkServer.sh start
cd /usr/local/zookeeper/zookeeper--node2/bin
./zkServer.sh start
cd /usr/local/zookeeper/zookeeper--node3/bin
./zkServer.sh start
           

控制台輸出如下代表啟動成功

centos zookeeper 實戰之叢集搭建一 .zookeeper簡介二 zookeeper叢集安裝

檢視程序

jps
           
centos zookeeper 實戰之叢集搭建一 .zookeeper簡介二 zookeeper叢集安裝

檢視狀态

  • 節點1
    centos zookeeper 實戰之叢集搭建一 .zookeeper簡介二 zookeeper叢集安裝
  • 節點2
    centos zookeeper 實戰之叢集搭建一 .zookeeper簡介二 zookeeper叢集安裝
  • 節點3
    centos zookeeper 實戰之叢集搭建一 .zookeeper簡介二 zookeeper叢集安裝

指令:

#啟動
./zkServer.sh start

#停止
./zkServer.sh stop

#重新開機
./zkServer.sh restart

#檢視狀态
./zkServer.sh status
           

更多指令相關請移步

http://www.cnblogs.com/likehua/p/3999588.html

繼續閱讀