前言
本文使用Docker compose 快速搭建kafka集群 , Docker Compose 是 Docker 容器进行编排的工具,定义和运行多容器的应用,可以一条命令启动多个容器。
安装Docker Compose
使用Docker compose 的前提是安装了Docker , Docker的安装这里就省略了 , 如果没有安装的可以自行百度安装, 接下来是安装Docker Compose的步骤:
- 首先直接从github下载即可, 版本要1.9.1以上;
# curl -L https://github.com/docker/compose/releases/download/1.8.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
# chmod +x /usr/local/bin/docker-compose
- 安装后确认是否已经安装成功;
# docker-compose --version
看到一下内容表示已经安装成功
Kafka集群搭建
- 新建一个docker-compose.yml 文件
- 在文件中输入以下内容 ,注意: 宿主机IP要换成你自己宿主机的IP
version: "2"
services:
zoo1:
image: wurstmeister/zookeeper
restart: unless-stopped
hostname: zoo1
ports:
- "2181:2181"
container_name: zookeeper
kafka1:
image: wurstmeister/kafka
ports:
- "9092:9092"
environment:
KAFKA_ADVERTISED_HOST_NAME: 宿主机IP ## 修改:宿主机IP
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://宿主机IP:9092 ## 修改:宿主机IP
KAFKA_ZOOKEEPER_CONNECT: "zoo1:2181"
KAFKA_ADVERTISED_PORT: 9092
KAFKA_BROKER_ID: 1
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
depends_on:
- zoo1
container_name: kafka1
kafka2:
image: wurstmeister/kafka
ports:
- "9093:9092"
environment:
KAFKA_ADVERTISED_HOST_NAME: 宿主机IP ## 修改:宿主机IP
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://宿主机IP:9093 ## 修改:宿主机IP
KAFKA_ZOOKEEPER_CONNECT: "zoo1:2181"
KAFKA_ADVERTISED_PORT: 9093
KAFKA_BROKER_ID: 2
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
depends_on:
- zoo1
container_name: kafka2
kafka-manager:
image: sheepkiller/kafka-manager ## 镜像:开源的web管理kafka集群的界面
environment:
ZK_HOSTS: 宿主机IP ## 修改:宿主机IP
ports:
- "9000:9000" ## 暴露端口
- 使用一条命令快速生成Kafka容器集群
# docker-compose up -d
- 如下图所示 , 使用docker ps 查看即可, 其中kafka-manager 为kafka可视化工具, 可以直接访问9000端口