zookeeper 在很多场景中都有应用,比如 HBASE、storm 等。 Hbase 可以使用自带的 zookeeper,配置起来也比较简单,但是 storm 没有自带 zookeeper。
为了适应 storm ,所以独立配置 zookeeper。
首先,下载 zookeeper
下载地址:http://mirror.bit.edu.cn/apache/zookeeper/
zookeeper 有两种安装方式: 分布式与伪分布式。
注:zookeeper 为了提高容错机制,集群中的 zookeeper 数量应为奇数
一、伪分布式(单机模式)
首先解压 zookeeper 到 /home/ 路径下
cd /home/
tar -zxvf zookeeper-3.4.6.tar.gz
ln -s zookeeper-3.4.6/ zookeeper
配置 zookeeper 环境变量
vi /etc/profile
键入
#zookeeper
export ZOOKEEPER_HOME=/home/zookeeper
export ZOO_LOG_DIR=$ZOOKEEPER_HOME/logs
export PATH=$PATH:$ZOOKEEPER_HOME/bin
重新加载环境变量
source /etc/profile
通过 zoo_sample.cfg 更改 zoo.cfg 文件
cd /home/zookeeper/conf
cp zoo_sample.cfg zoo.cfg
vi zoo.cfg
键入
tickTime=2000
dataDir=/home/userData/zookeeperData
clientPort=2181
maxClientCnxns=150
确保目录存在,其余设置全部注释掉
启动 zookeeper
zkServer.sh start
当提示如下信息时,启动成功,此时我们可以通过 logs 下的
zookeeper.out 日志监测
JMX enabled by default Using config: /home/zookeeper/bin/../conf/zoo.cfg Starting zookeeper ... STARTED |
zookeeper 进程
输入 jsp命令,可查看到 QuorumPeerMain 看到zookeeper 的进程
关闭 zookeeper
zkServer.sh stop
提示信息
JMX enabled by default Using config: /home/zookeeper/bin/../conf/zoo.cfg Stopping zookeeper ... STOPPED |
二、分布式
分布式与伪分布式只是 zoo.cfg 配置不同,其他均与上面安装步骤相同
zoo.cfg 配置
tickTime=2000
dataDir=/home/userData/zookeeperData
clientPort=2181
maxClientCnxns=150
initLimit=5
syncLimit=2
server.1=hadoop1:2888:3888
server.2=hadoop2:2888:3888
server.3=hadoop3:2888:3888
然后输入 zkServer.sh start 启动 zookeeper
连接 zookeeper
ZooKeeper的Server集群启动起来以后,我们就可以利用ZooKeeper的Client连接Server了
zkCli.sh -server hadoop1:2181
此时会显示对话框
[zk: hadoop1:2181(CONNECTED) 0] |
此时运行 jps 命令,会发现 ZooKeeperMain QuorumPeerMain 两个 zookeeper 进程
输入 quit 退出
至此,zookeeper 安装完成