hyperv 发表于 2015-9-6 12:23:04

ZooKeeper群集安装

  4节点Hadoop安装ZooKeeper。环境:CentOS 6.4,Hadoop 2.6.0,ZooKeeper 3.4.6

HostNameHadoop Role
myid
HDP1Slave
1
HDP2
Master
2
HDP3Slave
3
HDP4
Slave
41. 在任一节点上解压安装zookeeper。安装目录/usr/local/zookeeper
tar -xvzf zookeeper-3.4.6.tar.gz
mv zookeeper-3.4.6 zookeeper

2. 复制并修改配置文件
cd /usr/local/zookeeper
cp conf/zoo_sample.cfg conf/zoo.cfg

zoo.cfg中修改相关参数:
#tickTime是zookeeper中的基本时间单位,此处用于定义一个ticktime是多长,单位毫秒
tickTime=2000

#存储内存中的数据库快照的位置,如果没有指定dataLogDir,还将存储数据库更新的事务日志
dataDir=/usr/local/zookeeper/data

#数据库事务日志的位置
dataLogDir=/usr/local/zookeeper/log

#为了客户端连接而侦听的端口
clientPort=2181

#允许Follower连接并与Leader同步的时长,单位是tickTime
initLimit=5

#允许Follower与ZooKeeper同步的时长,单位是tickTime
syncLimit=2

#组成ZooKeeper的成员服务器。server.x的x是服务器号,与对应服务器dataDir中myid文件内的号码一致。
#指定两个端口号,前一个用于Follower连接Leader,后一个用于Leader选举。
server.1=HDP1:2888:3888
server.2=HDP2:2888:3888
server.3=HDP3:2888:3888
server.4=HDP4:2888:3888

3. 创建对应的data和log目录
mkdir /usr/local/zookeeper/{data,log}

4. 将安装目录分发到所有节点,完成所有节点的zookeeper安装
   scp -r /usr/local/zookeeper hdp@hdpX:/usr/local

5. 所有节点添加环境变量,方便调用zookeeper
sudo vim /etc/profile
#ZooKeeper Env
export ZK_HOME=/usr/local/zookeeper
export PATH=$PATH:$ZK_HOME/bin
. /etc/profile

6. 所有节点上创建相应的myid文件
$ echo "1">/usr/local/zookeeper/data/myid

7. 所有节点上启动zookeeper进程
zkServer.sh start
启动后,通过jps查看,会有一个QuorumPeerMain进程

8. 查看状态和使用客户端连接
zkServer.sh status
JMX enabled by default
Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
Mode: leader

zkCli.sh -server hdp1:2181
页: [1]
查看完整版本: ZooKeeper群集安装