centos7 docker 安装 zookeeper 3.4.13 集群
假设三台主机的ip分别为:
- 主机一:192.168.0.168
- 主机二:192.168.0.169
- 主机三:192.168.0.170
三台主机的安装步骤相似,以主机一为例:
1. 查找zookeeper镜像:
docker search zookeeper
4. 下载官方zookeeper镜像:
docker pull docker.io/zookeeper:3.4.13
5. 下载完后可检查镜像:
docker images
6. 在三台主机上建立挂载目录和zookeeper配置文件:
mkdir -p /usr/local/zookeeper/conf
mkdir -p /usr/local/zookeeper/data
cd /usr/local/zookeeper/conf
touch zoo.cfg
vi zoo.cfg
三台主机上的zoo.cfg配置信息如下:

clientPort=2181
dataDir=/data
dataLogDir=/data/log
tickTime=2000
initLimit=5
syncLimit=2
autopurge.snapRetainCount=3
autopurge.purgeInterval=0
maxClientCnxns=60
server.0=192.168.0.168:2888:3888
server.1=192.168.0.169:2888:3888
server.2=192.168.0.170:2888:3888

在主机一168上为自己分配server id,命令如下:
cd /usr/local/zookeeper/data
touch myid
echo 0 > myid
在主机二169上为自己分配server id,命令如下:
cd /usr/local/zookeeper/data
touch myid
echo 1 > myid
在主机三170上为自己分配server id,命令如下:
cd /usr/local/zookeeper/data
touch myid
echo 2 > myid
7. 三台主机依次启动容器:
docker run --privileged=true --network host -v /usr/local/zookeeper/data:/data -v /usr/local/zookeeper/conf:/conf --name zookeeper2181 -d docker.io/zookeeper:3.4.13
命令说明:
- --network host: 使用主机上的网络配置,如果不用这种模式,而用默认的bridge模式,会导致容器跨主机间通信失败
- -v /usr/local/zookeeper/data:/data:主机的数据目录挂载到容器/data下
- -v /usr/local/zookeeper/conf:/conf: 主机的配置目录挂载到容器的/conf下,容器内的zkServer.sh默认会读取/conf/zoo.cfg下的配置
都启动完成后,每台主机的2181/2888/3888端口都会开放出来了
8. 检查容器的启动情况:
docker exec -it zookeeper2181 /bin/bash
进入容器内部后,其工作目录为:/zookeeper-3.4.13(版本依据镜像而定),执行zookeeper检查:

[root@hserver2 data]# docker exec -it zookeeper2181 /bin/bash
bash-4.4# pwd
/zookeeper-3.4.13
bash-4.4# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /conf/zoo.cfg
Mode: leader
bash-4.4#

可以看到这个容器目前为leader状态,至此集群已启动完成。
9. 若启动失败了,通过如下命令观察zookeeper的启动日志:
docker logs zookeeper2181
内容示例如下:
[root@hserver2 data]# docker logs zookeeper2181
ZooKeeper JMX enabled by default
Using config: /conf/zoo.cfg
log4j:WARN No appenders could be found for logger (org.apache.zookeeper.server.quorum.QuorumPeerConfig).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
centos7 docker 安装 zookeeper 3.4.13 集群的更多相关文章
- centos7 docker 安装 zookeeper 3.4.13 单机standalone
假设一台单机主机的ip分别为: 单机主机:192.168.0.200 1. 查找zookeeper镜像: docker search zookeeper 2. 下载官方zookeeper镜像: doc ...
- Centos7.4安装elasticsearch6.3+kibana6.3集群
Centos7.4安装elasticsearch+kibana集群 Centos7.4安装elasticsearch+kibana集群 主机环境 软件环境 主机规划 主机安装前准备 安装jdk1.8 ...
- Centos7下安装redis实战(单机版以及集群)
一.背景 因项目需要,要引入redis做缓存,就在centos7下亲自安装了一遍redis,刚好趁着这个机会就来把redis的概念以及单机版和集群版redis安装步骤记录下来,在此和大家一起分享. 二 ...
- 【Zookeeper01】ubuntu下安装zookeeper单例以及集群
参考链接:http://zookeeper.apache.org/ https://www.cnblogs.com/lyhc/p/6560993.html 系统: 乌班图16.04 虚拟机(zk一般要 ...
- CentOS7.2 安装redis 3.0.6集群
1.环境确认 a.系统版本查看 [hadoop@p168 ~]$ cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) b.安装依 ...
- zookeeper作为soa服务器集群的协调调度服务器
zookeeper作为soa服务器集群的协调调度服务器,当然自身也支持集群. ZooKeeper搭建系列集 ZooKeeper系列之一:ZooKeeper简介 ZooKeeper系列之二:ZooKee ...
- (转)CentOs7.3 搭建 RabbitMQ 3.6 Cluster 集群服务与使用
RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写,支持多种客户端,如:Python.Ruby..NET.Java.JMS.C.PHP.ActionScript.XMPP.STO ...
- centos7下安装zookeeper&zookeeper集群的搭建
一.centos7下安装zookeeper 1.zookeeper 下载地址 https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/ 2.安装步骤 ...
- Centos7离线部署kubernetes 1.13集群记录
一.说明 本篇主要参考kubernetes中文社区的一篇部署文章(CentOS 使用二进制部署 Kubernetes 1.13集群),并做了更详细的记录以备用. 二.部署环境 1.kubernetes ...
随机推荐
- day2-心得
模块sys和os #!/usr/bin/env python # -*- coding: utf-8 -*- import sys sys.path #打印环境变量 print(sys.argv) # ...
- spring中二个重要点
spring核心主要两部分: (1)aop: 面向切面编程,扩展功能不是修改源代码实现 (2)ioc: 控制反转
- Python常用算法
本节内容 算法定义 时间复杂度 空间复杂度 常用算法实例 1.算法定义 算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机 ...
- Perl基础语法
一.脚本文件perl 代码可以写在一个文本文件中,以 .pl..PL 作为后缀.文件名可以包含数字,符号和字母,但不能包含空格,可以使用下划线(_)来替代空格.一个简单的Perl 文件名:rurun_ ...
- interface vs abstract
[interface vs abstract] 1.interface中的方法不能用public.abstract修饰,interface中的方法只包括signature. 2.一个类只能继承一个ab ...
- libevent源码深度剖析二
libevent源码深度剖析二 ——Reactor模式 张亮 前面讲到,整个libevent本身就是一个Reactor,因此本节将专门对Reactor模式进行必要的介绍,并列出libevnet中的几个 ...
- mybatis 框架 的应用之二(批量添加、实现分页查询)
lf-driver=com.mysql.jdbc.Driver lf-url=jdbc:mysql://localhost:3306/test lf-user=LF lf-password=LF &l ...
- ubuntu 64 14.04 共享文件夹问题
转自http://blog.csdn.net/gongyuan073/article/details/46604233 原文链接: http://blog.csdn.NET/chinley/artic ...
- 初次接触URDF
使用URDF创建机器人3D仿真模型 在真实的机器人上编程可以更好地让我们理解机器人的控制方式,因为真实的机器人会有反馈.如果没有真实的机器人,那么ROS仿真是一个很好的选择. ROS通过URDF(Un ...
- 认识Filter
1). Filter 是什么 ? ①. JavaWEB 的一个重要组件, 可以对发送到 Servlet 的请求进行拦截, 并对响应也进行拦截. ②. Filter 是实现了 Filter 接口的 Ja ...