zk 安装多种模式(单机, 伪集群,集群) 之二

2. 伪集群模式

按照我下面写的, 各位读者, 就可以轻松完成安装, 哈哈。

1、 修改操作系统的/etc/hosts 文件中添加:(这步骤可以跳过, 直接使用IP即可)
vi /etc/hosts
# zookeeper servers
192.168.1.105 zk-register-service

2、下载 zookeeper-3.4.10:

3、将下载好的文件拷贝到usr/local/application 解压 zookeeper 安装包:
$ cp ./zookeeper-3.4.10.tar.gz /usr/local/application/
$ tar -zxvf zookeeper-3.4.10.tar.gz

4、在解压完成的ZK目录下面创建以下目录:
$ cd ./ zookeeper-3.4.10
$ mkdir data
$ mkdir slave1
$ mkdir slave2
$ mkdir slave3

$ mkdir logs
$ mkdir slave1
$ mkdir slave2
$ mkdir slave3


5、 将 zookeeper-3.4.10 的conf 目录下的 zoo_sample.cfg 文件拷贝三份,命名为为
zoo_slave1.cfg、zoo_slave2.cfg、zoo_slave3.cfg
$ cp zoo_sample.cfg zoo_slave1.cfg
$ cp zoo_sample.cfg zoo_slave2.cfg
$ cp zoo_sample.cfg zoo_slave3.cfg


6、 修改 三个配置文件:
$ vi zoo_slave1.cfg

# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.

dataDir= /usr/local/application/ zookeeper-3.4.10/data/slave1
dataLogDir= /usr/local/application/ zookeeper-3.4.10/logs/slave1

# the port at which the clients will connect
clientPort=2181
#2888,3888 are election port

server.1=zk-register-service:2888:3888
server.2=zk-register-service:2999:3999
server.3=zk-register-service:2777:3777
(注意 : 等同于: server.1=192.168.1.105:2888:3888)

$ vi zoo_slave2.cfg
其他配置和上面一样, 不一样的下面,
dataDir= /usr/local/application/ zookeeper-3.4.10/data/slave2
dataLogDir= /usr/local/application/ zookeeper-3.4.10/logs/slave2
# the port at which the clients will connect
clientPort=2182
#2888,3888 are election port

server.1=zk-register-service:2888:3888
server.2=zk-register-service:2999:3999
server.3=zk-register-service:2777:3777

$ vi zoo_slave3.cfg

其他配置和上面一样, 不一样的下面,
dataDir= /usr/local/application/ zookeeper-3.4.10/data/slave3
dataLogDir= /usr/local/application/ zookeeper-3.4.10/logs/slave3
# the port at which the clients will connect
clientPort=2183
#2888,3888 are election port

server.1=zk-register-service:2888:3888
server.2=zk-register-service:2999:3999
server.3=zk-register-service:2777:3777


7、在/usr/local/application/zookeeper-3.4.10/data 目录下三个文件夹
slave1、slave2、slave3
并且在对应的文件夹下面创建 myid 文件
编辑 myid 文件,并在对应的 IP 的机器上输入对应的编号。
注意 : (内容不能输入多, 一旦错了, 要删除这个包下面的 version-2 文件夹,和zookeeper_server.pid 在重新启动就好了)

/usr/local/application/ zookeeper-3.4.10/data/slave1 /myid 中的内容为1,对应server.1中的1
/usr/local/application/ zookeeper-3.4.10/data/slave2 /myid 中的内容为2,对应server.2中的2
/usr/local/application/ zookeeper-3.4.10/data/slave3 /myid 中的内容为3,对应server.3中的3


8、 启动并测试 zookeeper
(1) 使用. / zookeeper-3.410/bin 目录中分别启动服务:
$ ./zkServer.sh start ../conf/zoo_slave1.cfg
$ ./zkServer.sh start ../conf/zoo_slave2.cfg
$ ./zkServer.sh start ../conf/zoo_slave3.cfg

(2) 检查启动( 需要注意的是, 三个节点都启动后在去检查)
$ ./ zkServer.shstatus ../conf/zoo_slave1.cfg
$ ./ zkServer.shstatus ../conf/zoo_slave2.cfg
$ ./ zkServer.shstatus ../conf/zoo_slave3.cfg

9、 停止 zookeeper 进程:
$ ./zkServer.sh stop ../conf/zoo_slave1.cfg
$ ./zkServer.sh stop ../conf/zoo_slave2.cfg
$ ./zkServer.sh stop ../conf/zoo_slave3.cfg