天天看點

zookeeper安裝Zookeeper安裝

Zookeeper安裝

目錄

Zookeeper安裝

Zookeeper簡介

安裝

相關指令

Zookeeper的叢集配置

Zookeeper簡介

Zookeeper是一個開源的分布式協調服務,是Google Chubby的一個開源實作。分布式應用程式可以基于Zookeeper實作諸如資料釋出/訂閱、負載均衡、命名服務、分布式協調/通知、叢集管理、Master選舉、配置維護等功能。在Zookeeper中共有三種角色:leader、follower和observer,同一時刻Zookeeper叢集中隻有一個leader,其它都是follower和observer。observer不參與投票,預設情況下Zookeeper中隻有一個leader和follower兩個角色。

安裝

cd /opt

下載下傳:wget https://mirrors.bfsu.edu.cn/apache/zookeeper/zookeeper-3.6.3/apache-zookeeper-3.6.3-bin.tar.gz

解壓:tar zxvf apache-zookeeper-3.6.3-bin.tar.gz

編輯 vi /etc/profile

export ZOOKEEPER_HOME=/opt/apache-zookeeper-3.6.3-bin

export PATH=${ZOOKEEPER}/bin:$PATH

并執行 source /etc/profile

cd /opt/apache-zookeeper-3.6.3-bin/conf

# 拷貝一份配置檔案

cp zoo_sample.cfg ./zoo.cfg

配置zoo.cfg

# Zookeeper伺服器心跳時間,機關為ms

tickTime=2000

# 允許follower連接配接并同步到leader的初始化連接配接時間,以tickTime的倍數來表示

initLimit=10

# leader與follower心跳檢測最大容忍時間,響應超過syncLimit * tickTime,leader認為follower 死掉,從伺服器清單中删除follower

syncLimit=5

# 資料目錄

dataDir=/tmp/zookeeper/data

# 日志目錄

dataLogDir=/tmp/zookeeper/log

# Zookeeper對外服務端口

clientPort=2181

注:Zookeeper的預設配置檔案中沒有/tmp/zookeeper/data和/tmp/zookeeper/log目錄

mkdir /tmp/zookeeper/data

mkdir /tmp/zookeeper/log

在mkdir /tmp/zookeeper/data/目錄下建立一個檔案myid,并寫入一個數值,如0,myid檔案裡面存放的是伺服器的編号

相關指令

# 啟動

./zkServer.sh start

# 檢視服務狀态

./zkServer.sh status

Zookeeper的叢集配置

# 首先在這3台機器的/etc/hosts檔案中添加3台叢集的IP位址與機器域名的映射

編輯 vi /etc/hosts

192.168.0.2 node1

192.168.0.3 node2

192.168.0.4 node3

# 然後在這3台機器的zoo.cfg檔案中添加以下配置

server.0=192.168.0.2:2888:3888

server.0=192.168.0.3:2888:3888

server.0=192.168.0.4:2888:3888

# 注:公式說明,server.A=B:C:D。其中A是一個數字,代表伺服器的編号,就是前面說的myid檔案裡面的值。叢集中的每台伺服器的編号都必須唯一,是以要保證每台伺服器中的myid檔案中的值不同。B代表伺服器的IP位址。C表示伺服器與叢集中的leader伺服器交換的端口。D表示選舉時伺服器互相通信的端口。