Docker下安装Zookeeper以及Kafka

news2025/7/28 18:36:35

一、安装Zookeeper

1. 查看Zookeeper镜像以及版本

  1. 访问Zookeeper镜像库地址
    zookeeper镜像
  2. 也可以通过命令docker search zookpper在命令行搜索zookeeper镜像,但是通过该命令无法查看远程镜像版本信息。

NAME:镜像名(镜像仓库源的名称)
DESCRIPTION:对该镜像的描述
STARS:类似 Github 里面的 star,表示点赞、喜欢的意思
OFFICIAL:是否 docker 官方发布
AUTOMATED:是否自动构建

2. 安装zookeeper

  1. 拉取zookeeper镜像
docker pull zookeeper:3.8.0-temurin
  1. 创建并运行zookeeper容器
docker run --name zookeeper --privileged=true -p 2181:2181 -d zookeeper:3.8.0-temurin

这里有一点需要注意,privileged命令的意思是使Docker应用容器获取宿主机root权限(特殊权限)。我使用的是官方提供的镜像,官方给出的示例中并没有使用–privileged=true命令,但是我在创建容器的过程中,没有该命令,会出现一个容器内存错误,导致容器创建失败,目前还不确定是镜像还是虚拟机的问题。

  1. 通过docker ps查看容器是否启动!
  2. 进入容器内部查看zookeeper容器状态
docker exec -it zookeeper_v bash
./bin/zkServer.sh status

status

3. 挂在配置文件

截止到这里,zookeeper实际上就已经装好了,借助docker可以轻松快速的装好一个zookeeper服务,但是如果此时需要部署项目就会比较麻烦,我们需要将自己的文件拷贝进入容器内部,然后进入容器内部操作,所以我们需要借助-v参数,将宿主机文件与容器文件做映射;

  1. 在本地创建文件夹用来挂在zookeeper配置信息(数据、配置、日志)
mkdir /usr/local/dockerv/zookeeper/{data,conf,datalog}
  1. 将刚才已经启动的zookeeper容器里的配置拷贝出来一份。看网上的某些教程,都是直接创建一个空的目录,然后创建容器进行挂载,再创建相应的配置文件,但是经我的测试,如果不提前创建好对应的配置文件,在挂载启动时,容器会出错起不来,特别是zoo.cfg配置文件,所以我的解决办法是,提前创建好一个不不需要挂载的zookeeper容器,然后将里面的配置文件直接拷贝出来,然后再创建一个挂载文件的zookeeper容器,作为实际项目中的使用。
docker cp zookeeper:/data /usr/local/dockerv/zookeeper/
docker cp zookeeper:/conf /usr/local/dockerv/zookeeper/
docker cp zookeeper:/datalog /usr/local/dockerv/zookeeper/
  1. 创建并启动zookeeper容器
docker run --name zookeeper_v --privileged=true -p 2181:2181 -d \
-v /usr/local/dockerv/zookeeper/data:/data \
-v /usr/local/dockerv/zookeeper/conf:/conf \
-v /usr/local/dockerv/zookeeper/datalog:/datalog \
zookeeper:3.8.0-temurin
  1. 重复2.4的步骤,查看容器是否启动成功,如果没问题,就可以进行kafka的安装了,因为kafka依赖于zookeeper。

二、安装Kafka

1. 查看Kafka镜像以及版本

与zookeeper镜像的查找以及下载过程基本一致,过程省略。

2. 创建网络

app-tier:网络名称
bridge:网络类型,桥接模式

docker network create app-tier --driver bridge
docker networ ls

app-tier
我对这步的理解是:通过app-tier这个网络,可以实现不同容器的网络通信。

3. 创建zookeeper容器

注意:这里的zookeeper创建方式跟上面的zookeeper创建教程有所区别,首先这里需要将zookeeper加入到app-tier网络中,其次这里也不需要进行外部挂载。由于我在使用官网镜像时需要使用privileged获取宿主机的权限,这里不想再使用官方镜像了,换成bitnami的zookeeper镜像,这样也可以与kafka保持一致(kafka目前没找到官方镜像,排名第一的是bitnami的镜像)。

docker run -d --name zookeeper-server \
--network app-tier \
-e ALLOW_ANONYMOUS_LOGIN=yes \
bitnami/zookeeper:3.8.0

4. 创建kafka服务

  1. 创建kafka容器
