当前位置: 首页> 汽车> 新车 > 著名办公空间设计公司_淘宝网卖家中心入口_下载app到手机上并安装_竞价外包托管费用

著名办公空间设计公司_淘宝网卖家中心入口_下载app到手机上并安装_竞价外包托管费用

时间:2025/7/12 5:52:48来源:https://blog.csdn.net/weixin_42949219/article/details/146045338 浏览次数: 1次
著名办公空间设计公司_淘宝网卖家中心入口_下载app到手机上并安装_竞价外包托管费用

在 Linux 上使用 Docker 部署 Kafka 集群的步骤如下

1. 准备工作

确保已安装:
Docker
Docker Compose

2. 创建 Docker Compose 文件 (docker-compose.yml)

version: '3.8'services:zookeeper:image: wurstmeister/zookeepercontainer_name: zookeeperports:- "2181:2181"networks:- kafka-netvolumes:- ./zookeeper/data:/dataenvironment:ZOOKEEPER_CLIENT_PORT: 2181kafka1:image: wurstmeister/kafkacontainer_name: kafka1ports:- "9092:9092"environment:KAFKA_BROKER_ID: 1KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181KAFKA_ADVERTISED_LISTENERS: INSIDE://kafka1:9093,OUTSIDE://宿主机IP:9092KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: INSIDE:PLAINTEXT,OUTSIDE:PLAINTEXTKAFKA_LISTENERS: INSIDE://0.0.0.0:9093,OUTSIDE://0.0.0.0:9092KAFKA_INTER_BROKER_LISTENER_NAME: INSIDEKAFKA_AUTO_CREATE_TOPICS_ENABLE: "false"KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 3volumes:- ./kafka1/data:/kafka- /var/run/docker.sock:/var/run/docker.socknetworks:- kafka-netdepends_on:- zookeeperkafka2:image: wurstmeister/kafkacontainer_name: kafka2ports:- "9093:9093"environment:KAFKA_BROKER_ID: 2KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181KAFKA_ADVERTISED_LISTENERS: INSIDE://kafka2:9094,OUTSIDE://宿主机IP:9093KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: INSIDE:PLAINTEXT,OUTSIDE:PLAINTEXTKAFKA_LISTENERS: INSIDE://0.0.0.0:9094,OUTSIDE://0.0.0.0:9093KAFKA_INTER_BROKER_LISTENER_NAME: INSIDEKAFKA_AUTO_CREATE_TOPICS_ENABLE: "false"KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 3volumes:- ./kafka2/data:/kafka- /var/run/docker.sock:/var/run/docker.socknetworks:- kafka-netdepends_on:- zookeeperkafka3:image: wurstmeister/kafkacontainer_name: kafka3ports:- "9094:9094"environment:KAFKA_BROKER_ID: 3KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181KAFKA_ADVERTISED_LISTENERS: INSIDE://kafka3:9095,OUTSIDE://宿主机IP:9094KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: INSIDE:PLAINTEXT,OUTSIDE:PLAINTEXTKAFKA_LISTENERS: INSIDE://0.0.0.0:9095,OUTSIDE://0.0.0.0:9094KAFKA_INTER_BROKER_LISTENER_NAME: INSIDEKAFKA_AUTO_CREATE_TOPICS_ENABLE: "false"KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 3volumes:- ./kafka3/data:/kafka- /var/run/docker.sock:/var/run/docker.socknetworks:- kafka-netdepends_on:- zookeepernetworks:kafka-net:driver: bridge

关键配置说明

  1. 网络架构
networks:kafka-net:driver: bridge

所有服务使用同一个自定义网络 kafka-net,确保容器间通过服务名称通信

  1. Zookeeper 配置
volumes:- ./zookeeper/data:/data  # 数据持久化路径
environment:ZOOKEEPER_CLIENT_PORT: 2181
  1. Kafka 节点配置
environment:# 监听器配置(核心)# 如果外部连接监听消费的话 # KAFKA_ADVERTISED_LISTENERS : INSIDE://kafka1:9093,OUTSIDE://localhost:9092需要修改为# KAFKA_ADVERTISED_LISTENERS : INSIDE://kafka1:9093,OUTSIDE://宿主机IP:9092KAFKA_ADVERTISED_LISTENERS: INSIDE://kafka1:9093,OUTSIDE://宿主机IP:9092KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: INSIDE:PLAINTEXT,OUTSIDE:PLAINTEXTKAFKA_LISTENERS: INSIDE://0.0.0.0:9093,OUTSIDE://0.0.0.0:9092KAFKA_INTER_BROKER_LISTENER_NAME: INSIDE# 其他重要参数KAFKA_AUTO_CREATE_TOPICS_ENABLE: "false"  # 禁止自动创建主题KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 3  # 确保高可用
  1. 端口映射规则
节点节点宿主机端口宿主机端口
kafka190939092集群内部通信
kafka190929092外部客户端访问
kafka290949093集群内部通信
kafka290939093外部客户端访问
kafka390959094集群内部通信
kafka390949094外部客户端访问

操作流程

  1. 启动集群
mkdir -p {zookeeper,kafka1,kafka2,kafka3}/data
docker-compose up -d
  1. 验证集群状态
# 查看 Kafka 日志
docker logs kafka1# 进入容器检查 brokers
docker exec -it kafka1 bash
/opt/kafka/bin/kafka-broker-api-versions --bootstrap-server kafka1:9093
  1. 创建测试主题
docker exec -it kafka1 bash
/opt/kafka/bin/kafka-topics.sh --create \--topic test-topic \--partitions 3 \--replication-factor 3 \--bootstrap-server kafka1:9093
  1. 生产消费测试
# 生产者(使用外部端口)
docker exec -it kafka1 bash
/opt/kafka/bin/kafka-console-producer.sh \--topic test-topic \--bootstrap-server localhost:9092# 消费者(使用另一个节点)
docker exec -it kafka2 bash
/opt/kafka/bin/kafka-console-consumer.sh \--topic test-topic \--from-beginning \--bootstrap-server localhost:9093

常见问题排查

  1. Kafka 节点无法启动
    检查 KAFKA_ADVERTISED_LISTENERS 配置
    验证 Zookeeper 连接:
docker exec -it kafka1 bash
nc -zv zookeeper 2181
  1. 外部客户端无法连接
    检查宿主机防火墙设置
    确认使用外部监听器:
kafka-topics.sh --list --bootstrap-server localhost:9092
  1. 数据持久化失败
    确保挂载目录有写权限:
chmod -R a+rw ./kafka1/data ./kafka2/data ./kafka3/data

高级配置建议

  1. 调整 JVM 参数
    在环境变量中添加:
KAFKA_HEAP_OPTS: "-Xmx2G -Xms2G"
  1. 启用 SSL 加密
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: INSIDE:SSL,OUTSIDE:SSL
KAFKA_SSL_KEYSTORE_LOCATION: /kafka/keystore/kafka.jks
KAFKA_SSL_KEYSTORE_PASSWORD: yourpassword
  1. 集成监控
# 新增 Prometheus 服务
kafka-exporter:image: danielqsj/kafka-exporterports:- "9308:9308"environment:KAFKA_BROKERS: "kafka1:9093,kafka2:9094,kafka3:9095"networks:- kafka-net
关键字:著名办公空间设计公司_淘宝网卖家中心入口_下载app到手机上并安装_竞价外包托管费用

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: