基于docker的ZK集群的搭建

    最近在研究docker网络方面的应用,也在参考其他楼主的文章,今天在本机成功搭建了基于docker的ZK集群,记录下来,以备以后使用,也希望能给各位提供借借鉴。

    使用docker搭建集群环境,主要在网络方面使用host主机模式,可以在docker run 命令中利用 --net来指定网络模式,剩下的几种分别为brige、container、overlay、none模式。我也在探索docker在网络方面的应用,所以楼主在搭建集群之前,使用etcd + flannel 的模式,组建docker 网络,这样在整个集群中,每一个容器都有唯一的IP地址,并且相互可以互通。关于这个,可以参考一下文章:https://www.hi-linux.com/posts/40915.html、https://www.hi-linux.com/posts/49138.html、https://www.hi-linux.com/posts/30481.html。

   接下来继续说使用docker搭建zk集群。host模式下可以直接使用主机的IP地址和端口号,比较方便,zk在启动的过程中就回去主动连接其他的zk节点,所以在使用flannel的过程中,不太适用。

第一步,修改三台虚拟机的host地址:

基于docker的ZK集群的搭建_第1张图片

第二步,修改myid和zoo.cfg文件,myid只是写节点数据,zoo.cfg文件如下:

基于docker的ZK集群的搭建_第2张图片

第三步:执行docker 命令:

docker run -d --name=zk3 --net=host -v /home/hua/zookeeper/myid:/data/myid -v /home/hua/zookeeper/zoo.cfg:/conf/zoo.cfg zookeeper

-v 是把docker宿主机的文件映射到容器中,启动时直接读取的是宿主机保存的配置文件。

分别在三台机器上运行命令: echo stat | nc 127.0.0.1 2185,得到以下结果:

基于docker的ZK集群的搭建_第3张图片

得到以上结果,就证明zk集群安装成功了。

你可能感兴趣的:(docker,zookeeper)