centos環(huán)境下docker-compose部署kafka集群

簡介:docker-compose使用配置文件(docker-compose.yml)配置管理多個docker容器,在配置文件中,所有的容器通過service來定義,使用docker-compose啟動,停止,重啟應用,適合組合使用多容器開發(fā)的場景。

1.安裝docker-compose

使用curl安裝docker-compose:

#下載鏡像
sudo curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

#添加可執(zhí)行權限
chmod +x /usr/local/bin/docker-compose

控制臺輸入docker-compose --version成功則顯示

docker-compose安裝成功.png

若驗證是否安裝成功時出錯
進入下面的網(wǎng)址下載目前的最新版:
https://github.com/docker/compose/releases/tag/1.14.0-rc2
網(wǎng)頁拉到最下面,下載:
docker-compose-Linux-x86_64
然后將文件上傳到 /usr/local/bin/ 文件夾下,然后將其重命名為docker-compose,修改此文件的權限,增加可執(zhí)行:chmod +x /usr/local/bin/docker-compose

2.下載鏡像(默認宿主機已安裝docker)

下載wurstmeister/zookeeper、wurstmeister/kafka、sheepkiller/kafka-manager

docker pull wurstmeister/zookeeper
docker pull wurstmeister/kafka
docker pull sheepkiller/kafka-manager

3.添加docker-compose.yml腳本

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: 192.168.0.119                     ## 修改:宿主機IP
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://192.168.0.119: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: 192.168.0.119                    ## 修改:宿主機IP
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://192.168.0.119: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: 192.168.0.119                   ## 修改:宿主機IP
    ports:
      - "9000:9000"                               ## 暴露端口

4.運行docker-compose

在docker-compose.yml腳本目錄下輸入docker-compose up -d


運行docker-compose.png

5.顯示kafka集群信息

通過kafka-manager查看kafka集群信息,topic信息,新增topic等操作
瀏覽器輸入192.168.0.119:9000,然后添加cluster,其中zk地址填寫zoo1:2181


顯示kafka集群信息.png

顯示kafka集群信息2.png

6.測試kafka生產(chǎn)者,消費者

控制臺創(chuàng)建生產(chǎn)者,消費者,模擬kafka消費

#創(chuàng)建topic
docker exec kafka1 \
kafka-topics.sh \
--create --topic topic001 \
--partitions 1 \
--zookeeper zookeeper:2181 \
--replication-factor 1

#獲取topic列表
docker exec kafka1 \
kafka-topics.sh --list \
--zookeeper zookeeper:2181

#進入kafka消費者
docker exec kafka1 \
kafka-console-consumer.sh \
--topic topic001 \
--bootstrap-server kafka1:9092,kafka2:9092

進入kafka生產(chǎn)者
docker exec -it kafka1 \
kafka-console-producer.sh \
--topic topic001 \
--broker-list kafka1:9092,kafka2:9092

測試效果

生產(chǎn)者


生產(chǎn)者.png

消費者


消費者.png
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容