使用docker-compose安装kafka并配置zookeeper
- 创建工作目录
在你的服务器可用位置,创建一个空白目录【名称随意】(如:我创建了一个名为work_space_kafka的目录)。 - 添加docker-compose.yml文件
在目录内创建一个文件,文件名为docker-compose.yml,并输入以下内容。
javascript
version: '3'
services:
zookeeper:
image: wurstmeister/zookeeper:latest
ports:
- "2181:2181"
kafka:
image: wurstmeister/kafka:latest
ports:
- "9092:9092"
environment:
KAFKA_ADVERTISED_HOST_NAME: localhost
KAFKA_ADVERTISED_PORT: 9092
KAFKA_CREATE_TOPICS: "shop:1:1"
KAFKA_HEAP_OPTS: "-Xmx256M"
KAFKA_ZOOKEEPER_CONNECT: "zookeeper:2181"
depends_on:
- zookeeper
- 使用docker-compose命令构建容器
在服务器上,进入创建的工作目录,执行命令docker-compose up -d,即可启动kafka与zookeeper。
注意:
- docker-compose需要提前安装好
- 启动前确定9092,2181端口不被占用
使用docker命令启动kafka与zookeeper
1创建网络
运行一下命令,创建容器间通信网络。
javascript
docker network create app-tier --driver bridge
2 创建zookeeper容器
运行以下命令,创建zk容器,并链接到网络
javascript
docker run -d --name zookeeper-server \
--network app-tier \
-e ALLOW_ANONYMOUS_LOGIN=yes \
wurstmeister/zookeeper:latest
3 创建kafka容器并启动
运行以下命令,创建kafka容器,并链接到网络
javascript
docker run -d --name kafka-server \
--network app-tier \
-p 9092:9092 \
-e ALLOW_PLAINTEXT_LISTENER=yes \
-e KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper-server:2181 \
-e KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://192.168.10.230:9092 \
wurstmeister/kafka:latest
安装kafka-map可视化工具
javascript
docker run -d --name kafka-map \
--network app-tier \
-p 9001:8080 \
-v /opt/kafka-map/data:/usr/local/kafka-map/data \
-e DEFAULT_USERNAME=admin \
-e DEFAULT_PASSWORD=admin \
--restart always dushixiang/kafka-map:latest
访问kafka主机ip+9001端口,用户名与密码都为admin,即可访问。