这篇文章主要介绍了Docker容器 Kafka集群的搭建,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
一、Kafka集群的搭建
1.拉取相关镜像
docker pull wurstmeister/kafka
docker pull zookeeper
2.运行zookeeper
docker run -d --name zookeeper -p 2181:2181 -t zookeeper
3.运行kafka
Kafka0:
docker run -d --name kafka0 -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=192.168.16.129:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.16.129:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -t wurstmeister/kafka
Kafka1:
docker run -d --name kafka1 -p 9093:9093 -e KAFKA_BROKER_ID=1 -e KAFKA_ZOOKEEPER_CONNECT=192.168.16.129:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.16.129:9093 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9093 -t wurstmeister/kafka
Kafka2:
docker run -d --name kafka2 -p 9094:9094 -e KAFKA_BROKER_ID=2 -e KAFKA_ZOOKEEPER_CONNECT=192.168.16.129:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.16.129:9094 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9094 -t wurstmeister/kafka
参数说明:
-e KAFKA_BROKER_ID=0
在kafka集群中,每个kafka都有一个BROKER_ID来区分自己-e KAFKA_ZOOKEEPER_CONNECT=10.20.8.50:2181/kafka
配置zookeeper管理kafka的路径10.20.8.50:2181/kafka-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://10.20.8.50:9092
把kafka的地址端口注册给zookeeper,如果是远程访问要改成外网IP。-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092
配置kafka的监听端口:这个不能改-v /etc/localtime:/etc/localtime
容器时间同步虚拟机的时间
启动3个Kafka节点
4.设置topic
进入kafka0
docker exec -it kafka0 /bin/bash
进入bin目录
cd /opt/kafka_2.13-2.8.1/bin
创建topic
kafka-topics.sh --create --zookeeper 192.168.16.129:2181 --replication-factor 3 --partitions 5 --topic TestTopic
查看topic
kafka-topics.sh --describe --zookeeper 192.168.16.129:2181 --topic TestTopic
Kafka的topic所有分区会分散在不同Broker上,所以该topic的5个分区会被分散到3个Broker上,其中有两个Broker得到两个分区,另一个Broker只有1个分区,如图所示:
集群节点说明:
Topic: TestTopic PartitionCount: 5 ReplicationFactor:3
代表TestTopic有5个分区,3个副本节点;Topic
: 代表主题名称Leader
代表主题节点号,Replicas
代表他的副本节点有Broker.id = 2、0、1(包括Leader Replica和Follower Replica,且不管是否存活),Isr
表示存活并且同步Leader节点的副本有Broker.id = 2、0、1
5.进行生产者和消费者测试
分别在Broker0上运行一个生产者,Broker1、2上分别运行一个消费者:
kafka-console-producer.sh --broker-list 192.168.16.129:9092 --topic TestTopic
kafka-console-consumer.sh --bootstrap-server 192.168.16.129:9093 --topic TestTopic --from-beginning
kafka-console-consumer.sh --bootstrap-server 192.168.16.129:9094 --topic TestTopic --from-beginning
到此这篇关于Docker容器 Kafka集群的搭建的文章就介绍到这了,更多相关Docker搭建Kafka集群内容请搜索编程学习网以前的文章希望大家以后多多支持编程学习网!
沃梦达教程
本文标题为:Docker容器搭建Kafka集群的详细过程
猜你喜欢
- nginx中封禁ip和允许内网ip访问的实现示例 2022-09-23
- 阿里云ECS排查CPU数据分析 2022-10-06
- KVM虚拟化Linux Bridge环境部署的方法步骤 2023-07-11
- 解决:apache24 安装后闪退和配置端口映射和连接超时设置 2023-09-11
- CentOS7安装GlusterFS集群的全过程 2022-10-10
- 利用Docker 运行 python 简单程序 2022-10-16
- CentOS_mini下安装docker 之 安装docker CE 2023-09-23
- 教你在docker 中搭建 PHP8 + Apache 环境的过程 2022-10-06
- 【转载】CentOS安装Tomcat 2023-09-24
- IIS搭建ftp服务器的详细教程 2022-11-15