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集群的知识,却没有那么多的服务器来部署kafka集群,docker容器技术给希望,本文整理了各位大神的文章,记录下使用docker技术在一台机器上搭建kafka集群。

系统环境:

  • 服务器一台,2核8G,ubuntu18.04操作系统
  • docker版本:20.10.8

部署

?2.1 修改docker镜像源

? ? ? ? 国外镜像源下载比较慢,所以修改docker的镜像源为国内镜像。

vim /etc/docker/daemon.json

? ? ? ? 添加以下内容

{
? "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
? ? ? ? 重新加载docker daemon,并且重启docker服务

systemctl daemon-reload
service docker restart

? 2.2 安装docker容器版kafka集群

? ? ? ? 具体安装命令如下:

# docker直接拉取kafka和zookeeper的镜像
docker pull wurstmeister/kafka
docker pull wurstmeister/zookeeper

# 首先需要启动zookeeper,如果不先启动,启动kafka没有地方注册消息
docker run -it --name zookeeper -p 12181:2181 -d wurstmeister/zookeeper:latest
# 启动kafka容器,注意需要启动三台,注意端口的映射,都是映射到9092
# 第一台
docker run -it --name kafka01 -p 19092:9092 -d -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=${本机IP}:12181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://${本机IP}:19092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 wurstmeister/kafka:latest

# 第二台
docker run -it --name kafka02 -p 19093:9092 -d -e KAFKA_BROKER_ID=1 -e KAFKA_ZOOKEEPER_CONNECT=${本机IP}:12181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://${本机IP}:19093 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 wurstmeister/kafka:latest

# 第三台
docker run -it --name kafka03 -p 19094:9092 -d -e KAFKA_BROKER_ID=2 -e KAFKA_ZOOKEEPER_CONNECT=${本机IP}:12181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://${本机IP}:19094 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 wurstmeister/kafka:latest

? ? ? ? ? 测试是否部署成功

docker ps -a

? ? ? ?测试kafka命令,新建?topic,并向topic发送消息,使用消费者命令获取消费消息。kafka命令的安装,可以请教百度,直接安装个kafka版本,进入到bin目录下即可。

# 创建topic名称为first,3个分区,1个副本
./kafka-topics.sh --zookeeper ${本机IP}:12181 --create --topic first --replication-factor 1 --partitions 3

# 查看first此topic信息
./kafka-topics.sh --zookeeper ${本机IP}:12181 --describe --topic first
Topic: first	PartitionCount: 3	ReplicationFactor: 1	Configs: 
	Topic: first	Partition: 0	Leader: 2	Replicas: 2	Isr: 2
	Topic: first	Partition: 1	Leader: 0	Replicas: 0	Isr: 0
	Topic: first	Partition: 2	Leader: 1	Replicas: 1	Isr: 1


# 调用生产者生产消息
./kafka-console-producer.sh --broker-list ${本机IP}:19092,${本机IP}:19093,${本机IP}:19094 --topic first
# 调用消费者消费消息,from-beginning表示读取全部的消息
./kafka-console-consumer.sh --bootstrap-server ${本机IP}:19092,${本机IP}:19093,${本机IP}:19094 --topic first --from-beginning

小Tip

????????删除Topic

./kafka-topic.sh --zookeeper 192.168.233.129:12181 --delete --topic second

? ? ? ? ?可以看到second这个topic并没有真正删除,只是标记为deletion,如果需要真正删除,可以修改配置文件/config/server.properties中delete.topic.enable=true

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-09-06 11:13:37  更:2021-09-06 11:15:37 
 
开发: 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年11日历 -2024/11/23 20:22:03-

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