netkafka:
ipv4_address: 172.23.0.11
kafka2:
container_name: kafka2
image: ‘bitnami/kafka:3.6.1’
user: root
ports:
-
‘29092:9092’
-
‘29093:9093’
environment:
-
KAFKA_ENABLE_KRAFT=yes
-
KAFKA_CFG_PROCESS_ROLES=broker,controller
-
KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER
-
KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093
-
KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT
#标红处修改为自己主机IP
-
KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://1.1.1.1:29092
-
KAFKA_CFG_NODE_ID=2
-
KAFKA_KRAFT_CLUSTER_ID=iZWRiSqjZAlYwlKEqHFQWI #哪一,三个节点保持一致
-
KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=1@172.23.0.11:9093,2@172.23.0.12:9093,3@172.23.0.13:9093
-
ALLOW_PLAINTEXT_LISTENER=yes
-
KAFKA_HEAP_OPTS=-Xmx512M -Xms256M
volumes:
#挂载路径,标红处修改为自己的路径
- /E/dockers/volume/kafka/broker02:/bitnami/kafka:rw
networks:
netkafka:
ipv4_address: 172.23.0.12
kafka3:
container_name: kafka3
image: ‘bitnami/kafka:3.6.1’
user: root
ports:
-
‘39092:9092’
-
‘39093:9093’
environment:
-
KAFKA_ENABLE_KRAFT=yes
-
KAFKA_CFG_PROCESS_ROLES=broker,controller
-
KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER
-
KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093
-
KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT
标红处修改为自己主机IP
-
KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://1.1.1.1:39092
-
KAFKA_CFG_NODE_ID=3
-
KAFKA_KRAFT_CLUSTER_ID=iZWRiSqjZAlYwlKEqHFQWI
-
KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=1@172.23.0.11:9093,2@172.23.0.12:9093,3@172.23.0.13:9093
-
ALLOW_PLAINTEXT_LISTENER=yes
-
KAFKA_HEAP_OPTS=-Xmx512M -Xms256M
volumes:
#挂载路径,标红处修改为自己的路径
- /E/dockers/volume/kafka/broker03:/bitnami/kafka:rw
networks:
netkafka:
ipv4_address: 172.23.0.13
networks:
name:
netkafka:
external: true
driver: bridge
name: netkafka
ipam:
driver: default
config:
- subnet: 172.23.0.0/25
gateway: 172.23.0.1
代码解释:
1. version: “3.6”`:指定了 Docker Compose 文件的版本。
3. kafka1:
、kafka2:
和 kafka3:
:这些是要创建的 Kafka 服务的配置部分。每个服务都包括了容器的名称、镜像、端口映射、环境变量、卷挂载、网络配置等信息。
4. container\_name
: 指定了容器的名称。
5. image
: 指定了要使用的 Docker 镜像。
6. ports
: 指定了要映射的端口,格式为 <host\_port>:<container\_port>
。
7. environment
: 指定了环境变量,用于配置 Kafka 实例。
KAFKA_ENABLE_KRAFT=yes:启用 Kafka 中的 Kafka Raft 强一致性协议 (KRaft)。
****8.****KAFKA_CFG_PROCESS_ROLES=broker,controller:指定 Kafka 进程的角色,其中包括 “broker” 和 “controller”。
****9.****KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER:指定控制器监听器的名称为 “CONTROLLER”。
****10.****KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093:定义 Kafka 监听器的配置。这里使用了两个监听器,一个用于 “PLAINTEXT” 协议,监听 9092 端口,另一个用于 “CONTROLLER” 协议,监听 9093 端口。
****11.****KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT:定义监听器的安全协议映射。这里将 “CONTROLLER” 协议映射到 “PLAINTEXT” 协议。
****12.****KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://192.168.0.135:29092:定义 Kafka 在外部可访问的监听器地址。这里使用了 “PLAINTEXT” 协议和宿主机的 IP 地址。
****13.****KAFKA_CFG_NODE_ID=1:指定当前 Kafka 节点的节点 ID。
****14.****KAFKA_KRAFT_CLUSTER_ID=iZWRiSqjZAlYwlKEqHFQWI:指定 Kafka KRaft 集群的 ID。确保三个节点的集群 ID 相同。
****15.****KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=1@172.23.0.11:9093,2@172.23.0.12:9093,3@172.23.0.13:9093:指定 KRaft 控制器的选举候选人列表。这里列出了三个节点的 IP 地址和端口。
****16.****ALLOW_PLAINTEXT_LISTENER=yes:允许使用 “PLAINTEXT” 协议的监听器。
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数大数据工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年大数据全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上大数据开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注大数据获取)
图片转存中…(img-zqJ04BcG-1712514583673)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上大数据开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注大数据获取)
[外链图片转存中…(img-mTi61s4k-1712514583674)]