| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> Kafka学习笔记(二):理解Kafka集群与Topic -> 正文阅读 |
|
[大数据]Kafka学习笔记(二):理解Kafka集群与Topic |
上一篇博客中,我们初步了解了Kafka实质上是一个消息队列,具有异步、解耦、削峰的作用并且在mac环境下安装了Kafka相关环境,具体可以参考Kafka学习笔记(一):Kafka简介与mac下的环境配置 从上节课的实验,我们了解了 Kafka 的基本架构:一个 producer(生产者)发送消息到 Kafka 集群的某个 topic 中。consumer(消费者)可以消费某个(某几个) topic 中的消息。Kafka 集群由多个 broker 组成。 基本概念broker一台服务器上只会安装一个 Kafka 软件,这台服务器就是一个 Kafka Server,此时 Kafka Server 称为 broker。在我们上一篇文章的实验环境中,我们通过修改配置文件的方式实现了一个一台服务器上安装了三个 broker。 topic 和 partition发布到 Kafka 集群上的消息都属于某一个分类,这个分类称为 topic。topic 存储在 broker 中。一个 topic 包括多个 partition(分区),partition 是物理上的概念。producer 发送的消息存储在 partition 中,每个 partition 可以有多个 replica(副本)。 producer 和 consumerproducer 是用来产生消息的,负责将消息发送到 Kafka broker 的 topic 上,consumer 是用来消费消息的,用于从 Kafka broker 上的 topic 中读取消息。 broker 和 consumer 使用 Zookeeper 管理状态信息,如 offset 信息。上述内容可以用下图表示:
使用Kafka自带脚本进行测试上一节中我们使用下面的命令创建了第一个topic,下面我们详细介绍一下脚本中参数对应的含义。(我这里使用的是mac系统,linux系统下脚本会有.sh的后缀,另外需要提前启动Kafka集群,启动的命令可以参考上一篇文章)
接下来,我们创建一个包含 3 个 partition、每个 partition 有 2 个副本的 topic: 命令如下
查看方法:在
运行结果如下, 第一行 topic 信息概述:Topic 名称为 理解 Kafka topic前面我们创建了两个 topic:myFirstTopic、mySecondTopic。创建 topic 的 shell 命令中用到了 partitions 和 replication-factor 等参数,在这里对 topic 的作用和参数含义再次说明:
在下面的图中,我们可以直观地看到 topic 和 partition 的关系: 上图中,一个 topic 有 3 个 partition,每个 partition 维护着独立的 offset。如 partition 0 中,最先发送到这个 partition 中的消息,offset 为 0,后来的消息 offset 为 1,2,3…依次类推。 列出 Kafka 集群上的所有 topic 并查看 topic 详细信息依次执行下面的命令,我们可以获得Topic的相关信息
修改 topic 的分区数现在我们修改
如果 topic 的 partition 数量增加了,那么消息的分区逻辑或者消息的顺序都会受到影响。而且对于一个 topic 来说,其 partition 的数量,只能增加,不能减少。 删除 topic现在我们学习删除 topic。由于后面的实验会用到我们创建的
我们可以运行如下命令验证topic已经被删除: |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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/24 0:57:24- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |