栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

kafka再相识

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

kafka再相识

kafka相关术语
生产者:producer
消费者:consumer
主题:topic
实例:broker
消息:record,由一个key、一个value和时间戳构成
分区:partition,topic有多个partion
偏移量:offset,分区partion中的每个消息record有一个偏移量offset
副本:分区的备份
消费方式:队列和发布订阅,队列是一组消费者从服务器读取消息,一条消息只有其中一个消费者来消费;发布订阅是消息被广播给所有消费者,一条消息可以被所有消费者进行消费。
kafka有四个核心API:

  • 应用程序使用 Producer API 发布消息到1个或多个topic(主题)中。
  • 应用程序使用 Consumer API 来订阅一个或多个topic,并处理产生的消息。
  • 应用程序使用 Streams API 充当一个流处理器,从1个或多个topic消费输入流,并生产一个输出流到1个或多个输出topic,有效地将输入流转换到输出流。
  • Connector API 可构建或运行可重用的生产者或消费者,将topic连接到现有的应用程序或数据系统。例如,连接到关系数据库的连接器可以捕获表的每个变更。

在java代码或者python代码中,是直接发送生产者消息。topic的名字是动态生成的(当kafka发现topic不存在时,会自动创建),那么它的partitions和replication-factor的数量是由服务端决定的。因为kafka集群有3个节点,所有需要改成3个,kafka 1.0版本配置文件默认没有default.replication.factor=x

offsets.topic.replication.factor=3
transaction.state.log.replication.factor=3
transaction.state.log.min.isr=3
num.partitions=1
default.replication.factor=3

参数解释:
offsets.topic.replication.factor 用于配置offset记录的topic的partition的副本个数
transaction.state.log.replication.factor 事务主题的复制因子
transaction.state.log.min.isr 覆盖事务主题的min.insync.replicas配置
num.partitions 新建Topic时默认的分区数
default.replication.factor 自动创建topic时的默认副本的个数

动态增加副本
1创建test主题的脚本test.json
{
“version”: 1,
“partitions”: [
{
“topic”: “test”,
“partition”: 0,
“replicas”: [
1,
2,
3
]
},
{
“topic”: “test”,
“partition”: 1,
“replicas”: [
1,
2,
3
]
},

]
}
2执行
bin/kafka-reassign-partitions.sh --zookeeper localhost:2181 --reassignment-json-file test.json --execute
3验证
bin/kafka-topics.sh --zookeeper localhost:2181 --topic test --describe

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/489161.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号