zookeeper之2:安装部署

来源:互联网 发布:java.net.socket 编辑:程序博客网 时间:2024/05/30 23:31


1、下载zookeeper并解压
用cdh5.3.0对应的版本

2、参数配置

进入zookeeper/conf:

$:vim zoo.cfg

若没有上述文件,则

$:cp zoo_sample.cfg zoo.cfg

# The number of milliseconds of each ticktickTime=2000# The number of ticks that the initial# synchronization phase can takeinitLimit=10# The number of ticks that can pass between# sending a request and getting an acknowledgementsyncLimit=5# the directory where the snapshot is stored.dataDir=/home/hadoop/zookeeper/data# the port at which the clients will connectclientPort=2181server.1=gdc-nn01-test:2888:3888server.2=gdc-dn01-test:2888:3888server.3=gdc-dn02-test:2888:3888

在上面的配置文件中"server.id=host:port:port"中的第一个port是从机器(follower)连接到主机器(leader)的端口号,第二个port是进行leadership选举的端口号。  

接下来在dataDir所指定的目录下创建一个文件名为myid的文件,文件中的内容只有一行,为本主机对应的id值,也就是上面server.id中的id。例如:在服务器1中的myid的内容应该写入1。

即在/home/hadoop/zookeeper/data中新建myid,3台机器的内容分别为1,2,3.


3.远程复制分发安装文件

将上面的安装文件拷贝到集群中的其他机器上对应的目录下:

$ scp -r zookeeper/ gdc-dn01-test:/home/hadoop/zookeeper

$ scp -r zookeeper/ gdc-dn02-test:/home/hadoop/zookeeper

$ scp -r zookeeper/ gdc-dn03-test:/home/hadoop/zookeeper

拷贝完成后修改对应的机器上的myid。


4.启动ZooKeeper集群

在ZooKeeper集群的每个结点上,执行启动ZooKeeper服务的脚本,如下所示:
$ bin/zkServer.sh start

5、验证
$ jps
24466 NodeManager
24230 SecondaryNameNode
20357 QuorumPeerMain
22010 Jstatd
20396 Jps
23962 DataNode
其中,QuorumPeerMain是zookeeper进程,启动正常。
如上依次启动了所有机器上的Zookeeper之后可以通过ZooKeeper的脚本来查看启动状态,包括集群中各个结点的角色(或是Leader,或是Follower),如下所示,是在ZooKeeper集群中的每个结点上查询的结果:

hadoop@gdc-dn01-test:~/zookeeper$ bin/zkServer.sh status
JMX enabled by default
Using config: /home/hadoop/zookeeper/bin/../conf/zoo.cfg
Mode: leader
另外,可以通过客户端脚本,连接到ZooKeeper集群上。对于客户端来说,ZooKeeper是一个整体(ensemble),连接到ZooKeeper集群实际上感觉在独享整个集群的服务,所以,你可以在任何一个结点上建立到服务集群的连接,例如:

$ bin/zkCli.sh

$ ls /

0 0
原创粉丝点击