用2台服务器,低资源,部署3个zookeeper分布式节点:apache
1.准备环境
系统已经配置好了JAVA环境;
下载某个版本的zookeeper压缩包,
下载连接:http://apache.claz.org/zookeeper/zookeeper-3.5.3-beta/zookeeper-3.5.3-beta.tar.gz服务器
二、规划
服务器A,部署1个实例
服务器B,部署2个实例分布式
三、咱们配置3个服务,分布式集群至少须要三个实例服务,配置信息以下:ide
针对每个服务的日志,新建一个数据目录
服务器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;日志
四、配置文件目录/opt/local/zookeeper-3.4.10/conf,code
新建3个配置文件,为
服务器A: zoo.cfg
服务器B: zoo1.cfg、zoo2.cfgserver
端口分别为 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服务器之间通讯的端口,服务器之间同步信息get
五、
启动三台服务:
bin/zkServer.sh start conf/zoo.cfg bin/zkServer.sh start conf/zoo1.cfg bin/zkServer.sh start conf/zoo2.cfg
查看服务状态:
#Mode: follower bin/zkServer.sh status conf/zoo.cfg #Mode: leader bin/zkServer.sh status conf/zoo1.cfg #Mode: follower bin/zkServer.sh status conf/zoo2.cfg