1.zookeeper介绍
- ZooKeeper 是一个为分布式应用所设计的分布的、开源的协调服务。分布式的应用可以建立在同步、配置管理、分组和命名等服务的更高级别的实现的基础之上。 ZooKeeper 意欲设计一个易于编程的环境,它的文件系统使用我们所熟悉的目录树结构。 ZooKeeper 使用 Java 所编写,但是支持 Java和 C 两种编程语言。
- 众所周知,协调服务非常容易出错,但是却很难恢复正常,例如,协调服务很容易处于竞态以至于出现死锁。我们设计 ZooKeeper的目的是为了减轻分布式应用程序所承担的协调任务。
2.单机部署伪集群
环境如下:
[root@zoo ~]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) [root@zoo ~]# systemctl stop firewalld.service
2.1 准备好需要的zookeeper的安装
[root@zoo src]# ll total 22204 drwxr-xr-x 10 root root 4096 Aug 23 2016 node1_zoo drwxr-xr-x 10 root root 4096 Aug 23 2016 node2_zoo drwxr-xr-x 10 root root 4096 Aug 23 2016 node3_zoo -rw-r--r-- 1 root root 22724574 Jun 20 19:31 zookeeper-3.4.9.tar.gz
2.2 修改配置文件
- node1 配置
[root@zoo src]# cd node1_zoo/ [root@zoo node1_zoo]# mkdir -p data logs [root@zoo node1_zoo]# cd conf/ [root@zoo conf]# cp zoo_sample.cfg zoo.cfg [root@zoo conf]# cat zoo.cfg tickTime=2000 initLimit=10 syncLimit=5 dataDir=/usr/local/src/node1_zoo/data dataLogDir=/usr/local/src/node1_zoo/logs clientPort=2181 #端口 server.1=127.0.0.1:2888:3888#集群 server.2=127.0.0.1:2889:3889 server.3=127.0.0.1:2890:3890 [root@zoo data]# cat myid 1
- node2 配置
[root@zoo conf]# cat zoo.cfg tickTime=2000 initLimit=10 syncLimit=5 dataDir=/usr/local/src/node2_zoo/data dataLogDir=/usr/local/src/node2_zoo/logs clientPort=2183 #端口 server.1=127.0.0.1:2888:3888 #集群 server.2=127.0.0.1:2889:3889 server.3=127.0.0.1:2890:3890 [root@zoo data]# cat myid 2
- node3 配置
[root@zoo node3_zoo]# cat conf/zoo.cfg tickTime=2000 initLimit=10 syncLimit=5 dataDir=/usr/local/src/node3_zoo/data dataLogDir=/usr/local/src/node3_zoo/logs clientPort=2184 #端口 server.1=127.0.0.1:2888:3888 #集群 server.2=127.0.0.1:2889:3889 server.3=127.0.0.1:2890:3890 [root@zoo node3_zoo]# cat data/myid 3