Zookeeper的單機&集羣環境搭建

單機環境的安裝

首先下載ZK的二進制安裝包:http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.14/數據庫

將安裝包上傳到Linux上:apache

  • 進行解壓 : tar zxvf zookeeper-3.4.14.tar.gzvim

  • 進行改名 : mv zookeeper-3.4.14 zookeeper服務器

  • 刪除壓縮包 :rm -rf zookeeper-3.4.14.tar.gz測試

進入到咱們改名後的ZK文件夾內建立個文件夾 : mkdir dataspa

進入到conf文件夾 複製一個文件且改名: cp zoo_sample.cfg zoo.cfgserver

  

對zoo.cfg文件進行編輯 vim zoo.cfgblog

數據文件夾dataDir指定爲咱們剛剛建立的那個data文件夾的路徑,不要使用系統的/tmp目錄做爲ZK的數據目錄ip

   

而後咱們就能夠啓動服務了,在解壓文件的bin目錄下 :內存

  • 啓動服務: ./zkServer.sh start

  • 查看狀態: ./zkServer.sh status

單機的咱們到這裏就算是搭建完成了,用於測試環境還行,因爲單機的服務都存在一個致命問題那就是單點故障問題,因此通常在生產環境中諸多這種類型的服務都是以集羣的方式出現,下面咱們搭建一個由三臺服務器構成的的ZK集羣

集羣環境的搭建

在ZK集羣環境下只要通常以上的機器正常啓動了,那麼這個集羣服務就是OK 的,因此一把參與集羣的機器都是單,好比5個機器,只須要3個正常就OJBK,下面咱們就簡單的使用三個機器搭建一下ZK的集羣環境,三臺機器的ip分別爲以下:

  • 192.168.159.159

  • 192.168.159.169

  • 192.168.159.179

和建立單機環境一莫同樣的步驟,只是添油加醋

首先咱們在159的機器上開動

如法炮製

zk二進制文件上傳、解壓、改名、參考前面單機安裝

首先在解壓文件下建立data文件夾,用於保存內存數據庫保存的模糊快照 :mkdir data

而後就是複製並改名一個文件 :cp zoo_sample.cfg zoo.cfg

添油加醋

編輯該文件 vim zoo.cfg

  • 第一個修改dataDir指向咱們建立的data目錄

  • 第二個在下面添加以下圖數據

首先解釋一下添加並圈起來的數據:

  • sserver.1:表示這個ZK啓動後,ZK的myId就是 1

  • 後面跟對應服務器的ip

  • 而後就是2888,這是一個鏈接端口號,數據通信的時候(好比同步 )經過這個端口號進行通信

  • 而後就是3888,這是一個選舉端口號,當選舉時使用這個端口號進行通信

建立myid文件

除了修改 zoo.cfg 配置文件,集羣模式下還要配置一個文件 myid,這個文件在 dataDir 目錄下,這個目錄也是咱們本身建立的,也就是那個data目錄,這個文件裏面就只有一個數據就是 剛剛配置的那個myId的值,Zookeeper 啓動時會讀取這個文件,拿到裏面的數據與 zoo.cfg 裏面的配置信息比較從而判斷究竟是那個server。

在建立的data文件夾內建立文件: vi myid

每一個機器都鍵入對應myid保存退出便可 好比59的myid爲1 ,69的myid爲2,就是配置文件中那個myid

配置環境變量

vi /etc/profile 在末端添加以下數據

  • export ZOOKEEPER_HOME=/usr/local/ZK/zookeeper

  • export PATH=$PATH:$ZOOKEEPER_HOME/bin:$ZOOKEEPER_HOME/conf

退出保存後進入到 /etc 目錄下 執行刷新生效命令 source profile

而後就是咱們三臺機器的啓動工做了:

  • 服務啓動:zkServer.sh start

  • 查看狀態:zkServer.sh status

三臺機器的狀態依次爲:

  

  

  

這裏提醒一下,防火牆我是直接關閉了的,要麼你的開通那幾個端口,要麼直接關閉防火牆服務

集羣環境到這裏就算搭建完成了

相關文章
相關標籤/搜索