我正在使用,我想使用fetch和commit offset API作为文档:
给定消费者组的补偿由称为补偿协调器的特定代理维护。i、 例如,使用者需要向该特定代理发出其偏移量提交和获取请求。它可以通过发出使用者元数据请求来发现当前偏移量协调器
因此,我发送了一个ConsumerMetadataRequest,而不是得到正确的响应,我总是得到
如果尚未创建偏移主题,则代理将为使用者元数据请求或偏移提交请求返回此错误代码
如果我使用的版本没有问题
此外,我还使用go客户端,在获取元数据之前,我创建了
我正在用storm搭配OpaqueTridentKafkaSpout。然而,喷口的平行度在提交后为1
BrokerHosts zk = new ZkHosts("xxx.xxx.xxx.xxx");
TridentKafkaConfig spoutConf = new TridentKafkaConfig(zk, "xx","xxx");
spoutConf.scheme = new SchemeAsMultiScheme(new StringScheme());
我试图生成一些消息并放到主题中,然后从控制台消费者那里获取相同的消息
使用的代码:
import java.util.Date;
import java.util.Properties;
import kafka.javaapi.producer.Producer;
import kafka.producer.KeyedMessage;
import kafka.producer.ProducerConfig;
public class SimpleProducer {
比如说,我发布和使用不同类型的java对象。对于每种对象,我必须定义自己的序列化程序实现。
我们如何在“serializer.class”属性下的kafka消费者/生产者属性文件中提供所有实现?一个选项是。Avro允许您定义记录类型,然后可以轻松地序列化和反序列化
以下是根据文档改编的示例模式:
{"namespace": "example.avro",
"type": "record",
"name": "User",
"fields": [
{"name": "name",
现在我们在AWS EC2服务器上运行kafka,zookeeper也在单独的EC2实例上运行
我们为kafka和zookeeper创建了一个服务(系统单元),以确保在服务器重新启动时启动它们
问题是,有时动物园管理员服务器启动得晚了一点,卡夫卡经纪人也在那时被终止了
因此,为了解决这个问题,我们计划在代理端将zookeeper.connection.timeout.ms增加到一些较高的数字,比如10分钟。这是一个好方法吗
在zookeeper中增加zookeeper.connection.tim
我是卡夫卡新手,我已下载了卡夫卡(0.10.1),并在本地启动了卡夫卡和zookeeper服务器。以下是我在卡夫卡中生成消息的代码
package com.pkg.kafka;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
impor
我正在将spark数据框保存为拼花文件,并且数据框中有从avro对象生成的行。相同的确切代码在这里-
我面临的挑战是,当传入数据中缺少整数字段时,我希望能够使用空值。Avro似乎允许通过使用联合类型来实现这一点,但当我在avsc中未指定默认值或指定默认值“null”时,会出现如下错误:
Caused by: org.apache.avro.AvroRuntimeException: Field xxx type:LONG pos:7 not set and has no default valu
我被要求评估RabbitMQ而不是Kafka,但发现很难找到消息队列比Kafka更合适的情况。有人知道消息队列在吞吐量、持久性、延迟或易用性方面更适合的用例吗?RabbitMQ是一种可靠的通用消息代理,支持多种协议,如AMQP、MQTT、STOMP等。它可以处理高吞吐量。RabbitMQ的一个常见用例是处理后台作业或长时间运行的任务,如图像缩放或PDF转换。RabbitMQ还用于微服务之间,它作为应用程序之间通信的一种手段,避免了传递消息的瓶颈
Kafka是一种消息总线,针对高通量摄取数据流和回
我仍然对卡夫卡ZOOKEPER_AUTO_RESET(卡夫卡ZOOKEPER_自动复位)有疑问。我看到很多关于这方面的问题。请原谅,如果这是一个重复的查询
我有一个高级java消费者,它一直在消费。
我有多个主题,所有主题都有一个分区
我关心的是以下几点
我启动了consumerkafka.jar,用户组名为“ncdev1”,并且ZOOKEPER\u AUTO\u RESET=minimate。可以观察到init offset设置为-1。过了一段时间,我停止/启动了罐子。此时,它将拾取分配给消费
对于8卡夫卡消费者,没有任何明确的分步文档。我错过了什么
我可以看到kafka消费者正在接收基于“输入”字段(参见capture1.jpg)的消息,但没有输出到日志
我正在附加我的ktr文件
附上我的日志和汤匙上的警告
我正在使用SpringKafka(KafkaTemplate)发送字符串消息。但是为了使它与旧代码兼容,我需要在消息中附加额外的CorrelationId。因此,我创建了ProducerRecord对象,将我的消息作为其值,并在其HeaderRecord中设置CorrelationId
producerRecord = new ProducerRecord<>(
kafkaTemplate_.getDefaultTopic(),
为什么ApacheKafka 2.12-1.1.0不能与JDK10.0.1一起工作
./bin/zookeeper-server-start.sh config/zookeeper.properties
java version "10.0.1" 2018-04-17
Java(TM) SE Runtime Environment 18.3 (build 10.0.1+10)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.1+10, mi
我使用的是kafka confluent-4.1.1。我创建了几个主题,效果很好。如果重新启动confluent,则看不到以前创建的主题
我尝试了帖子中提到的建议:
但是没有运气。有没有人面临同样的问题?我需要更改任何配置吗
提前谢谢
我需要做哪些配置更改才能持久化
confluent start将使用confluent\u CURRENT环境变量进行所有数据存储。如果您将其导出到静态位置,理论上,数据应该在重新启动期间保持不变
否则,单独运行每个组件的标准方法是在生产环境中执行的操作(例如,
我正试图找出我目前的高层次消费者正在进行哪些补偿。我使用卡夫卡0.8.2.1,在卡夫卡的server.properties中设置了“offset.storage”,我认为这意味着偏移量存储在卡夫卡中。(我还通过检查Zk shell中的路径来验证Zookeeper中没有存储偏移量:/consumers/consumer\u group\u name/offset/topic\u name/partition\u number)
我试着听\uu consumer\u offset主题,看看哪个消费者
我正在Linux上使用librdkafka-0.11.5 for C。
我的C/C++应用程序只是将Kafka数据发送到一个web服务器,该服务器通过ElasticSearch驱动Kafka消费者。
看起来在生产者端,Kafka为每个Unix进程添加了8(八)个内部线程。
这给我们带来了一个问题,因为我们对每个Linux机器的线程数有一个严格的限制
有谁知道为什么会添加8个线程?这可能是因为我的Linux机器有4个CPU,线程池是预先创建的,每个CPU有两个线程(只是猜测)?
我使用一个主题和六
我通过spark结构化流媒体阅读kafka主题中的日志行,分离日志行的字段,对字段执行一些操作,并将其存储在dataframe中,每个字段都有单独的列。我想把这个数据框写给卡夫卡
下面是我的示例dataframe和writestream,用于将其写入kafka
val dfStructuredWrite = dfProcessedLogs.select(
dfProcessedLogs("result").getItem("_1").as("col1"),
dfProcesse
标签: Apache Kafka
transformationapache-kafka-connectconfluent-platform
通过使用单消息转换(SMT),例如插入字段转换,可以嵌入元数据,如分区、偏移量、主题名、时间戳等,但不能嵌入记录键。在我们的用例中,我们希望像其他元数据字段一样将其嵌入为一个单独的字段。是否有可能实现这一目标
到现在为止,我已经查过了。但是,不幸的是,只提供了其他元数据字段。看到了吗?
当我试图从COBOL程序发送到KAFKA时,JSON数据中缺少了“方括号”
我已经启动了KAFKA-REST服务器,并尝试在COBOL程序中格式化json数据,并使用“WEB SEND POST”发送数据
注意:用于web发送帖子的媒体类型为:application/vnd.kafka.json.v1+json
我可以看到COBOL攻击我的KAFKa服务器,但在KAFKa服务器端出现以下错误:
"POST /topics/test HTTP/1.1" 400 159 (i
我正在搜索一个关于presto的kafka连接器的文档,该文档更多地提到了内部接口以及连接器是如何实现的,例如,presto是将来自kafka的数据存储在内存中还是以某种格式保存到磁盘
正式文件仅包含逐步指南
有人有文档吗?内部实施没有文档记录
关于持久性-连接器不存储任何内容,并且在每次运行查询时都会完整读取Kafka主题,除非存在允许限制读取的查询谓词
如果您有更多关于如何在Presto中实现的问题,我可以推荐上的dev频道 消费者组偏移量呢?我假设从最早的时候开始读取偏移量,并将数据存储
我试图通过以下方式在本地计算机上设置kafaka(版本2.12-2.4.0)时遇到问题:
我创建了一个非常简单的spring boot应用程序,通过遵循一些在线教程,它有一个生产者和消费者。当我启动我的应用程序时,它会旋转30秒,然后开始在日志中抛出错误,试图创建一个带有连接错误的主题
我想可能是我的spring boot应用程序配置错误,所以我尝试从命令行创建一个主题,但我得到了一个类似的错误:
bin/kafka-topics.sh --create --bootstrap-server
已安装并配置Confluent 5.5.1,但无法>Confluent本地启动
下面是我做的顺序和我得到的错误
root@ubuntu-mini:~/confluent/confluent-5.5.1# confluent local start
The local commands are intended for a single-node development environment
only, NOT for production usage. https://docs
我正在尝试使用kafka connect从两个表中获取行。
我以这种方式配置了连接文件source.properties
name=jdbc_source_postgres_foobar_01
connector.class=io.confluent.connect.jdbc.JdbcSourceConnector
key.converter=org.apache.kafka.connect.json.JsonConverter
#key.converter.schema.registry.ur
我需要在聚合值第一次达到100时发出一个事件,这就是它现在的样子
StreamsBuilder sb = new StreamsBuilder();
KTable<Integer, Integer> example =
sb.stream(inputs, Consumed.with(Serdes.Integer(), Serdes.Integer()))
.groupByKey()
.aggregate(
() -> 0,
我正在尝试基准测试ApacheKafka,目前我正在尝试测量延迟。为了做到这一点,我正在生成10MB的推文数据(~14500条推文),以不丢失关于正在发生的事情的概述,但我基本上可以在很久以后任意发送。因此,目前这10 MB仅用于测试目的
我已将代理配置为使用LogAppendTime时间戳,我正在与消费者端的当前时间进行比较。在执行此操作时,我总是得到随时间增加的延迟值(请参阅下面的详细信息),而这并不是我所期望的
安装程序
使用Ubuntu 20的虚拟机
2个VPU
9GB内存
合流卡夫卡
我在本地kafka集群中创建了一个主题,其中包含3台服务器/代理
通过从我的kafka安装目录运行以下命令
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 2 --partitions 2 --topic user-activity-tracking-pipeline
env JMX_PORT=10001 bin/kafka-server-start.sh config/server1.p
我正在使用Kafka connect将数据从Kafka代理持久化到使用Confluent平台的弹性搜索
我已经编写了一个SinkConnector来将数据持久化到弹性搜索
Connect-avro-standalone.properties配置为:
key.converter=org.apache.kafka.connect.json.JsonConverter
value.converter=org.apache.kafka.connect.json.JsonConvert
我试图从JMS源读取数据,并将它们推送到KAFKA主题中,几个小时后,我观察到推送到KAFKA主题的频率几乎为零,经过一些初步分析,我在FLUME日志中发现以下异常
28 Feb 2017 16:35:44,758 ERROR [SinkRunner-PollingRunner-DefaultSinkProcessor] (org.apache.flume.SinkRunner$PollingRunner.run:158) - Unable to deliver event. Exceptio
我一直在考虑在事件源配置中使用ApacheKafka作为事件存储。发布的事件将与特定资源关联,传递到与资源类型关联的主题,并按资源id分成分区。因此,例如,创建Folder类型和id为1的资源将生成FolderCreate事件,该事件将传递到“folders”分区中的主题,通过在主题中的分区总数上分片id 1。即使我不知道如何处理导致日志不一致的并发事件
最简单的场景是有两个可以使彼此失效的并发操作,例如一个更新文件夹,另一个销毁同一文件夹。在这种情况下,该主题的分区可能最终包含无效序列[Fol
我正在尝试一个案例,当有两个或更多的消费者,听一个只包含一个分区的公共主题时。我暂停其中一个消费者,在此期间,其他未暂停的消费者应该能够从主题中拾取消息。
我观察到,只有当暂停的消费者恢复时,其他活跃消费者中的一个才能接收消息。
我如何通过spring kakfka实现这一点。我使用的是Spring kafka 2.0.0.M2
下面是我的代码行
public class listener{
@KafkaListener(id = "id2", topics = "abcd", grou
我们有一个通过HTTP发送时间序列数据的系统(示例系统a)
现在我想将ApacheKafka介绍到系统中
我的想法是让Kafka服务器运行,系统a在接收到时间序列消息后,立即将该消息发布到ApacheKafka服务器
在这里,我有一个疑问,如何发布通过HTTP协议盘绕的时间序列数据
这里有一个例子
我有以下url来收集数据:
接收跟踪扫射数据
2017-08-17 00:00:21信息:?数据=$Sensor,x88683236474805720170816235919,13,1,1,5 |
我试图用Kafka流创建内存中的会话存储,但找不到这样的实现。我在MemoryKeyValueStore中找到了RocksDBSessionStore(它工作得很好)和,但MemorySessionStore中没有任何 你的观察是正确的。它缺少一个功能:@MatthiasJ.Sax-您在MemoryKeyValueStore中使用过吗?我正在尝试将其用作本地存储,这样我就可以保留一组信息,稍后在流处理管道的transform()阶段可以访问这些信息。是的。我已经用过了。不确定你的问题是什么?查看
我正在尝试至少测试一次Alpakka-Kafka-Connnector批处理示例,并得到以下编译时错误
类型ConsumerMessage未定义此处适用的createCommittableOffsetBatch(ConsumerMessage.CommittableOffset)
及
类型ConsumerMessage.CommittableOffsetBatch未定义适用于此处的已更新(S,ConsumerMessage.CommittableOffset)这些在V0.22中可用。不幸的是,与
我的目标是在每个分区的开始处寻找一个消费者组中的所有消费者。我使用spring kafka并尝试以以下方式使用ConsumerSekAware界面:
override fun onPartitionsAssigned(assignments: MutableMap<TopicPartition, Long>?, callback: ConsumerSeekAware.ConsumerSeekCallback?) {
logger.info { "on partitions ass
我有一种情况,我有一个卡夫卡消费者,它使用轮询机制从卡夫卡检索记录。有时,由于未能在session.timeout期间(我已将其配置为30秒)内调用poll,此使用者会被逐出使用者组。我的问题是,如果发生这种情况,在稍后的某个时间点进行的民意调查是否会将消费者重新添加到组中,或者我是否需要做其他事情
我使用的是卡夫卡版本0.10.2.1
编辑:2018年8月14日
更多信息。在我做了一次民意测验之后,我从不在同一个线程中处理记录。我只需将所有记录添加到单独的队列(由单独的线程池提供服务)中进行处
我有以下拓扑结构:
创建状态存储
根据某些条件筛选记录,将其值映射到新实体,并最终将这些记录发布到另一个主题“低容量”主题
然而,我在车站低容量主题中看到了这一点:
� null
� null
� null
� {"id":140,"latitude":"40.4592351","longitude":"-3.6915330",...}
� {"id":137,"latitude":"40.4591366","longitude":"-3.6894151",...}
�
标签: Apache Kafka
kafka-consumer-apiproducer-consumerspring-kafka
我是卡卡法的新手,正在学习制作和使用卡卡主题的信息
我使用@EnableKafka使用Kafka配置
@EnableKafka
@Configuration
public class ConsumerConfig implements ApplicationContextAware {
@Value("${kafka.servers}")
private String kafkaServerAddress;
@Value("${kafka.ca.groupid}")
“视图的行为就像一种不断更新的缓存”
这是否意味着侦听Kafka的流消费者应用程序会不断更新视图或缓存,并且缓存的数据存储在客户机而不是Kafka服务器上 卡夫卡本身没有“视图”的概念
Kafka-Streams允许您构建KTable或GlobalKTable,它可以作为视图或缓存
这是否意味着侦听Kafka的流消费者应用程序会不断更新视图或缓存
是的,消费者应用程序负责根据应用程序从Kafka主题中消耗的事件维护缓存或视图。(卡夫卡流应用程序可以被视为消费者应用程序。)
缓存的数据存储在客户机
假设我想在卡夫卡主题中每个键保留不超过100条最近的消息。我能以某种方式达成这项政策吗?例如,我是否可以将压缩策略配置为存储最近的N条消息(而不是每个密钥一条)?Kafka没有提供这种方式。Kafka不会根据基于消息的最近性删除日志(某种压缩)。这取决于日志文件的时间推移和大小 你想达到什么目标?卡夫卡消费者可以搜索日志中的任何点,包括最后100条消息。我想逐出旧消息,每个密钥只存储100条最近的消息。出于恢复的原因,我需要为每个唯一密钥提供不超过100条最新消息。卡夫卡不是这样工作的。您需要将
我正在创建一个流处理应用程序。它应该创建一个kafka流连接。当信息到达时,我需要做以下几件事:
检查消息的类型
通过调用specificTypeProcessing服务来处理消息
最后是根据消息类型确定的特定主题
public java.util.function.Consumer<KStream<String, String>> process() {
String topic;
return input ->
inpu
我们计划使用JMS源连接器将数据流传输到Kafka集群。
ActiveMQ中的数据是XML格式的。JMS源连接器使用内部messageID(Message.getJMSMessageID())作为键
需要从(XML)有效负载中检索作为键的字段(关于连接器流到的卡夫卡主题)
要实现此目的,需要在接头中执行几个步骤
要将XML转换为内部Kafka Connect结构,我们使用一个自定义转换插件()
然后ValueToKey和ExtractField transformers设置作为有效负载一部分的
我们的Kafka connect日志经常会出现此错误。(为等替换了我的主题名称)
[2020-02-20 06:22:22169]错误WorkerSinkTask{id=s3connector-quoteandbind-0}偏移量的提交引发了序列号288的意外异常:
{-0=OffsetAndMetadata{offset=0,leaderEpoch=null,metadata=''},-0=OffsetAndMetadata{offset=6096,leaderEpoch=null,metad
我正在尝试定义Vertica Kafka调度程序。我成功运行了前几个命令,但在执行以下命令时失败:
$ /opt/vertica/packages/kafka/bin/vkconfig source --create --cluster kafka_nms_cluster --source test --partitions 1 --conf /home/vertica/vkconfig/vkconfig.conf
我犯的错误
Exception in thread "main" com.ve
我正在尝试向我的监控系统添加一个模板,以监控Mirror Maker 2.0
从文档中我知道这些度量是在jmx中提供的
# MBean: kafka.connect.mirror:type=MirrorSourceConnector,target=.
([-.w]+),topic=([-.w]+),partition=([0-9]+)
record-count # number of records replicated source ->
消费者投票(长最大值)
这是为了允许处理(高延迟)完成。保持这个高值有什么副作用吗
它是否阻止正在读取的分区中的其他消息?它是否会对再平衡产生不利影响?为此,您应该了解两种配置
为轮询方法指定的超时时间
创建卡夫卡消费者时的最大轮询间隔时间\u MS\u配置
1。超时:
从卡夫卡投票方法文档中:
如果有可用记录,此方法将立即返回。
否则,它将等待通过的超时。如果超时
过期时,将返回一个空记录集
@参数超时:阻止的最长时间(不得大于
{@link Long#MAX_VALUE}毫秒)
那么,如果我
我使用io.confluent.connect.json.JsonSchemaConverter作为我的值转换器,在模式注册表中使用模式生成主题的有效负载
当我尝试创建ksqldb流时,这会导致一条错误消息。日志条目如下所示:
字符1,字节7处的无效UTF-32字符0x17a2249(0x0010ffff以上)
以下是消息的前几个十六进制值:
请记住,我有一堆消息,屏幕截图和错误消息来自两个不同的偏移量
ksqldb似乎认为这可能是错误消息中提到的0x0010fff。
JSON()不允许使用B
亲爱的
我不知道我的配置有什么问题。当我想启动卡夫卡服务时,我有一个错误:
[2020-10-26 09:27:33,359] DEBUG Created SSL context with keystore SecurityStore(path=/etc/pki/CA/certs/hostname.jks, modificationTime=Mon Oct 26 08:59:45 CET 2020), truststore SecurityStore(path=/etc/pki/ca-trust
标签:elasticsearch Apache Kafka
apache-kafka-connectconfluent-platform
我正在编写一个简单的卡夫卡连接器,源作为卡夫卡主题,目标作为弹性搜索
卡夫卡主题
Name: my_kafka_topic
Key as String : A-1234, A-2221, B-3333, B-4444, C-1222, etc.
Value as Json : { "key1": "value1", "key2":"value2"}
我想根据键的部分值将事件从我的输入卡夫卡主题
我在kafka connect中有一个发件箱postgresql表和debezium连接器,它根据表中添加的行创建kafka消息
我面临的问题是消息格式。这是创建的消息值:
{
"schema": {
"type": "string",
"optional": true,
"name": "io.debezium.data.Json",
&q
您好,我有一个使用图像“confluentinc/cp Kafka:6.1.0”构建的Kafka容器。
如何查看容器中的指标?您可以为JMX_端口添加一个环境变量,然后将jconsole或visualvm之类的工具附加到该容器中
,但我认为这可能是不正确的(至少,尝试在Zookeeper上使用/jmx,并且该变量只是jmx_端口,在容器中不应该有所不同)
如果要使用Prometheus/Grafana,则需要扩展容器以添加JMX导出器您可以为JMX_端口添加一个环境变量,然后将类似jconsol
我对卡夫卡不熟悉,但我知道卡夫卡将消费者补偿存储在\uu consumer\u offset主题和offset.retention.minutes定义在此时间之后消费者补偿将被删除。但对我来说,\u消费者\u补偿主题有clean.policy=compact。请参阅以下我在定义消费者偏移量时的结果主题:
主题:\消费者\偏移量分区计数:50复制因子:1配置:压缩。类型=生产者,清理。策略=压缩,段。字节=104857600
因此,现在的问题是,在2分钟后,消费者补偿将从主题中删除,或者仍然以压缩
上一页 1 2 ...
5 6 7 8 9 10 11 ...
下一页 最后一页 共 217 页