用2台服务器,低资源,部署3个zookeeper分布式节点:

1.准备环境 系统已经配置好了JAVA环境; 下载某个版本的zookeeper压缩包, 下载链接:http://apache.claz.org/zookeeper/zookeeper-3.5.3-beta/zookeeper-3.5.3-beta.tar.gz

2、规划 服务器A,部署1个实例 服务器B,部署2个实例

3、我们配置3个服务,分布式集群至少需要三个实例服务,配置信息如下:

针对每一个服务的日志,新建一个数据目录 服务器A: /opt/local/zookeeper/zk,新建data、logs,在data里新建myid,里面写入3; 服务器B: /opt/local/zookeeper/zk1,新建data、logs,在data里新建myid,里面写入2; /opt/local/zookeeper/zk2,新建data、logs,在data里新建myid,里面写入1;

4、配置文件目录/opt/local/zookeeper-3.4.10/conf,

新建3个配置文件,为 服务器A: zoo.cfg 服务器B: zoo1.cfg、zoo2.cfg

端口分别为 2181 2182 2183


tickTime=2000

initLimit=10

syncLimit=5

dataDir=/opt/local/zookeeper/zk/data

clientPort=2181
dataLogDir=/opt/local/zookeeper/zk/logs

server.1=IP1:2287:3387
server.2=IP2:2288:3388
server.3=IP2:2289:3389

先解释一下server.x=A:B:C的含义:

x:代表每个服务实例对用的dataDir下myid的内容 A:对用服务所在机器的IP地址 B: leader选举端口(伪分布式环境下所有的端口都不要相同) C: zk服务器之间通信的端口,服务器之间同步信息

5、 启动三台服务:

bin/ start conf/zoo.cfg 
bin/ start conf/zoo1.cfg  
bin/ start conf/zoo2.cfg  

查看服务状态:

#Mode: follower
bin/ status conf/zoo.cfg 
#Mode: leader
bin/ status conf/zoo1.cfg 
#Mode: follower
bin/ status conf/zoo2.cfg