我要養成記錄的習慣!!!
首先下載(版本zookeeper-3.4.12)-解壓
zookeeper僞分佈式安裝就是在同一臺機器上安裝多個zookeeper(即在同一臺機器上有多個QuorumPeerMain進程)。
我在同一臺機器上安裝了3個zookeeper。
把解壓完成的zookeeper-3.4.12重新命名爲zookeeper01 :
mv zookeeper-3.4.12 zookeeper01
因此zookeeper01纔是zookeeper的安裝文件。
創建一個zookeeper目錄:
mkdir zookeeper-3.4.12
先在zookeeper-3.4.12的目錄下創建3個文件:
mkdir -p zookeeper-3.4.12/zk01data/logs
mkdir -p zookeeper-3.4.12/zk02data/logs
mkdir -p zookeeper-3.4.12/zk03data/logs
zk01data、zk02data和zk03data存放myid文件和logs文件。
在zk01data、zk02data、zk03data中配置專屬的myid內容
echo "1" > ~/zk01data/myid
echo "2" > ~/zk02data/myid
echo "3" > ~/zk03data/myid
配置zookeeper01的文件
把zoo_sample.cfg重新命名僞zoo.cfg,zoo_sample.cfg是否保留均可,我在此保留了:
cp zoo_sample.cfg zoo.cfg
配置zook.cfg文件,以下爲zoo.cfg中要配置的文件:
dataDir=/home/zhuhaichuan/zookeeper-3.4.12/zk01data
dataLogDir=/home/zhuhaichuan/zookeeper-3.4.12/zk01data/logs
server.1=zhumaster:2888:3888
server.2=zhumaster:2889:3889
server.3=zhumaster:2890:3890
此處:
server後面的數字與dataDir目錄下myid中的內容應當是一樣的。zhumaster是機器的hostname
保存即可。
因爲是在同一臺機器上安裝3個zookeeper,因此對zookeeper01複製兩份,分別重新命名僞zookeeper02和zookeeper03
cp zookeeper01 zookeeper02
cp zookeeper01 zookeeper03
需要對zookeeper02和zookeeper03的配置文件需要修改
首先修改zookeeper02的配置文件zoo.cfg
修改dataDir、dataLogDir和clientPort:
dataDir=/home/zhuhaichuan/zookeeper-3.4.12/zk02data
dataLogDir=/home/zhuhaichuan/zookeeper-3.4.12/zk02data/logs
clientPort=2182 (clientPort默認是2181,zookeeper01中已經使用了端口2181,防止端口衝突,必須修改此端口號,在此設置成clientPort=2182)
其他的不用修改。
修改zookeeper03的配置文件zoo.cfg
修改dataDir、dataLogDir和clientPort:
dataDir=/home/zhuhaichuan/zookeeper-3.4.12/zk03data
dataLogDir=/home/zhuhaichuan/zookeeper-3.4.12/zk03data/logs
clientPort=2183 (修改此端口號是爲了防止與同一臺機器上的其他zookeeper衝突)
至此,基本的zookeeper僞分佈式配置完成
啓動各個zookeeper
在分別在zookeeper01、zookeeper02、zookeeper03的目錄下執行:bin/zkServer.sh start
使用jps查看,若有3個QuorumPeerMain進程開啓說明基本配置成功。