zookeeper学习笔记———《zookeeper-3.4.6单机伪集群配置》

1.配置

先下载zookeeper-3.4.6.tar.gz到本机 
下载地址:http://apache.fayea.com/zookeeper/


可以选择需要的版本,本文下载的是zookeeper-3.4.6.tar.gz,解压得到文件夹zookeeper-3.4.6

本文示例的是在一台机器上部署了3个server的例子。

在主文件夹下建立一个zookeeper文件夹,在zookeeper文件夹里建立三个文件夹server1,server2,server3,

然后每个文件夹里面解压一个zookeeper的下载包,并新建data,dataLog,logs目录,总体结构如下:


先进入/server1/data/目录,创建一个myid的文件,里面写入一个数字,server1对应myid文件写入1,server2对应myid文件写入2,server3对应myid文件写入3。

然后进入/server1/conf目录,该目录包含3个文件:


复制zoo_sample.cfg文件,并命名为zoo.cfg,打开zoo.cfg,文件内容如下:


1、修改dataDir为data所在绝对路径,本人修改示例如下:

dataDir=/Users/MJ/zookeeper/server1/data

2、添加dataLogDir为dataLog所在绝对路径,本人修改示例如下:

dataLogDir=/Users/MJ/zookeeper/server1/dataLog

3、如果在一台机器上部署一个server,clientPort使用默认的2181即可,如果在一台机器上部署多个server,那么每个server需要制定不同的clientPort,例如server1是2181,server2是2182,server3是2183,dataDir和dataLogDir也需要制定相应的路径。

4、在文件末尾添加如下内容:

server.1=localhost:2888:3888
server.2=localhost:2889:3889
server.3=localhost:2890:3890

需要注意是 server.X ,这个X就是对应 /data/myid中的数字。在3个server的myid文件中分别写入了1,2,3,那么每个server中的zoo.cfg需要配成server.1,server.2,server.3。因为在同一台机器上,后面连着的2个端口3个server都不要一样,否则端口冲突,其中第一个端口用来集群成员的信息交换,第二个端口是在leader挂掉时专门用来进行选举leader所用。

2.启动ZooKeeper伪机群的所有服务器

分别进入三个server的bin目录下,使用如下命令启动server服务:

./zkServer.sh start 

输出如下类似信息:

JMX enabled by default
Using config: /Users/MJ/zookeeper/server1/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

全部启动完成后,使用如下命令查看server状态,

./zkServer.sh status

输出如下类似信息表示选为leader:

JMX enabled by default
Using config: /Users/lichengjin/zookeeper/server2/bin/../conf/zoo.cfg
Mode: leader

输出如下类似信息表示选为follower

JMX enabled by default
Using config: /Users/MJ/zookeeper/server1/bin/../conf/zoo.cfg
Mode: follower

如想关闭server服务,使用如下命令:

./zkServer.sh stop

输出如下类似信息:

JMX enabled by default
Using config: /Users/MJ/zookeeper/server1/bin/../conf/zoo.cfg
Stopping zookeeper ... STOPPED


3.接入客户端

进入任意一个server的bin目录下,启动一个客户端,接入服务。

./zkCli.sh –server localhost:2181 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章