docker run --name kafka -p 9092:9092 -d \
--network app-tier \
-e ALLOW_PLAINTEXT_LISTENER=yes \
-e KAFKA_BROKER_ID=0 \
-e KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper-server:2181 \
-e KAFKA_CFG_LISTENERS=PLAINTEXT://0.0.0.0:9092 \
bitnami/kafka:3.0

ALLOW_PLAINTEXT_LISTENER:任何人可以访问
KAFKA_BROKER_ID:在kafka集群中,每个kafka都有一个BROKER_ID来区分自己
KAFKA_CFG_ZOOKEEPER_CONNECT:配置zookeeper管理kafka的路径
KAFKA_CFG_LISTENERS:配置kafka的监听端口

通过docker logs -f kafka查看容器启动日志,如果没什么报错信息,基本上创建就创建成功了,或者通过docker ps查看目前正在运行的容器,如果容器创建成功,此时会处于运行状态,通过ps命令是可以找得到该容器的。

  1. 验证kafka的状态
docker exec -it kafka bash
cd /opt/bitnami/kafka/bin/
.kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic mytest
.kafka-topics.sh --describe --bootstrap-server localhost:9092 --topic mytest

topic
通过创建topic以及查看topic命令,可以看出目前kakfa运行正常!

三、结语

记录一下自己安装创建的过程,以后有新的内容将继续补充!实际上dockerhub上就有相关镜像的安装示例,虽然简单,但是很有参考价值,以后也要养成多看官方文档的习惯!

四、参考文章

Docker 安装Zookeeper
Docker安装Kafka教程(超详细)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/16373.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

yolov5剪枝实战2:网络剪枝原理介绍

1. 网络轻量化相关技术 网络轻量化的相关技术分类:1. 网络剪枝(Network pruning) 2. 稀疏表示(Sparse representation) 3. Bits precision(低比特表示,比如不用浮点型,使用int量化) 4. Kownledge distillation(知识蒸馏) 2. 网络剪枝 神经网络一般都是over-parameterized,…

SharePoint Integrator Delphi版

SharePoint Integrator Delphi版 SharePoint Integrator包含易于使用的组件,用于连接流行的SharePoint Server结构,如网站、列表和文档。SharePoint Integrator组件支持对SharePoint对象的访问,允许应用程序轻松地查询和修改列表、访问托管文…

京东发布第三季度财报员工总数近50万 “以实助实”助力高质量就业

11月18日,京东集团(纳斯达克股票代码:JD,港交所股票代号:9618)发布了2022年三季度业绩。其中净收入为2435亿元人民币,同比增速高于同期国内社会消费品零售总额3.5%的增速;其中&#…

【17-微服务网关之Spring Cloud GatewaySpring Cloud Gateway网关服务搭建】

一.知识回顾 【0.三高商城系统的专题专栏都帮你整理好了,请点击这里!】 【1-系统架构演进过程】 【2-微服务系统架构需求】 【3-高性能、高并发、高可用的三高商城系统项目介绍】 【4-Linux云服务器上安装Docker】 【5-Docker安装部署MySQL和Redis服务】…

“知识图谱补全”术语:知识图谱补全、三元组分类、链接预测

基本简介: 知识图谱补全通常定义为“三元组分类”或“链接预测”任务。首先,一条知识在知识图谱中通常由三元组表示:“头实体,关系,尾实体”。三元组分类即对于给定的三元组,预测其正确的概率。而链接预测…

VM虚拟机卡顿、闪退一系列问题与卸载重装问题(详细版)

最新发现好多虚拟机有闪退现象,对此我给出一系列解决方案,仅供参考 一.软件问题 1.虚拟机闪退 首先,如果是VMware Workstation Pro也就是软件本身闪退问题,即还没有运行或打开系统时就已经闪退,说明软件有问题&…

Windows系统VirtualBox下载与安装

Windows系统VirtualBox下载与安装 一、下载:https://www.virtualbox.org/wiki/Downloads 1.安装包 2.扩展包(对USB 2.0、USB 3.0、远程桌面协议 VRDP等实用功能的支持) 二、安装 1.如果安装出现本机缺少必要包的情况,不要慌&am…

3.1版本【HarmonyOS 第一课】正式上线!参与学习赢官方好礼>>

【课程介绍】《HarmonyOS第一课》是跟随版本迭代不断推出的系列化课程,本期课程基于HarmonyOS 3.1版本的新技术和特性,每个课程单元里面都包含视频、Codelab、文章和习题,帮助您快速掌握HarmonyOS的应用开发,快速了解新的特性和技…

基于PHP+MySQL汽车展览会网站的设计与实现

