Docker搭建搭建Zookeeper&Kafka集群的实现集群的实现
最近在学习Kafka,准备测试集群状态的时候感觉无论是开三台虚拟机或者在一台虚拟机开辟三个不同的端口号都太麻烦了(嗯。。主要是懒)。
环境准备环境准备
一台可以上网且有CentOS7虚拟机的电脑
为什么使用虚拟机?因为使用的笔记本,所以每次连接网络IP都会改变,还要总是修改配置文件的,过于繁琐,不方便测试。(通过Docker虚拟网络的方式可以避免此问题,当时实验的时候没有了解
到)
Docker 安装安装
如果已经安装Docker请忽略此步骤
Docker支持以下的CentOS版本:
CentOS 7 (64-bit):要求系统为64位、系统内核版本为 3.10 以上。
CentOS 6.5(64-bit)或更高的版本:要求系统为64位、系统内核版本为 2.6.32-431 或者更高版本。
CentOS 仅发行版本中的内核支持 Docker。
yum安装安装
Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看上文的前提条件来验证你的CentOS 版本是否支持 Docker 。
# 查看内核版本
$ uname -a
#安装 Docker
$ yum -y install docker
#启动 Docker 后台服务
$ service docker start
# 由于本地没有hello-world这个镜像,所以会下载一个hello-world的镜像,并在容器内运行。
$ docker run hello-world
脚本安装脚本安装
使用 sudo 或 root 权限登录 Centos。
确保 yum 包更新到最新。
$ sudo yum update
获取并执行 Docker 安装脚本。
$ curl -fsSL https://get.docker.com -o get-docker.sh
# 执行这个脚本会添加 docker.repo 源并安装 Docker。
$ sudo sh get-docker.sh
启动启动Docker
$ sudo systemctl start docker
# 验证 docker 是否安装成功并在容器中执行一个测试的镜像。
$ sudo docker run hello-world
$ docker ps
镜像加速镜像加速
开始让我配置国内镜像源的时候我是拒绝的,但是使用之后发现那下载速度 duang~ 的一下就上去了。所以强烈建议大家配置国内镜像源。
打开/创建 /etc/docker/daemon.json 文件,添加以下内容:
{
"registry-mirrors": ["http://hub-mirror.c.163.com"] }
Zookeeper集群搭建集群搭建
Zookeeper镜像:zookeeper:3.4
镜像准备镜像准备
$ docker pull zookeeper:3.4
查找镜像可以去 https://hub.docker.com/
docker pull images:TAG // 代表拉取 TAG 版本的 image 镜像
建立独立建立独立Zookeeper容器容器
我们首先用最简单的方式创建一个独立的Zookeeper节点,然后我们根据这个例子创建出其他的节点。
$ docker run --name zookeeper -p 2181:2181 -d zookeeper:3.4
默认的,容器内配置文件在, /conf/zoo.cfg,数据和日志目录默认在 /data 和 /datalog,需要的话可以将上述目录映射到宿主机。
参数解释
–name:指定容器名字
-p:为容器暴露出来的端口分配端口号
-d:在后台运行容器并打印容器ID
集群搭建集群搭建
其它节点的Zookeeper容器创建方式与创建独立容器类似,需要注意的是,要分别指定节点的id和修改文件中多节点的配置,相应的创建命令如下:
新建新建docker网络网络
$ docker network create zoo_kafka
$ docker network ls
Zookeeper容器容器1
$ docker run -d \
--restart=always \
-v /opt/docker/zookeeper/zoo1/data:/data \
-v /opt/docker/zookeeper/zoo1/datalog:/datalog \
-e ZOO_MY_ID=1 \
评论0