Zookeeper集羣搭建
1.說明
本文用的linux版本:centos6,準備3臺centos6虛擬機,給他們安裝zookeeper,每一臺的安裝過程相同,你也可以安裝一臺,然後克隆出另外兩臺。主機名分別爲node1,node2,node3。
2.準備工作
安裝java,wget
yum -y install java
yum -y install wget
3.安裝zookeeper
以node1爲例:
進入下載目錄:cd /usr/local
wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz
下載完之後解壓:
tar -zxvf zookeeper-3.4.14.tar.gz
解壓完成後,ll一下看看是否解壓到目錄裏。
安裝成功。
現在我們進入zookeeper,看看裏面有哪些文件。
需要關注的主要是畫紅框的部分。
4.配置
現在,我們開始做配置。
cd conf
ll
我們需要修改的是zoo_sample.cfg文件。此時名字中有sample是樣本,是不生效的,我們需要修改文件名。我們保留原文件,複製一個新的文件zoo.cfg
cp zoo_sample.cfg zoo.cfg
ll
vi zoo.cfg配置內容
修改數據目錄存放的位置,數據目錄是集羣中每一臺機器存放數據的地方,顯然存在tmp中並不合適,這裏爲便於管理,我們改爲/root/zkdata,改完後如下:
對於配置文件,我們還需要關注端口,這裏是客戶端口,而zookeeper集羣內部的主從機器交互也需要端口,因此需要在防火牆開很多端口,沒有必要,直接將防火牆關閉即可,在實際工業界也是這樣做的。因爲集羣不會暴露給外界的,它是在內網中自己工作的,所以沒有必要開防火牆,開了防火牆反而需要添加各種端口配置,更加麻煩。
此外,還需要再配置中寫一些內容,需要寫集羣中的機器數和zookeeper的端口,默認2888和3888。
接下來,我們創建/root/zkdata文件夾,將myid記錄。
mkdir /root/zkdata
cd /root/zkdata
echo 1 > myid
ll
這樣一臺機器的zookeeper就配好了,我們給其他兩臺做同樣的配置,唯一不同的就是我們要把myid由1改成 2 和3 寫入各自的myid。
5.啓動驗證
我們啓動zookeeper看看能不能成功。我們啓動所有機器的zookeeper。
cd /usr/local/zookeeper-3.4.14
bin/zkServer.sh start
給三臺機器全部啓動
查看狀態:
bin/zkServer.sh status