部署单台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