部署单台kafka服务器 - housekeeper-software/tech GitHub Wiki

先拉镜像

docker pull zookeeper
docker pull wurstmeister/kafka

https://github.com/robcowart/docker_compose_cookbook/blob/master/confluent_kafka_oss/docker-compose.yml

启动zk

docker run -d --name zookeeper -p 2181:2181 -v /usr/local/zookeeper/data:/data -v /usr/local/zookeeper/log:/datalog zookeeper

#启动 kafka

docker run -d --name kafka -p 9092:9092 \
--link zookeeper \
-e KAFKA_BROKER_ID=0 \
-e KAFKA_AUTO_CREATE_TOPICS_ENABLE=true \
-e KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR=1 \
-e KAFKA_CREATE_TOPICS="coocare.message" \
-e KAFKA_ZOOKEEPER_CONNECT=192.168.180.70:2181 \
-e KAFKA_ADVERTISED_HOST_NAME=192.168.180.70 \
-e KAFKA_ADVERTISED_PORT=9092  \
-e KAFKA_LOG_DIRS=/kafka/kafka-logs-1 \
-v /usr/local/kafka/logs:/kafka/kafka-logs-1  \
-v /usr/local/kafka/config:/opt/kafka/config \
wurstmeister/kafka

配置log4j.properties

在 /usr/local/kafka/config目录添加
log4j.rootLogger=INFO, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n

使用 docker-compose部署

version: '3.0'
services:

  zookeeper:
    image: wurstmeister/zookeeper
    expose:
      - "2181"
    restart: always
    container_name: zookeeper

  kafka:
    image: wurstmeister/kafka
    depends_on:
      - zookeeper
    ports:
      - "9093:9093"
    expose:
      - "9092"
    environment:
      KAFKA_BROKER_ID: 0
      KAFKA_CREATE_TOPICS: "coocare.message:1:1"
      KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
      KAFKA_ADVERTISED_LISTENERS: INSIDE://kafka:9092,OUTSIDE://192.168.180.70:9093
      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: INSIDE:PLAINTEXT,OUTSIDE:PLAINTEXT
      KAFKA_LISTENERS: INSIDE://0.0.0.0:9092,OUTSIDE://0.0.0.0:9093
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
      KAFKA_INTER_BROKER_LISTENER_NAME: INSIDE
    volumes:
      - /usr/local/kafka/logs:/kafka/kafka-logs-1
      - /usr/local/kafka/config:/opt/kafka/config         
    restart: always
    container_name: kafka