前言
本文使用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端口