ZooKeeper的安装配置

大数据与分布式 fireling 9819℃

ZooKeeper是一个针对大型分布式系统的协作系统,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。ZooKeeper的角色,相当于整个Hadoop动物体系里面的动物管理员。我们在运行HBase时,需要先配备ZooKeeper。这里主要讲一下ZooKeeper的几种安装配置。

1. 解压安装包


tar -zxvf ./zookeeper*.tar.gz -C /opt
mv /opt/zookeeper* /opt/zookeeper

2. 设置环境变量


vim ~/.bashrc

添加:


export ZOOKEEPER_HOME=/opt/zookeeper
export PATH=${ZOOKEEPER_HOME}/bin:$PATH

3. 配置文件的修改

关于配置文件zoo.cfg中参数的说明

  • dataDir:数据目录
  • dataLogDir:日志目录
  • clientPort:客户端连接端口
  • tickTime:zookeeper服务器之间维持心跳的时间间隔,也就是每个tickTime时间就会发送一个心跳
  • initLimit:zookeeper的leader与follower初始化连接,最长不能超过多少个tickTime
  • syncLimit:zookeeper的leader与follower发送消息时请求和应答,最长不能超过多少个tickTime
  • server.id=host:port:port

id用来标识服务器在集群中的序号。
host对应服务器的ip。
第一个端口(port)是服务器连接到leader的端口,第二个端口(port)是用来进行leader选举的端口。

3.1 单机配置:配置zoo.cfg


mkdir -p /opt/zookeeper/data
mkdir -p /opt/zookeeper/logs
cp conf/zoo_sample.cfg conf/zoo.cfg

在conf/zoo.cfg中添加:


dataDir=/opt/zookeeper/data
dataLogDir=/opt/zookeeper/logs
clientPort=2181
ticketTime=2000

运行zookeeper服务:


zkServer.sh start

查看zookeeper服务状态:


zkServer.sh status

连接zookeeper服务:


zkCli.sh -server localhost:2181

3.2 伪分布式配置:配置zoo.cfg和myid

将zoo_sample.cfg拷贝若干份,为zoo1.cfg、zoo2.cfg、zoo3.cfg等,各个server的port:port参数必须不同:


mkdir -p /opt/zookeeper/data1
mkdir -p /opt/zookeeper/logs1
cp conf/zoo_sample.cfg conf/zoo1.cfg

在conf/zoo1.cfg中添加:


dataDir=/opt/zookeeper/data1
dataLogDir=/opt/zookeeper/logs1
clientPort=2181
ticketTime=2000    
initLimit=10
syncLimit=5
server.1=localhost:2888:3888
server.2=localhost:2889:3889
server.3=localhost:2890:3890

创建/opt/zookeeper/data1/myid文件,并添加:


1

同理,配置zoo2.cfg、zoo3.cfg等。

运行zookeeper服务:


zkServer.sh start zoo1.cfg
zkServer.sh start zoo2.cfg
zkServer.sh start zoo3.cfg

查看zookeeper服务状态:


zkServer.sh status zoo1.cfg
zkServer.sh status zoo2.cfg
zkServer.sh status zoo3.cfg

从查询的状态来看,这里zoo2作为leader,zoo1和zoo3作为follower。

3.3 集群/分布式配置:配置zoo.cfg和myid

在每台主机上,将zoo_sample.cfg拷贝一份命名为zoo.cfg,并添加相同配置:


dataDir=/opt/zookeeper/data
dataLogDir=/opt/zookeeper/logs
clientPort=2181
ticketTime=2000    
initLimit=10
syncLimit=5
server.1=server1:2888:3888
server.2=server2:2888:3888
server.3=server3:2888:3888

在每台主机上,创建/opt/zookeeper/data/myid文件,并添加不同配置,对应服务器在集群中的id。

在每台主机上,运行zookeeper服务:


zkServer.sh start

 

转载请注明:宁哥的小站 » ZooKeeper的安装配置

喜欢 (15)