首页 > 技术文章 > 单机zookeeper部署伪集群

so-cool 2017-12-14 17:54 原文

1.zookeeper介绍

  1. ZooKeeper 是一个为分布式应用所设计的分布的、开源的协调服务。分布式的应用可以建立在同步、配置管理、分组和命名等服务的更高级别的实现的基础之上。 ZooKeeper 意欲设计一个易于编程的环境,它的文件系统使用我们所熟悉的目录树结构。 ZooKeeper 使用 Java 所编写,但是支持 Java和 C 两种编程语言。
  2. 众所周知,协调服务非常容易出错,但是却很难恢复正常,例如,协调服务很容易处于竞态以至于出现死锁。我们设计 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

 

 

 

 

推荐阅读