kafka、zookeeper常用镜像介绍
kafka和zookeeper常见的镜像有以下三个:wurstmeister/zookeeper、kafka、confluentinc/cp-zookeeper、cp-kafka 和 bitnami/zookeeper、kafka。
wurstmeister/xxx: 由wurstmeister团队维护,提供的镜像适用于开发和测试环境,具有便捷部署、版本多样、可自定义配置等特点。通过 Docker 一键启动 Kafka 集群,无需安装额外软件,大大简化了运维工作,对于想要快速搭建 Kafka 环境进行开发和测试的用户非常方便。但是,在生产环境中可能缺乏某些高级功能和优化。
confluentinc/xxx: 这个镜像由Confluent公司维护,是Kafka的官方镜像之一。适合构建复杂的 Kafka 集群和生产环境,为企业级用户提供了更全面、功能更强大的 Kafka 解决方案,包括对 Kafka 的企业级支持和服务、完全托管的 Confluent Cloud 服务等,能够满足企业对于数据处理的高要求和高可靠性需求。
bitnami/kafka: Bitnami 是一个提供各种流行应用的 Docker 镜像和软件包的开源项目,旨在为用户提供打包好的软件堆栈,使得在各种操作系统上部署各种应用程序变得轻松且高效。对于想要快速、简单地部署 Kafka 的用户来说是一个不错的选择,适用于一些对 Kafka 功能需求不是特别复杂,但又希望能够快速搭建和使用的场景,例如小型项目或个人实验等。
总的来说,Wurstmeister 适合快速搭建测试环境;Confluent Inc 提供企业级的 Kafka 解决方案;Bitnami 则提供简单易用的 Kafka 部署以及便捷的应用管理工具,用户可以根据自己的需求和场景选择适合的产品或服务。
docker 单节点arm架构服务器安装zookeeper
首先我们安装zookeeper,由于wurstmeister/zookeeper,在arm架构自动拉取不到arm的镜像,所以我们选择bitnami/zookeeper。
docker pull bitnami/zookeeper
以防镜像架构拉错,可以通过以下命令检查镜像是不是arm架构的
docker inspect bitnami/zookeeper
如下图所示是arm架构。
接着执行下列命令运行容器
docker run -d --name zookeeper -p 2181:2181 -e ALLOW_ANONYMOUS_LOGIN=yes bitnami/zookeeper:latest
如图所示表示正常运行
docker 单节点arm架构服务器安装kafka并测试通信
拉取kafka镜像
docker pull bitnami/kafka
docker inspect bitnami/kafka:latest
启动kafka
docker run -d --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=ip_address:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://ip_address:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 bitnami/kafka
测试搭建的kafka是否可以正常进行发布、消费消息
服务器开启两个窗口同时进入到容器中
docker exec -it 容器id /bin/bash
每个镜像存放kafka脚本启动目录的地方有差异,我使用的bitnami/kafka镜像脚本启动目录在如下地址:
cd /opt/bitnami/kafka/bin/
启动发布消息脚本,并创建test的topic,生产者发送消息
./kafka-console-producer.sh --broker-list localhost:9092 --topic test
消费者订阅主题
./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
添加–from-beginning命令是让消费者从头开始消费topic里的消息,若不添加消费者只会从当前发送的消息开始消费。