Henry
发布于 2025-02-21 / 16 阅读
0
0

kafka - Docker 安装

简介

使用 Docker 启动 zookeeper 与 kafka 容器。

前置条件

详细步骤

第一步: 配置 docker-compose.yaml 配置文件

services:
  prod_zookeeper:
    container_name: prod_zookeeper
    image: wurstmeister/zookeeper:latest
    ports:
      - "30052:2181"
    networks:
      - kafka-net
    environment:
      - ALLOW_ANONYMOUS_LOGIN=yes
    restart: always

  prod_kafka:
    container_name: prod_kafka
    image: wurstmeister/kafka:latest
    ports:
      - "30053:9092"
    networks:
      - kafka-net
    environment:
      - ALLOW_PLAINTEXT_LISTENER=yes
      - KAFKA_ZOOKEEPER_CONNECT=prod_zookeeper:2181
      - KAFKA_LISTENERS=PLAINTEXT://prod_kafka:9092
    depends_on:
      - prod_zookeeper
    restart: always
    
networks:
  kafka-net:
    driver: bridge
    ipam:
      driver: default
      config:
        - subnet: 172.1.0.0/16
          gateway: 172.1.0.1

Note: 

  • 桥接网络的 ip 请根据自身的需求进行变更。
  • 如 kafka需允许外部访问,环境变量配置可做如下更新,其中 192.168.122.10 为宿主机 ip 地址
    •      - KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092
    •      - KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.122.10:30053

第二步: 启动容器

myserver@pega-minikube-poc:~/pega/kafka$ docker compose up -d
[+] Running 3/3
 ✔ Network kafka_kafka-net   Created        
 ✔ Container prod_zookeeper  Started        
 ✔ Container prod_kafka      Started  

第三步: 查看容器状态

myserver@pega-minikube-poc:~/pega/kafka$ docker container ls -a
CONTAINER ID   IMAGE                           COMMAND                  CREATED          STATUS          PORTS                                                                                                                                  NAMES
d695129e5a31   wurstmeister/kafka:latest       "start-kafka.sh"         16 seconds ago   Up 14 seconds   0.0.0.0:30053->9092/tcp, [::]:30053->9092/tcp                                                                                          prod_kafka
7fdae4bafbb5   wurstmeister/zookeeper:latest   "/bin/sh -c '/usr/sb…"   21 seconds ago   Up 14 seconds   22/tcp, 2888/tcp, 3888/tcp, 0.0.0.0:30052->2181/tcp, [::]:30052->2181/tcp                                                              prod_zookeeper

第四步: 查看启动日志

myserver@pega-minikube-poc:~/pega/postgres$ docker logs -f --tail 10 prod_zookeeper
2025-02-19 08:34:44,126 [myid:] - INFO  [main:NIOServerCnxnFactory@89] - binding to port 0.0.0.0/0.0.0.0:2181
2025-02-19 08:34:46,222 [myid:] - INFO  [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxnFactory@215] - Accepted socket connection from /172.1.0.3:48368
2025-02-19 08:34:46,232 [myid:] - INFO  [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:ZooKeeperServer@949] - Client attempting to establish new session at /172.1.0.3:48368
2025-02-19 08:34:46,235 [myid:] - INFO  [SyncThread:0:FileTxnLog@213] - Creating new log file: log.1
2025-02-19 08:34:46,268 [myid:] - INFO  [SyncThread:0:ZooKeeperServer@694] - Established session 0x10004ea021e0000 with negotiated timeout 18000 for client /172.1.0.3:48368
2025-02-19 08:34:46,377 [myid:] - INFO  [ProcessThread(sid:0 cport:2181)::PrepRequestProcessor@653] - Got user-level KeeperException when processing sessionid:0x10004ea021e0000 type:create cxid:0x2 zxid:0x3 txntype:-1 reqpath:n/a Error Path:/brokers Error:KeeperErrorCode = NoNode for /brokers
2025-02-19 08:34:46,403 [myid:] - INFO  [ProcessThread(sid:0 cport:2181)::PrepRequestProcessor@653] - Got user-level KeeperException when processing sessionid:0x10004ea021e0000 type:create cxid:0x6 zxid:0x7 txntype:-1 reqpath:n/a Error Path:/config Error:KeeperErrorCode = NoNode for /config
2025-02-19 08:34:46,422 [myid:] - INFO  [ProcessThread(sid:0 cport:2181)::PrepRequestProcessor@653] - Got user-level KeeperException when processing sessionid:0x10004ea021e0000 type:create cxid:0x9 zxid:0xa txntype:-1 reqpath:n/a Error Path:/admin Error:KeeperErrorCode = NoNode for /admin
2025-02-19 08:34:46,715 [myid:] - INFO  [ProcessThread(sid:0 cport:2181)::PrepRequestProcessor@653] - Got user-level KeeperException when processing sessionid:0x10004ea021e0000 type:create cxid:0x18 zxid:0x16 txntype:-1 reqpath:n/a Error Path:/cluster Error:KeeperErrorCode = NoNode for /cluster
2025-02-19 08:34:48,192 [myid:] - INFO  [ProcessThread(sid:0 cport:2181)::PrepRequestProcessor@596] - Got user-level KeeperException when processing sessionid:0x10004ea021e0000 type:multi cxid:0x40 zxid:0x1f txntype:-1 reqpath:n/a aborting remaining multi ops. Error Path:/admin/preferred_replica_election Error:KeeperErrorCode = NoNode for /admin/preferred_replica_election
myserver@pega-minikube-poc:~/pega/postgres$ docker logs -f --tail 10 prod_kafka
[2025-02-19 08:34:48,008] INFO [ExpirationReaper-1001-AlterAcls]: Starting (kafka.server.DelayedOperationPurgatory$ExpiredOperationReaper)
[2025-02-19 08:34:48,039] INFO [/config/changes-event-process-thread]: Starting (kafka.common.ZkNodeChangeNotificationListener$ChangeEventProcessThread)
[2025-02-19 08:34:48,050] INFO [SocketServer listenerType=ZK_BROKER, nodeId=1001] Starting socket server acceptors and processors (kafka.network.SocketServer)
[2025-02-19 08:34:48,074] INFO [SocketServer listenerType=ZK_BROKER, nodeId=1001] Started data-plane acceptor and processor(s) for endpoint : ListenerName(PLAINTEXT) (kafka.network.SocketServer)
[2025-02-19 08:34:48,075] INFO [SocketServer listenerType=ZK_BROKER, nodeId=1001] Started socket server acceptors and processors (kafka.network.SocketServer)
[2025-02-19 08:34:48,081] INFO Kafka version: 2.8.1 (org.apache.kafka.common.utils.AppInfoParser)
[2025-02-19 08:34:48,081] INFO Kafka commitId: 839b886f9b732b15 (org.apache.kafka.common.utils.AppInfoParser)
[2025-02-19 08:34:48,081] INFO Kafka startTimeMs: 1739954088075 (org.apache.kafka.common.utils.AppInfoParser)
[2025-02-19 08:34:48,084] INFO [KafkaServer id=1001] started (kafka.server.KafkaServer)
[2025-02-19 08:34:48,276] INFO [broker-1001-to-controller-send-thread]: Recorded new controller, from now on will use broker prod_kafka:9092 (id: 1001 rack: null) (kafka.server.BrokerToControllerRequestThread)

以上便是本文的全部内容,感谢您的阅读。



评论