IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> docker快速搭建kafka集群测试环境 -> 正文阅读

[大数据]docker快速搭建kafka集群测试环境

本地开发过程中需要用到kafka,虚拟机环境搭建太麻烦并且太耗费资源。利用docker结合docker-compose可以快速搭建一套完整的kafka集群环境,非常方便

资源准备:

  • CentOS7
  • Docker version 19.03.4
  • Docker Compose 1.29.2
  • [Docker IMAGE] wurstmeister/kafka:latest
  • [Docker IMAGE] wurstmeister/zookeeper:latest

Docker Compose 安装

curl -L https://github.com/docker/compose/releases/download/1.29.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

搭建集群环境

创建一个kafka目录,添加docker-compose文件

version: '3.5'
services:
  kafka:
    image: wurstmeister/kafka
    ports:
      - "9092"
    environment:
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://:9092
      KAFKA_LISTENERS: PLAINTEXT://:9092
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
  zookeeper:
    image: wurstmeister/zookeeper
    ports:
      - "2181:2181"

执行docker-compose up -d创建一组容器
创建kafka实例
执行docker-compose scale kafka=3将kafka实例扩展到3台
创建三台kafka实例

kafka创建topic

在kafka_1节点创建 topic 3个分区 2

docker exec kafka_docker_kafka_1 \
kafka-topics.sh --create \
--topic topic001 \
--partitions 3 \
--zookeeper zookeeper:2181 \
--replication-factor 2

kafka相关参数
查看创建topic的信息

docker exec kafka-docker_kafka_3 \
kafka-topics.sh \
--describe \
--topic topic001 \
--zookeeper zookeeper:2181

查看topic创建信息kafka topic信息

消费消息

执行如下命令,即可进入等待topic为topic001消息的状态:

docker exec kafka_kafka_2 \
kafka-console-consumer.sh \
--topic topic001 \
--bootstrap-server \ kafka_kafka_1:9092,kafka_kafka_2:9092,kafka_kafka_3:9092

生产消息

打开一个新的窗口,执行如下命令,进入生产消息的命令行模式,注意不要漏掉参数"-it",我之前就是因为漏掉了参数"-it",导致生产的消息时虽然不提示异常,但是始终无法消费到消息:

docker exec -it kafka_kafka_1 \
kafka-console-producer.sh \
--topic topic001 \
--broker-list kafka_kafka_1:9092,kafka_kafka_2:9092,kafka_kafka_3:9092

生产端发送消息:生产消息消费端接收到消息:消费消息
致此,docker搭建kafka集群完成

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-08-04 11:16:50  更:2021-08-04 11:19:20 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/17 18:28:14-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码