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

传送门:2021最新测试资料与大厂招聘合集

博主:测试生财(一个不为996而996的测开码农)

座右铭:专注测试开发与自动化运维,努力读书思考写作,为内卷的人生奠定财务自由。

内容范畴:技术提升,职场杂谈,事业发展,阅读写作,投资理财,健康人生。

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

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

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

微信公众号:测试生财(定期分享独家内容和资源)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

公众号-测试生财

点赞和关注比打赏更重要

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值