ZooKeeper分布式模式安装(ZooKeeper集群)也比较容易,这里说明一下基本要点。 首先要明确的是,ZooKeeper集群是一个独立的分布式协调服务集群,“独立”的含义就是说,如果想使用ZooKeeper实现分布式应用的协调与管理,简化协调与管理,任何分布式应用都可以使用,这就要归功于Zookeeper的数据模型(DataModel)和层次命名空间(Hierarchical Namespace)结构。
1、主机名称映射配置
本机安装将采用单机安装集群,因此在配置主机时我们将采用同一Ip,不同端口的操作,具体配置如下:
server.1=localhost:2287:3387server.2=localhost:2288:3388server.3=localhost:2289:3389
在本次安装中,我们将使用三台zookeeper 服务器,分别使用的端口上述端口。
如果在开发中需要配置多台服务器,则可以将对应的ip修改为目标服务器地址:
server.1=10.192.1.120:2288:3388server.2=10.192.1.121:2288:3388server.3=10.192.1.122:2288:3388
除了使用Ip 直接访问外,也可以在本地设置host 域名解析,设置成相应的映射:
host 文件添加
10.192.1.120 slave-01 10.192.1.121 slave-02 10.192.1.122 slave-03
zookeeper 配置文件:
server.1=slave-01:2888:3888 server.2=slave-02:2888:3888 server.3=slave-03:2888:3888
server.A=B:C:D
A:其中 A 是一个数字,表示这个是服务器的编号;
B:是这个服务器的 ip 地址;
C:Leader选举的端口;
D:Zookeeper服务器之间的通信端口。
2、创建配置文件
我们可以在安装目录下找到zoo.cfg配置文件,其中主要的几个配置项内容如下:
Java
client:监听客户端连接端口
tickTime:基本事件单元,这个时间是作为Zookeeper服务器之间或客户端与服务器之间维持心跳的时间间隔,每隔tickTime时间就会发送一个心跳;最小的session过期时间为2倍tickTime
syncLimit:fowller与leader之间的心跳时间
dataDir:存储内存中数据库快照的位置
在Zookeeper 的工作目录下创建zoo1.cfg,配置内容如下:
Java
拷贝两份到zoo2.cfg, zoo3.cfg 主要区别为,端口,dataDir需要修改。
Zookeeper的工作目录如下:
Java
快照存放目录创建完后如下:
Java
3、设置myid
在我们配置的dataDir指定的目录下面,创建一个myid文件,里面内容为一个数字,用来标识当前主机,conf/zoo.cfg文件中配置的server.X中X为什么数字,则myid文件中就输入这个数字,例如:
zookeeper echo "1" zoo1/data/myidzookeeper echo "2" zoo2/data/myidzookeeper echo "3" zoo3/data/myid
4、启动Zookeeper 集群
在Zookeeper 的工作目录下,启动各个节点服务:
Java
启动完成后,可以通过 jps 或 zkServer status 查看服务是否启动:
Java
领取专属 10元无门槛券
私享最新 技术干货