Apache kafka 如何使用Kafka 0.8.2的消费者API?

我开始读最新的卡夫卡文献。但是当我尝试使用新的消费者API时遇到了一些问题。我通过以下步骤完成了这项工作: 1。添加新的依赖项 <dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka-clients</artifactId> <version>0.8.2.1</version> </dependency&g

Apache kafka 卡夫卡0.9消费者

如果我回到主题的开头,我可能有数百万条消息,我可能希望分批处理这些消息,而不是一次处理所有消息,并在每批之后提交偏移量。如果poll似乎在当前偏移量之后提取所有内容,而commit则在poll返回的偏移量结束时提交偏移量,那么我该怎么做呢?您可以使用max.partition.fetch.bytes对来自每个分区的数据设置一个上限。唯一的缺点是记录可能只有那么大,所以,如果你不知道记录有多大,也许这不是最好的解决方案 从Kafka返回的每条记录都有该分区上的主题、分区和偏移量,因此,当您处理整个

Apache kafka 使卡夫卡制作人和消费者同步

我有一个卡夫卡制作人和消费者。卡夫卡制作人发布一个主题,获取数据并进行一些处理。卡夫卡消费者正在阅读另一个主题中关于主题1中的数据处理是否成功的信息。ie主题2有成功或失败消息。现在我启动我的消费者,然后将数据发布到主题1。我想使生产者和消费者同步,即一旦生产者发布消费者应该发布的数据读取该数据的成功或失败消息,然后生产者应继续处理下一组数据。Apache Kafka和发布/订阅消息传递通常通过使用流异步事件来分离生产者和消费者。您所描述的更像是批处理作业或同步远程过程调用(RPC),其中生产者

Apache kafka 流处理后从kafka主题中删除消息

kafka流处理在我们的系统中实现,用于事务处理。解决方案的实现如下: Kafka producer将事件发布到Kafka topic,流处理器处理输入事件并执行聚合操作。在流处理之后,事件将发布到另一个主题。由于第一个主题中未实现使用者,如何从第一个主题中删除已处理的消息。请考虑您的流处理链是第一个主题的使用者。如果出于某种原因需要重新处理原始数据(例如,如果您意识到流处理逻辑中存在错误),那么您可能希望在第一个主题上提供原始消息,即使在处理它们之后也是如此 因此,您不需要删除邮件,您必须针对

Apache kafka 动物园管理员卡夫卡的101和110错误是什么意思?

我在为卡夫卡使用动物园管理员。我使用3个Zookeeper集群和1个Kafka代理。在动物园管理员日志中,我得到了错误101和110。错误101为无节点,错误110为节点存在 节点是什么意思?卡夫卡代理节点还是Zookeeper节点 有人能解释一下吗?怎么解决? 谢谢更多错误日志please@GuangshengZuo8/30/17 9:30:03上午UTC会话0x35e2cc3817f0005 cxid 0x16e0 zxid 0x30000068b错误-101 8/30/17 9:30:03

Apache kafka 带有KafkaStreams的窗外连接端

