你的位置:首页 > 数据库

[数据库]ZooKeeper群集安装


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

HostNameHadoop Rolemyid
HDP1
Slave1
HDP2
Master
2
HDP3
Slave3
HDP4
Slave
4
1. 在任一节点上解压安装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文件
[hdp@HDP1 ~]$ 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