随着我国经济的发展,汽车已经进入了家家户户,但是很多时候人们因为各种原因需要进行汽车出行,但是很多时候人们有不知道购买什么样的汽车更适合自己,如果挨个去汽车4S既浪费时间又不能够把各类汽车都看全,人们更希望通过发达的车展来查询自己所需的汽车信息,本系统也是出于这样…

分享几个常用的可以从外部攻击视角发现甲方公司安全问题的开源工具

资产管理平台-ARL https://github.com/TophantTechnology/ARL 作为甲方,一定要有自己的资产平台,主要目的就是基于外部攻击视角不断发现风险,当然放在内网也可以,测试了很多开源的工具,最终还是选择了ARL,…

【深入理解C++】左值引用、常引用、右值引用、std::move()函数

文章目录1.左值引用2.常引用2.1 const引用可以指向临时数据2.2 const引用可以指向不同类型的数据2.3 const引用作为函数参数3.右值引用4.std::move()函数1.左值引用 左值引用只能绑定到左值上,不能绑定到右值上。 左值引用不能绑定到临时变量上,因为临…

是德N5290A矢量网络分析仪技术参数及操作步骤

网络分析仪能对被测量器件(主要分为有源元件和无源元件)的线性和非线性特性(幅频特性,相频特性,时频特性,功率频率特性等)进行表征。 那么大家真的了解网络分析仪吗?下面西安安泰测试以是德科技(安捷伦)E50系列矢量网络分析仪为例介绍仪器基…

基于PHP+MySQL汽车租赁管理系统的设计与实现

虽然汽车已经进入了家家户户,但是很多时候人们因为各种原因需要进行汽车的租赁,可能是到达的城市比较远,也可能是经济实力不允许,或者是对车辆的要求不高,暂时没必要买车等,这些特殊的原因导致了汽车租赁行业的兴起。越来越多的用车用户希望通过租赁来直接获取使用的使用权,这样…

四、C++ 类的继承

文章目录一、引言1.1 类成员的三种类型1.2 访问控制和继承二、类的继承2.1 格式2.2 继承类型三、多继承一、引言 1.1 类成员的三种类型 我们知道,在类中一共有三种类型,分别为public,private和protected,默认为private&#xff…

redhat6.5安装nvidia驱动

iso:redhat6.5 1、下载安装NVIDIA显卡驱动 1.1 打开终端 1.2 输入下方代码进行查看自己的显卡型号 lspci |grep -i nvidia 2、在官网下载对应的驱动: 官方驱动 | NVIDIA 3、禁用nouveau驱动 3.1 禁用默认的nouveau,据说这是NVIDIA显卡…

yolox原理

目录 1 Decoupled Head 1.1 YOLOX的解耦头结构思考 2 Data Augmentation 别人讲的好的文章,yolox作者写的 以下正文部分内容,参考该链接 如何评价旷视开源的YOLOX,效果超过YOLOv5? - 知乎感谢大家对旷视开源的 YOLOX 关注,本…

数字化外协生产综合管理系统,实现信息自动同步,数据自动统计分析!

随着市场经济的不断发展,制造生产行业竞争不断加剧,精细化、无纸化办公已成为生产企业生存和发展的基本条件。要想将企业内部管理做的更精更细,就必须借助于现代先进的企业管理手段和工具,如企业资源计划系统、生产管理系统等。 …

Linux安装Apache(解压版)

安装依赖 yum -y install gcc perl wget make pcre-devel openssl-devel expat-devel 安装目录 mkdir /opt/apache && cd /opt/apache 安装包下载 wget https://dlcdn.apache.org/apr/apr-1.7.0.tar.gz --no-check-certificate wget https://dlcdn.apache.org/apr/apr-…

谈谈数据分析晓知识

随着数字化转型普遍开展,数据分析飞速发展。无论您的组织属于哪个行业,数据分析都可能在制定战略中发挥着关键作用。许多公司现在都有数据分析师,他们对原始数据采用数据挖掘技术,从这个过程中获得的许多可行的洞察和见解。 同时,数据分析软件市场迅速攀升。根据IDC的数据…

【iOS-UIImagePickerController访问相机和相册】

文章目录记录UIImagePickerControllerUIImagePickerController的sourceType主要代码点击imageView事件跳转到相机和相册![请添加图片描述](https://img-blog.csdnimg.cn/0a5a307de371421eba7e3472075dcaeb.png)总结记录 在写知乎日报的时候用到过imageVIew点击事件&#xff0c…