docker快速搭建kafka集群


1. 前言

本文介紹如何在linux下利用docker快速搭建kafa單機集群

2.項目

地址:https://github.com/wurstmeister/kafka-docker

3.環境安裝

3.1 安裝docker-compose

1)安裝Python3

參考Python系列

2)安裝相關lib

Ubuntu:
sudo apt install -y libffi-dev python-dev gcc* Centos: sudo yum install -y python-devel libffi-devel gcc*
3)安裝docker-compose
sudo pip3 install docker-compose

3.2 啟動Kafka以及相關命令

3.2.1 運行docker的kafka容器

1)下載git工程
git clone  https://github.com/wurstmeister/kafka-docker
2)進入目錄
cd kafka-docker

3.2.2 配置docker-compose.yml

執行: sudo vim docker-compose.yml,修改為如下內容:
version: '2'
services:
  zookeeper:
    image: wurstmeister/zookeeper
    ports:
      - "2181:2181"
  kafka:
    build: .
    ports:
      - "9092"
    environment:
      KAFKA_ADVERTISED_HOST_NAME: {宿主機的ip}
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
      KAFKA_LOG_SEGMENT_BYTES: 1000000
      KAFKA_LOG_ROLL_HOURS: 2
      KAFKA_LOG_RETENTION_HOURS: 2
      KAFKA_LOG_CLEANER_ENABLE: "true"
      KAFKA_LOG_CLEANER_ENABLE: "true"
      KAFKA_LOG_CLEANER_DELETE_RETENTION_MS: 3600000
      KAFKA_LOG_INDEX_SIZE_MAX_BYTES: 1000000
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock

3.2.3 啟動kafka

1)啟動kafka
docker-compose up -d 
2) 查看是否啟動成功
docker-compose ps

看到這里表明已經啟動成功了,圖中啟動了一個zookeeper和以個kafka容器

  • zookeeper端口:2181
  • kafka1端口:1000

3)擴容kafka節點

#擴容kafka的docker實例為3
docker-compose scale kafka=3 
 
4)停止docker-compose啟動的容器
docker-compose stop

3.3 kafka相關操作

3.3.1. 啟動kafka的docker shell

cd ${工作目錄}/kafka-docker/ && start-kafka-shell.sh

首次啟動會下載相關鏡像,到這里意味着可以使用相關命令了

3.3.2 使用kafka相關命令

1)創建topic

創建一個分區數為8,副本數為2的topic
kafka-topics.sh --create --topic topic8 --partitions 8 --zookeeper {宿主機ip} --replication-factor 2

2)查看topic
查看所有已創建的topic
kafka-topics.sh --list --zookeeper {宿主機ip} 

3)向topic生產消息向topic8發送生產消息

kafka-console-consumer.sh --topic topic8 --group g1 --broker-list {宿主機ip}:1000,{宿主機ip}:1001,{宿主機ip}:1002 

4)向topic消息消息使用group:g1向topic8消費消息

kafka-console-consumer.sh --topic topic8 --bootstrap-server {宿主機ip}:1000,{宿主機ip}:1001,{宿主機ip}:1002 

5) 查看指定的topic

kafka-topics.sh --describe --topic topic8 --zookeeper {宿主機ip}

6)查看topic的消費情況 

kafka-consumer-groups.sh --bootstrap-server {宿主機ip}:1000,{宿主機ip}:1001,{宿主機ip}:1002  --group g1 --describe 

7)刪除某個topic

kafka-topics.sh --delete --zookeeper {宿主機ip} --topic topic8

 

 

博主:測試生財(一個不為996而996的測開碼農)

座右銘:專注測試開發與自動化運維,努力讀書思考寫作,為內卷的人生奠定財務自由。

內容范疇:技術提升,職場雜談,事業發展,閱讀寫作,投資理財,健康人生。

csdn:https://blog.csdn.net/ccgshigao

博客園:https://www.cnblogs.com/qa-freeroad/

51cto:https://blog.51cto.com/14900374

微信公眾號:測試生財(定期分享獨家內容和資源)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM