ZooKeeper 就是動物園管理員的意思,它是用來管理 Hadoop(大象)、Hive(蜜蜂)、pig(小豬)的管理員,Apache Hbase、Apache Solr、Dubbo 都用到了 ZooKeeper,其實就是一個集群管理工具,是集群的入口。ZooKeeper 是一個分布式的、開源的程序協(xié)調(diào)服務(wù),是 Hadoop 項目下的一個子項目。ZooKeeper 主要應(yīng)用場景包括集群管理(主從管理、負載均衡、高可用的管理)、配置文件的集中管理、分布式鎖、注冊中心等。實際項目中,為了保證高可用,ZooKeeper 都是以分布式集群的方式進行安裝的,至少需要三個節(jié)點,下面具體來看下。
這里 Linux 選擇 CentOS 7.2。
1
2
3
4
5
6
7
|
# wget -P /usr/local http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz # cd /usr/local # tar -zxvf zookeeper-3.4.10.tar.gz # cd zookeeper-3.4.10 # mkdir data # mkdir logs # vim /etc/rc.d/rc.local //配置開啟自啟動 |
追加如下配置即可:
1
2
|
export JAVA_HOME= /usr/java/jdk /usr/local/zookeeper-3 .4.10 /bin/zkServer .sh start |
我們在三臺不同的服務(wù)器上各部署一個 ZooKeeper 進程,以構(gòu)成一個 ZooKeeper 集群。三個 ZooKeeper 進程均使用相同的 zoo.cfg 配置:
1
2
3
|
# cd /usr/local/zookeeper-3.4.10/conf # cp zoo_sample.cfg zoo.cfg //拷貝配置文件 # vim zoo.cfg |
修改配置如下:
1
2
3
4
5
6
7
8
9
10
|
# 配置存儲快照文件的目錄 dataDir= /usr/local/zookeeper-3 .4.10 /data dataLogDir= /usr/local/zookeeper-3 .4.10 /logs # zk服務(wù)進程監(jiān)聽的TCP端口 clientPort=2181 # 2888:ZooKeeper服務(wù)之間通信的端口,3888:ZooKeeper與其他應(yīng)用程序通信的端口 # server.1:表示這是第幾號服務(wù)器 server.1=192.168.20.11:2888:3888 server.2=192.168.20.12:2888:3888 server.3=192.168.20.13:2888:3888 |
然后在三臺服務(wù)器 dataDir 目錄下,分別創(chuàng)建一個 myid 文件,其內(nèi)容分別為1,2,3。然后分別在這三臺機器上啟動 ZooKeeper 進程,這樣我們便將 ZooKeeper 集群啟動了起來。如下:
1
2
3
|
# cd /usr/local/zookeeper-3.4.10/data # echo 1 >>myid //創(chuàng)建myid文件并寫入1 # /usr/local/zookeeper-3.4.10/bin/zkServer.sh start //后臺啟動ZooKeeper |
還有一些其他命令如下:
1
2
3
|
# /usr/local/zookeeper-3.4.10/bin/zkServer.sh stop //關(guān)閉ZooKeeper # /usr/local/zookeeper-3.4.10/bin/zkServer.sh status //查看服務(wù)狀態(tài) # /usr/local/zookeeper-3.4.10/bin/zkServer.sh start-foreground //前臺啟動 |
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持服務(wù)器之家。
原文鏈接:http://blog.csdn.net/smartbetter/article/details/53083816