我有一个卡夫卡主题,我期望消息具有两种不同的键类型:旧键和新键。 i、 e.“1-新”,“1-旧”,“2-新”,“2-旧”。键是唯一的,但可能缺少一些键 现在,使用Kotlin和KafkaStreams API,我可以使用新旧密钥id相同的密钥记录这些消息 val windows = JoinWindows.of(Duration.of(2, MINUTES).toMillis()) val newStream = stream.filter({ key, _ -> is

Apache kafka 卡夫卡主题与划分

我刚开始探索卡夫卡。 我对卡夫卡主题和分区有疑问 假设我们有3台机器x.x.x.1,x.x.x.2,x.x.x.3 我们有一个主题测试,它有3个分区和3个副本集,作为1,2,3以上的3台机器 我们可以将第一分区数据写入机器1吗。是否始终将第二分区数据发送给机器2,将第三分区数据发送给第三台机器 如果可能的话,分区分配的工作方式如下所示。 从随机代理id(不能是x.x.x.1,而是x.x.x.3)开始,分区前导0将分配给该代理,分区前导1分配给下一个代理,依此类推。 例如,如果选择了代理x.x.x

Apache kafka 卡夫卡流-在丰富流中添加消息频率

从一个流(k,v),我想计算一个流(k,(v,f)),其中f是给定密钥在过去n秒内出现的频率。 如果我使用窗口表格计算频率,请给出一个主题(t1): KTable<Windowed<Integer>,Long> t1_velocity_table = t1_stream.groupByKey().windowedBy(TimeWindows.of(n*1000)).count(); KTable t1_velocity_table=t1_stream.groupByKe

Apache kafka 在卡夫卡配置中,纯文本关键字意味着什么?

在许多默认设置中,他们使用关键字明文作为协议: e、 g。 listeners=PLAINTEXT://broker1:9091,SSL://broker1:9092 它是否只表示默认的非SSL协议?如果是,为什么使用明文关键字?for侦听器声明: 我们将侦听的URI列表和侦听器名称以逗号分隔。 如果侦听器名称不是安全协议, 还必须设置listener.security.protocol.map 因此,在您的示例中,明文是侦听器上使用的安全协议。您可以在中找到受支持协议的列表及其各自的含义 纯文

Apache kafka 卡夫卡——从CLI开始与卡夫卡Java API

最近,在使用Kafka时,我的应用程序需要从一开始就访问主题中的所有消息。因此,在编写Kafka消费者(使用JavaAPI)时,我能够从头开始阅读消息,但它只返回主题中的前500条消息。试图增加 put(ConsumerConfig.MAX\u POLL\u RECORDS\u CONFIG,Integer.MAX\u VALUE); put(ConsumerConfig.FETCH\u MAX\u BYTES\u CONFIG,Long.MAX\u VALUE) 但它仍然不会返回所有消息,而在

Apache kafka 无法启动Zookeeper,原因是:由于java.io.EOFException导致会话0x0关闭的异常

我正在尝试通过CLI使用以下命令启动Zookeeper: bin/zookeeper-server-start.sh../config/zookeeper.properties 它哼了一秒钟似乎都是正确的,直到它说: INFO binding to port 0.0.0.0/0.0.0.0:2181 (org.apache.zookeeper.server.NIOServerCnxnFactory) 然后下面的循环无限期地循环,直到我退出: [2018-08-10 15:07:48,223]

Apache kafka Kafka无法使用confluent命令启动

我在尝试通过以下方式启动ZooKeeper、Kafka和schema registry时遇到了一些困难: $confluent start schema-registry 我正在运行一个由3个节点组成的集群,由于某种原因,当我运行上述命令时,Kafka无法启动: #root: /confluent/confluent-5.0.0/bin/confluent start schema-registry This CLI is intended for development only, not

Apache kafka Kafka如何在分区内对消息进行内部排序?它是否按照从生产商处收到的方式存储它们?

我想了解卡夫卡在内部遵循的顺序,即将信息放在一个分区中,该分区是从一群不同的制作人那里收到的 分区是主题的分片。每个分区将被写入一个单独的文件,该文件位于保存主题名称的同一目录下。写入或读取文件是顺序的,这是分区维护其顺序的方式 它是否按照从生产商处收到的方式存储它们 是的,一旦收到消息,它将被写入其缓冲区,这与一些关系数据库的“先写后写”日志非常相似。Kafka使用操作系统页面缓存作为缓冲区,以获得高性能的读写。根据配置,Kafka会定期将数据写入文件。在分区内-按发送顺序。在主题中,使用De

Apache kafka 正在获取有关Kafka connect群集的信息

我目前正在使用相同的group.idKafka connect集群和两个节点 使用curl/connectors时,我可以获得创建的连接器列表,但我看不到有关活动节点的信息,运行状况检查…Kafka Connect不会从REST API公开此类信息 最好的方法是点击/connectors/{name}/status,然后构建一组所有正在运行的worker,但这仍然不能100%保证为您提供所有节点 我知道可能会很晚,但改进KC群集监控的一种方法是使用此Kafka REST扩展: 然后让您的监视定

Apache kafka Apache Kafka的工作流引擎?

对于我们的新SOA,我们将Kafka视为消息代理 我想问一下,我们在邮件中组织工作流的选项是什么 看起来应该有一个协调器/管理器服务,它集中了关于订单的知识,消息应该在其中发布和处理。也许从头开始写不是个好主意 我看到了一些工作流引擎,但没有一个是专门为卡夫卡设计的,也没有被建议与卡夫卡一起使用。我担心,看看卡夫卡,我们选择了错误的工具,因为从我们的角度来看,构建复杂可靠的工作流是必须的 有什么建议吗:工作流引擎?另一个消息平台?去麦当劳上班?:)这可能值得一读:。卡夫卡不仅仅是一个“消息代理”

Apache kafka 卡夫卡连接动态添加更多主题

我对一些话题有兴趣。 使用以下配置: { connection.url": "https://my-es-cluster:443", "connector.class": "io.confluent.connect.elasticsearch.ElasticsearchSinkConnector", "key.converter": "org.apache.kafka.connect.storage.StringConverter", "key.ignore":

Apache kafka 为什么kafka控制台使用者对少量消息超时?

我正在做测试,一个卡夫卡主题只有300条信息。尝试显示计数时,kafka控制台使用者命令超时: $kafka-console-consumer --from-beginning --bootstrap-server localhost:9092 --property print.key=true --property print.value=false --property print.partition --topic air2008 --timeout-ms 20000 | tail

Apache kafka 向Kafka集群动态添加代理

我们能否向Kafka集群动态添加更多代理并实现代理故障转移?元数据更新不是有问题吗?是的,可以添加代理以增加Kafka集群的大小。但是,Kafka不会自动将分区重新平衡到新代理上,因此这需要手动或通过外部工具完成 文档中有一节详细介绍了扩展集群的步骤:是的,可以添加代理以增加Kafka集群的大小。但是,Kafka不会自动将分区重新平衡到新代理上,因此这需要手动或通过外部工具完成 文档中有一节详细介绍了扩展集群的步骤:谢谢@Mickael Maison在尝试同样的方法后会给你回复的。谢谢@Mick

Apache kafka transaction.state.log.min.isr的确切含义是什么?

在所有的场景中,如果任何一个卡夫卡经纪人启动并运行我的制作人和消费者都应该正常运行 server.properties中的参数用于群集的高可用性 transaction.state.log.min.isr=2 offsets.topic.replication.factor=3 transaction.state.log.replication.factor=3 如果所有3个卡夫卡代理(K1、K2和K3)都已启动,则集群运行正常 若K1和K2代理下降,而只有K3上升,那个么集群运行正常 如果所

Apache kafka 如何控制Kafka群集发送的请求/消息?

假设我有3个卡夫卡经纪人、一个动物园管理员、50个制作人、50个消费者和1个主题(testTopic1)。 所有消费者都订阅了testTopic1。现在,我将与50位制作人同时向同一主题发送50条消息(testTopic1)。现在我希望Kafka集群不会同时向消费者发送超过40条消息。剩下的10人将继续排队或放弃排队 也许这是卡夫卡的负载平衡。 我不明白我将如何做这项工作。我是卡夫卡的新手,请帮忙。卡夫卡经纪人都是笨蛋。他们不能限制/删除发布给卡夫卡的消息 如果所有卡夫卡消费者都属于同一消费者群

Apache kafka 卡夫卡的主题和动物园管理员有联系吗?如果动物园管理员改变了,主题会消失吗

我和卡夫卡一起工作。我下载了zookeeper,提取并启动了它。 然后我下载了Kafka,提取了压缩文件并开始Kafka。一切都很顺利。我创建了几个主题,并且能够发送和接收消息。在那之后,我停止了卡夫卡和动物园管理员。然后我读到卡夫卡本身提供了动物园管理员。因此,我开始使用卡夫卡提供的Zookeeper。但是,它的数据目录不同,然后我从相同的配置文件和相同的数据目录位置启动了Kafka。然而,在开始《卡夫卡》之后,我找不到我创建的主题 我只是想知道,这是否意味着主题的元数据由Zookeeper维

Apache kafka 如何在kafka中实施模式验证

我正在使用Kafka&Schema注册表。在生产者端使用confluent的KafkaAvroSerializer定义了一个模式。一切正常 另一方面,如果生产者在不遵循模式的情况下发布事件,那么发布事件时不会出现任何问题 了解Kafka只获取序列化的二进制文件,不检查数据,功能按设计工作 想知道是否有更好的方法来实施更强大的模式验证,从而使主题不受坏数据的污染?如果您使用的是模式注册表和KafkaAvroSerializer,它会按预期工作。Schema registry的重要方面是支持模式演化

Apache kafka 卡夫卡流-缺少源主题

我正在使用Kafka Streams拓扑,有时,在更改applicationId和/或clientId属性后,我在特定Kafka流上收到一个错误:“缺少源主题流.webshop.products.prices.5分配期间。返回错误不完整\u source\u topic\u METADATA”。我已经在每个Kafka节点的server.properties中设置了create.topic=true属性,但是似乎没有创建此流的主题 这是我的卡夫卡流拓扑: package ro.orange

Apache kafka Kafka Streams应用程序使用者偏移量在重新启动时重置为最早

我们有一个Kafka Streams应用程序正在经历奇怪的行为。当作业被终止并重新启动时,使用者组会随机将其偏移量重置为最早,并重新处理所有旧记录 是否有什么具体的事情需要做,而我们却错过了 "buffered.records.per.partition": 512000, "cache.max.bytes.buffering": 134217728, "commit.interval.ms": 30000, "retries": 2147483647, "acks": "all",

Apache kafka 《卡夫卡手册》中的“获得认可”;Kafka Listner异常:无法完成提交";偶尔地

我们有卡夫卡消费者(并发5)和手动确认。使用下面的实现,有时无法完成异常提交,因为组已重新平衡… 在异常场景中,消息未被确认,并且再次被使用 关于配置更改的任何建议都不会产生太大影响 关于消费者的表现 消费品工厂 @EnableKafka @Configuration public class KafkaConsumerConfig { /* * Reading of the variables from yml file */ @Bean public ConsumerFact

Apache kafka 如何使用spring cloud stream仅发送自定义头

我必须在kafka消息中设置自定义头,我的kafka集群本机支持头(1.x.x)。我目前正在使用springCloudVersion=Finchley.RELEASE 当我设置属性时 default: producer: headerMode: none 输出中没有任何标题 另一方面,如果我正在设置 default: producer: headerMode: headers 许多头文件,包括contentType和spring\u json\u he

Apache kafka 如何在Kafka中为群集配置server.properties

我一直在关注Kafka Quickstart在一台机器上“设置多代理群集”。(仅用于测试目的) 使用三个属性文件运行Kafka效果良好。(我在一台机器上运行它们进行测试) server.properties: broker.id=0 listeners=PLAINTEXT://:9092 server-1.properties: broker.id=1 listeners=PLAINTEXT://:9093 broker.id=2 listeners=PLAINTEXT://:9094 s

Apache kafka 与Apache Kafka一起使用哪个动物园管理员?

在谷歌搜索答案时,我发现我可以 (1) 使用Kafka或 (2) 使用Apache本身的ZooKeeper。 哪种是首选方法(如果有),为什么?我的用例是针对一个小应用程序的,因此它将是一个3ZooKeeperemployee/cluster。 我正在使用窗口10进行测试。 我使用的ZooKeeper版本是3.5.6 我使用的apachekafka版本是2.12-2.3.0 注: 我尝试了两种方法,我成功地(1)使用卡夫卡“故障转移”,但没有(2)-我将进一步检查(2)它是否是首选方法/最佳实践

Apache kafka Kafka流保持输入分区

我想知道是否有一种“好”的方法可以将Kafka streams使用的消息写入相同的分区(编号)。我有两个主题,每个用户有相同数量的分区和消息,其中一个用户的所有消息都必须在同一个分区中,以避免该用户的无序消息。目标分区必须与输入分区相同,才能使输出监视正常工作如果我使用处理器API,我知道我可以通过ProcessorContext访问处理器中的源分区。但是在streamspartioner中,我只有键、值和分区数。我可以编写一个处理器,它接受输入分区并将其写入密钥,因为我们不使用它,它只包含nu

Apache kafka 卡夫卡经理是否应该单独安装Zookeeper?

Kafka manager github中写道: 最低配置是要使用的zookeeper主机 卡夫卡经理州。这可以在application.conf中找到 conf目录中的文件。相同的文件将打包在 分发zip文件;解压后,您可以修改设置 所需服务器上的文件 kafka manager.zkhosts=“my.zookeeper.host.com:2181”您可以指定 通过逗号分隔多个zookeeper主机,如下所示: kafka manager.zkhosts=“my.zookeeper.host

Apache kafka 与卡夫卡合并事件

我有一些意外。事件记录包含以下字段(有意义): 自\u ts-事件开始时,时间戳 至\u ts-事件完成时,时间戳 事件记录由弗林克不断制作并发送给卡夫卡主题 任务是将数据从卡夫卡主题传输到Postgres表。通常,如果在插入之前不需要处理数据,那么使用JbdcSinkConnector很容易 但我需要先做一些合并。让我们假设卡夫卡主题中有三个事件: from_ts | to_ts ---------------- 1 | 2 3 | 7 10 |

Apache kafka 使用JSONConverter的Kafka connect MongoDB Kafka连接器不工作

我正在尝试配置Kafka连接器以使用mongoDB作为源,并将记录发送到Kakfa主题中。 我已经成功地做到了这一点,但我正在尝试使用JSONConverter来实现这一点,以便还使用有效负载保存模式 我的问题是连接器正在按如下方式保存数据: { "schema": { "type": "string" } , "payload": "{....}" } 换句话说,它自动假设实际的JSON是一个字符串,并将模式保存为字符串 以下是我设置连接器的方式: curl -X POST http://l

Apache kafka 使用Kafka Connect通过SSL连接到MSK时出现问题

在Confluent Kafka Connect映像中使用AWS MSK TLS端点时遇到问题,因为创建/读取主题超时。当我通过纯文本端点时,工作完全正常 我尝试引用docker映像上可用的jks存储路径,但仍然无法确定是否缺少任何其他配置。根据我从AWS文档中读到的内容,Amazon MSK代理使用公共AWS证书管理器证书。因此,任何信任Amazon Trust Services的信任库也信任Amazon MSK代理的证书 **Error:** org.apache.kafka.connect

Apache kafka Adverted.listeners和bootstrap.servers之间有什么区别?

我想配置kafka,以便客户端可以连接到它。 kafka配置中的Adverted.listeners和bootstrap.servers之间有什么区别?bootstrap.servers是您为客户端提供的用于连接kafka群集的代理列表 advised.listeners是客户端在初始连接到bootstrap.server时提供的每个代理的主机和端口。当客户端随后连接到代理时,它将使用这些而不是引导.server,这就是为什么根据网络设置正确设置播发.listeners非常重要的原因 有关更多详

Apache kafka 向卡夫卡出示唱片

我试图在不传递任何分区值的情况下向Kafka生成一条记录,但希望发送一个头,我有以下构造函数方法来向Kafka生成记录: ProducerRecord​(java.lang.String topic, java.lang.Integer partition, java.lang.Long timestamp, K key, V value) 创建具有指定时间戳的记录,以发送到指定的主题和分区 ProducerRecord​(java.lang.String topic, java.lang

Apache kafka Kafka的组相关元数据交换协议是对等的吗?

我的项目使用的是Kafaka 0.10.1.0,我正在翻阅源代码,试图学到一些东西 我有一个关于卡夫卡交换组相关元数据的协议的问题,这是一个点对点协议吗 类型协议,其中给定使用者组的协调器在客户端计算机上运行 org.apache.kafka.clients.consumer.internals.AbstractCoordinator的文档提到 协议中的一个步骤是: <li>Group/Leader Selection: The coordinator select the m

Apache kafka 汇合CLI-windows环境

我正在探索是否可以在windows上运行confluent。根据以下文章,windows似乎不受支持 然而,当我看confluent CLI时,windows似乎是受支持的 但是,这里有一句话是关于windows不受支持的 在非Windows平台上,Confluent CLI提供需要Java的Confluent本地命令(设计用于在Confluent平台的本地安装上操作),建议使用JDK版本1.8或1.11。如果安装了多个Java版本,请将Java_HOME设置为希望Confluent Pl

Apache kafka 由于org.apache.kafka.common.errors.NotLeaderForPartitionException,在分区主题0的生成请求中收到无效元数据错误

我们使用SpringKafka流生成器生成kafka主题的数据。当我们进行弹性测试时,我们得到以下错误 `2020-08-28 16:18:35.536警告[,,]26---[ad|producer-3]o.a.k.clients.producer.internals.Sender:[producer clientId=producer-3]在分区topic1-0上的生成请求中收到无效元数据错误,原因是org.apache.kafka.common.errors。notleaderorparti

Apache kafka 在KSQL中连接两个(或更多)卡夫卡主题的最佳方法是从所有主题发出更改?

我们有一个microservices平台,我们正在使用debezium从这些平台上的数据库捕获变化数据,这很好地工作 现在,我们想让我们更容易加入这些主题,并将结果流式传输到一个新主题中,该主题可以被多个服务使用 免责声明:这假设v0.11 ksqldb和cli在旧版本中似乎无法正常工作 两个数据库实例中流入Kafka主题的两个表的示例: -源标识微服务postgres 创建表public.user\u实体 id varchar36不为空, 第一个名称varchar255 NULL, 主键id

Apache kafka AWS MSK和Confluent Schema Registry以及Confluent Kafka connect建议如何一起使用?

我们计划将AWS MSK服务用于托管Kafka和Schema注册表,以及来自Confluent的Kafka Connect服务一起运行我们的连接器(Elasticsearch接收器连接器)。我们计划在EC2中运行模式注册表和连接器 根据Confluent团队的说法,如果我们对Kafka使用MSK,他们就不能正式支持Confluent Schema Registry和Kafka Connect 那么,任何人都可以分享他们的经验?喜欢 如果Anybuddy在生产环境中同时使用了MSK和融合服务的组合

Apache kafka Kafka Spring云流批处理消耗-无法将类强制转换为消息

在Spring Cloud Stream批处理模式下使用KafkAvroSerialized消息时出现以下错误消息。这是早期在非批处理模式下可以正常工作的 下面是将现有应用程序转换为批处理模式所做的两项更改- 在application.yml启用的属性批处理模式中:true 2)修改了列表的参数,该参数以前是一条消息 错误消息:org.springframework.messaging.MessageException:调用MyConsumer#consume[1 args]时引发异常;嵌套异常

Apache kafka 卡夫卡分区为空

我使用SpringKafka模板将消息写入kafka主题,下面的API用于发布消息 public ListenableFuture发送(字符串主题,K键,@Nullable V data){…} 使用此API的好处是它返回一个sendResult对象,该对象包含一些元数据,如主题、分区、标题等。我有一个回调,在成功时打印sendResult。现在的问题是,分区被打印为空 我没有回电话,而是尝试将此更改为 future.get(10,TimeUnit.SECONDS) 以获得结果。即使这样,分区也

Apache kafka 卡夫卡和卡夫卡流是否适合我们的案例?

我是卡夫卡的新手,如有任何建议,我将不胜感激 我们正在更新一个遗留应用程序,同时将其从IBM MQ迁移到其他应用程序 应用程序当前执行以下操作: 读取批处理XML消息(最多5 MB) 把它解析成有意义的东西 以某种方式为批处理的部分手动处理并行化此过程的数据。涉及一些外部遗留API调用,导致数据库更改 发送多种电子邮件通知 向其他队列发送一些回复 将输入消息分析到磁盘 我们正在考虑将卡夫卡与卡夫卡流结合使用,因为这样做很好 易于规模化处理 使邮件始终存储在开箱即用的状态 内置分区、复制和容

Apache kafka 卡夫卡连接-在其他卡夫卡中存储分布式模式的内部主题

我正在尝试运行kafka connect分布式集群(confluent 6.0.1),从kafka获取数据并将其写入HDFS 我没有在源卡夫卡中创建主题的权限(而且不可能获得该权限),因此在worker属性中设置的在卡夫卡中创建内部主题的标准配置在我的案例中不适用 有没有办法使用其他卡夫卡来存储这些主题?或者对于这种情况有什么解决办法 谢谢

Apache kafka 用于Kafka Streams消费者的RecordInterceptor

我在看卡夫卡的比赛。我尝试为Kakfa Streams添加一个拦截器(针对消费者) 我添加了一个RecordInterceptor,如下所示: configMap.put(consumerPrefix(ConsumerConfig.INTERCEPTOR_CLASSES_CONFIG), "com.package.to.interceptor.MyCustomRecordInterceptor"); 但我在启动过程中遇到一个错误: Caused by: org.apac

  1    2   3   4   5   6  ... 下一页 最后一页 共 208 页