由于某些原因,我在尝试在Storm群集上运行拓扑时出现以下错误:
java.lang.NoClassDefFoundError: Could not initialize class org.apache.log4j.Log4jLoggerFactory
at org.apache.log4j.Logger.getLogger(Logger.java:39)
at kafka.utils.Logging$class.logger(Logging.scala:24)
at kafka.
我们正在将我们的kafka实现升级到.9,并使用新的consumer java api来创建consumer。我正在为consumer使用下面的代码,我们正在使用将主题设置为consumer,因为第A行和第B行是对我们的服务的调用,该服务处理我们收到的消息。现在的问题是,如果消息处理时间超过30秒,我们会遇到异常
Properties props = new Properties();
props.put("bootstrap.servers", "localho
我使用以下命令启动了卡夫卡
docker run -p 2181:2181 -p 9092:9092 -p 8081:8081 --env ADVERTISED_HOST=`docker-machine ip \`docker-machine active\`` --env ADVERTISED_PORT=9092 spotify/kafka
现在,我编写了一个简单的程序,将一个字符串发布到卡夫卡主题中。它工作没有任何问题
props.put(ProducerConfig.BOOTSTRAP_
我使用的是cloudera集群(5.5.1-1.cdh5.5.1),我安装了Kafka包裹(2.0.1-1.2.0.1.p0.5)。当我尝试在集群上添加kafka服务时,我在尝试添加角色的每个主机上都出现以下错误:调用SupervisorOrd之前发现的错误:用户[kafka]不存在。
我在每个需要的节点上手动创建了用户,重新启动了服务,直到我尝试用cloudera manager修改kafka配置,它才开始工作。cloudera的卡夫卡配置没有“绑定”到真正的卡夫卡配置
尝试修改broker.
我是Apigee gateway的新手。可以将Kafka与APIGEE网关集成以进行发布和订阅。我需要从Apigee routing订阅Kafka主题,以便将消息路由到不同的后端系统。我的意思是路由器的行为应该像卡夫卡消息的消费者
请帮忙
当我从提供的shell文件运行kafka broker shutdown时,出现了一个NoClassDefFoundError类异常,我不知道如何解决它。
请帮忙
命令:
bin/kafka-run-class.sh kafka.admin.ShutdownBroker --zookeeper 172.19.41.48:2181,172.19.41.50:2181,172.19.41.52:2181,172.19.41.55:2181,172.19.41.57:2181/huadong/kafk
我想删除一个Kakfa消费者组,这样当应用程序创建消费者并订阅主题时,它就可以从主题数据的开头开始
这是一个使用当前最新Confluent Platform 3.1.2的单节点开发vm,该平台使用Kafka 0.10.1.1
我尝试正常语法:
sudo /usr/bin/kafka-consumer-groups --new-consumer --bootstrap-server localhost:9092 --delete --group my_consumer_group
我得到一个错误
我有一个主题,比如test001,假设主题中有10000条消息。我有两个消费群体,比如test-group1和test-group2,用于消费来自上述主题的消息
如果测试组1消费者消费了4000条消息,而测试组2消费者消费了4500条消息,那么我该如何做:
是否将测试组1消费者组的偏移量重置为0
将测试组1消费者组偏移量更新为4500
是否从主题中删除邮件并将所有消费者组的偏移量重置为0
我认为您无法在消费者群体级别重置偏移量。您可以使用seek方法(在Java客户端API中)移动到分区的开始(
我们正在使用SpringKafka实现一个Kafka消费者。正如我正确理解的,如果处理单个消息失败,可以选择
不在乎,只是回应
使用RetryTemplate
如果这甚至不起作用,请使用RecoveryCallback
我想知道你的最佳实践是什么。我想到了简单的应用程序异常,如反序列化异常(对于JSON格式的消息)或更长的本地存储停机时间等。这意味着需要一些额外的工作,如热修复部署,来修复损坏的应用程序,以便能够重新处理错误的消息
由于丢失消息(即不处理它们)不是我们的选项,所以剩下的唯一选
我现在陷入了一个恼人的境地。我正在尝试使用Spark Streaming与Kafka和MongoDB一起实现Kafka偏移处理逻辑。MongoDB到MongoDB或从MongoDB到MongoDB的偏移量持久性执行它应该执行的操作,但当我尝试使用以下命令创建直接流时:
JavaInputDStream<ConsumerRecord<String, String>> events = KafkaUtils.createDirectStream(
jsc,
L
我花了一整天的时间在互联网上搜索,没有一个有效的例子
我想要的只是给定groupID的消费者组滞后度量(或其派生自、当前和最后的2个偏移量)
我使用卡夫卡0.9+(所以zookeeper中没有偏移),如果需要,也可以使用更新的
我需要一种方法,以编程方式获取它,而不是使用脚本。
有人,请问,我如何获取它????目前正在添加一种通过AdminClient检索消费者组详细信息的方法,请参阅
同时,最好的选择是重用kafka消费群体工具中的逻辑。它是由这个Scala类支持的:提取用于检索组中所有实例的
我们已经使用MessagePact实现了契约测试,并直接访问Kafka主题以从队列中检索消息。卡夫卡主题可以使用认证明文访问。因此,我们在配置文件中定义了一个单独的LoginModule,其中包含用户名和密码。当我从消费者端进行测试时,它正在获取正确的配置文件,并且脚本正在运行。但是,当我在脚本中使用相同的设置运行pact:verify时,LoginModule未被识别,并且出现错误“找不到LoginModule类”。从pact方面,我得到一个错误“调用提供程序方法失败”。请问以前有没有人在使用
我有一个本地docker实例,其中有3个zookeepers和3个kafka代理正在运行1.0.0,以确保更新我们的环境将按预期工作。我在kafka1.0.0上创建了一个流处理器,它不消耗或产生任何主题—它只是自我初始化
当我尝试运行此处理器时,收到以下错误消息:
Exception in thread "main" org.apache.kafka.streams.errors.BrokerNotFoundException:
Could not find any available
我们构建了一个定制的Kafka连接接收器,它反过来调用远程restapi。如何将背压传播到Kafka Connect基础结构,以便在远程系统比内部使用者向put()传递消息慢的情况下调用put()的频率更低?
Kafka connect文档说我们不应该在put()中阻塞,而应该在flush()中阻塞。但在put()中不阻塞意味着我们必须缓冲数据,如果调用put()的频率高于flush(),那么在某一点上肯定会导致OOM异常。
我看到kafka消费者可以调用pause()或block in the
我们使用ApacheKafka,应用程序使用SpringKafka进行交互。目前,我们有主题和大量的信息尚未消费。但是我们想删除当前队列的所有内容,有没有直接的方法来实现这一点?如果更改主题,可能会重复,您可以将保留设置得非常低,然后它会开始删除旧事件。当你开始生产时,把它设置回一个较高的数量,因为它起作用了
我们有3台卡夫卡机器版本-0.10.0.2.6
我们想清除所有卡夫卡主题中的所有数据文件(完全清除所有数据)
此操作的CLI应为(应从zoo服务器运行)
。
因为我们临时将主题的保留时间更新为1秒(1000毫秒)
那么如何返回以前的原始保留
注意-log.retention.hours=168(来自ambari GUI),这是原始值
那么,如何返回所有主题的原始值(168hours)?清除所有主题之后
主题列表
/usr/hdp/2.6.0.3-8/kafka/bin/kafka-topics
我已经阅读了文档,但仍然无法确定在何处插入命令,以便我的主题永久存储日志?有一些属性,如log.retention.hours,log.retention.bytes,它们控制这些日志的保留时间。您可以将这两个属性设置为-1,以永久保留日志。正如@pulkit singhal所说,您可以在服务器中将保留期配置为服务器默认值。属性-有关详细信息,请参阅。您还可以使用按主题进行设置
您还应该了解的概念是,这是实现无限保留的另一种方式,并且是常用的。这使您可以为每个给定的键保留最新的值。通过设置Log
在kafka connectSinkTask实现中,如果存在不可避免的异常,如果从代码中调用stop()方法,连接器是否会完全停止?只有遇到异常的任务才会停止
connect群集可以有多个不会停止的连接器,并且单个连接可能有其他任务,具体取决于您的配置,例如,将分配不同的、干净的、可以处理的数据
我无法删除卡夫卡主题,它已标记为删除,但从未被删除。Iam运行kafka群集和zookeeper群集
卡夫卡版本:0.10.2.1
有谁能帮我列出删除卡夫卡集群中的主题需要遵循的步骤列表吗
在stackoverflow中查看了各种查询,但找不到有效的可行答案。您可以使用卡夫卡工具
然后连接到您的kafka服务器
之后,您可以在该服务器中看到可用的主题。您可以从中选择和删除主题
在启动kafka服务器之前,您应该在配置中启用其属性;它在默认情况下被禁用。要启用删除属性,请首先停止kafka服务器
我一直在尝试配置一个消费者程序,该程序应该消费或从Kafka broker中提取消息,但我不知道为什么消费者没有消费任何消息,也没有在三个控制台中显示
制作人正在成功地将消息推送到Kafka代理中,我也可以在Landoop Web UI中看到消息
制作人
package com.dataoverflow.pubsub;
import org.apache.kafka.clients.producer.Callback;
import org.apache.kafka.clients.produc
场景
我们希望接收存储在HDFS中的CSV文件(大约10 MB)。然后,该过程将向卡夫卡主题发送一条消息(该消息包含HDFS位置等文件元数据)
spark streaming作业将侦听此Kafka主题,在收到消息后,它将从HDFS读取文件并处理该文件
在上述场景中,从HDFS读取文件的最有效方法是什么
读卡夫卡的作品
JavaInputStream<ConsumerRecord<String, FileMetaData>> messages = KafkaUtils.cr
从CrateDB GitHub页面的以下问题来看,这似乎是不可能的,即CrateDB不支持卡夫卡协议。
是否有其他方法将数据从Kafka加载到CrateDB?通常,您会使用Kafka Connect将Kafka集成到目标(和源)系统,并使用目标技术的适当连接器
我找不到CrateDB的Kafka Connect连接器,但有一个用于Kafka Connect的连接器,还有一个,所以这可能值得一试
您可以在本系列博客中了解更多信息,并看到它的实际应用:
免责声明:我为Confluent工
卡夫卡主题创建在以下情况下失败:
节点是kafka群集:4
复制因子:4
在群集中启动并运行的节点数:3
以下是错误:
./kafka-topics.sh --zookeeper :2181 --create --topic test_1 --partitions 1 --replication-factor 4
WARNING: Due to limitations in metric names, topics with a period ('.') or underscore ('_')
例如,每个客户的用电量。消费数据不是一直在流式传输,而是在过去12小时内按一定数量的客户批量插入。插入后,我们需要汇总每个客户的每小时消费量,如果某些客户的前一小时消费量不存在,则查找“最接近日期”的消费量。您是否查看了Kafka Streams()
它允许您将主题作为数据流读取,并在时间窗口上聚合:
StreamsBuilder builder = new StreamsBuilder();
builder.stream("topic-name")
.groupByKey() // ass
我已经看到了文档()的这一部分:
让我们创建一个名为“test”的主题,其中包含一个分区和一个副本:
$ bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
如果运行list topic命令,现在可以看到该主题:
$ bin/kafka-topics.sh --list --zookeeper localhost:2181
test
标签: Apache Kafka
apache-kafka-streamswindow-functionssuppress
我在Kafka流应用程序中编写了以下代码:
KGroupedStream<String, foo> groupedStream = stream.groupByKey();
groupedStream.windowedBy(
SessionWindows.with(Duration.ofSeconds(3)).grace(Duration.ofSeconds(3)))
.aggregate(() -> {...})
.suppress(Suppressed.un
我试图在一个有24个节点的场景中使用ApacheKafka,其中节点之间的连接以数据包丢失和长往返时间(约1到4秒)为特征
我使用KAFKA作为一个发布/订阅代理,因此所有的消费者和生产者都从一个集中的代理接收信息
我确保为每个消费者/发布者分配一个唯一的组ID
如果我在企业网络(非常小的RTT,没有数据包丢失)中运行我的代码,那么一切都很好,但是如果我尝试在受约束的网络中运行我的代码,我可以观察到消息被传递到中央代理,但随后不会反弹到其他消费者。实际上,每个节点都会接收前两条消息中的大部分,但
通过阅读本文档,我发现kql不支持右外部联接,但为什么呢?它还没有被添加
代码是可用的,如果您想添加它,PRs是受欢迎的:或者您可以向请求它的人投票(如果它不存在,也可以提出一个)只需左右翻转并使用左外连接:)解决问题……只是想知道不支持右外连接的原因是什么@MatthiasJ.Sax
我正在阅读一个已经创建的卡夫卡主题,其中一个单独的集群正在生成一些键和值。我的最终目标是以JSON格式编写HDFS,为此,我已经用Kafka HDFS Sink 5.3进行了一段时间的实验。
我所面临的问题是,我无法接收并将主题中的所有记录写入HDFS。到目前为止,如果我的主题包含数百万条记录的每小时数据,我只能写100K条记录
以下是我用于kafka connect standalone.properties和我的HDFSquickstart HDFS.properties的配置
kafka-
我们拥有3台卡夫卡机器,集群中有3台zookeepers服务器和3台schema registry服务
当我们在一台kafka机器上启动schema registry服务时,我们从schema registry log获得以下信息
ERROR Server died unexpectedly
Unable to subscribe to the Kafka topic _schemas backing this data store. Topic may not exist
因此,架构注册表服
我使用的是卡夫卡的旧版本,0.10。是否有任何方法可以将某个主题的消费者偏移量更新为任意数字?在Kafka 0.10中,我认为没有一种工具可以轻松更新消费者偏移量
您基本上有两种选择:
使用卡夫卡最新版本中的工具。如今,消费者补偿可以使用该工具或AdminClient更新(目前仅在主干中,它将在Kafka 2.5中)
编写一个小应用程序,启动使用者并调用以更新其使用者偏移量,如
我在尝试运行kafka elasticsearch sink conect时遇到以下错误,我已经验证,并且可以在plugin.path位置看到所需的jar
罐子列表:
/home/confluentkafka/confluent-5.3.1/share/java/kafka-connect-elasticsearch/
audience-annotations-0.5.0.jar
gson-2.8.5.jar
httpcore-nio-4.4.6.jar
jsr3
我试图在卡夫卡中动态创建主题,但不幸的是出现了一些错误。这是我的密码
def hello_from_elsa do
topic = "producer-manager-test"
connection = :conn
Elsa.Supervisor.start_link(endpoints: @endpoints,
connection: connection)
Elsa.create_topic(@endpoints, topic)
标签: Apache Kafka
kafka-consumer-apiapache-kafka-connectkafka-producer-api
我需要了解何时使用Kafka connect与开发者编写的自有消费者/制作人。我们正进入汇合平台。此外,为了实现容错设计,我们是否必须从所有代理运行消费者/生产者代码(jar文件)?卡夫卡连接通常用于将外部源连接到卡夫卡,即生产/消费到外部源到外部源
使用连接器可以执行的任何操作都可以通过
生产者+消费者
现成的连接器只方便将外部源连接到Kafka,而无需开发人员编写底层代码
要记住的几点
如果源和接收器都是同一个Kafka集群,那么连接器就没有意义
如果要从数据库执行更改数据捕获(CDC)并将
是否可以由scala中的所有其他kstreams类访问一个全局KTable类所有属性
要查询整个应用程序的远程状态,必须将应用程序的完整状态公开给其他应用程序,包括在不同计算机上运行的应用程序
不清楚您的问题是什么。你想达到什么目标?
使用flink将kafka数据以hdfs格式存储为拼花地板格式,我正在尝试使用fink文档,但它不起作用
我没有找到任何适当的文件来存储它作为拼花地板文件
final StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
env.setParallelism(1);
env.enableCheckpointing(100);
在进行连接时,我发现第二个块倾向于给出预期的结果,而第一个块没有也从来没有命中(aValue,bValue)->myFunc(aValue,bValue)。我认为只要我事先在(aKey,aValue)->aValue.get(“someField”).astex()上设置正确的字段来加入,实际的键就不重要了,但是使用有一些方法。选择key((aKey,aValue)->aValue.get(“someField”).astex()可以使加入正确进行。我还见过一些不需要selectKey的情况。有
目前,我们有大约80个应用程序(大约200个K8s副本)每天向kafka写入1600-1700万条记录,其中一些记录因超时和重新平衡异常而间歇性失败。失败率小于0.02%
我们已经按照其他stackoverflow链接的建议验证并正确配置了所有参数,但我们仍然遇到了多个问题
其中一个问题与再平衡有关,我们面临着生产者和消费者两方面的问题。对于消费者,我们使用自动提交,有时卡夫卡正在重新平衡,消费者收到重复记录。我们没有进行任何重复检查,因为这将降低处理率,重复记录率低于0.1%。我们正在考虑使用
我们开始吧:我得到了各种连接、聚合、过滤器、映射等相当复杂的拓扑结构。通过defaul,NUM_STREAM_THREADS_CONFIG参数等于1,从定义上看,这是完全确定的——因此,由Kafka本身保证的分区总顺序得以保留
当我将NUM\u STREAM\u THREADS\u CONFIG设置为2或更多时,是否会保留总排序?
它是否依赖于特殊的拓扑结构?我已经检查了文档并浏览了线程模型部分,但没有找到答案。数据总是按每个分区偏移量顺序处理,即使您将num.stream.threads设置为
当kafka streams应用程序运行且kafka突然停机时,应用程序进入“等待”模式,发送警告日志的消费者和生产者线程无法连接,当kafka恢复时,一切(理论上)都应该恢复正常。
我正在尝试获取有关此情况的警报,但我无法找到捕获该警报的位置并发送日志/度量。
我尝试了以下方法:
streams.setUncaughtExceptionHandler但这只发生在异常上,而这里的情况并非如此
扩展ProductionExceptionHandler并将default.production.exc
日志存储输出:
{
"timestamp" => 0,
"username" => "",
"tweet" => "",
"@version" => "1",
"@timestamp" => 2020-09-29T01:59:15.867Z
}
卡
标签: Apache Kafka
apache-kafka-connectconfluent-schema-registry
我有以下设置-zookeeper、kafka、schema registry和kafka connect。它们都在库伯内特斯的不同舱中运行。我想把一些JSON放在kafka connect和spooldir的文件夹中,将它们发送到特定的kafka主题。我想用它们作为我们应用程序的冷启动。这是卡夫卡连接的kubernetes配置
kind: StatefulSet
metadata:
name: kafka-connect
labels:
app.kubernetes.io/nam
我使用RESTAPI从confluent cloud上的kafka实例获取主题if
我正在使用下面的curl命令
curl "http://(myhost):9092/topics/(topicname)" --output op.txt
但是我在op.txt中得到了垃圾值
"U^C^C^@^B^BP"
有什么解决方案吗?您还不能使用REST从融合云中消费。当您的数据位于Confluent Cloud中时,您可以使用或kafkacat等工具从命令行访问
我遵循了Debezium教程(),从Postgres收到的所有CDC数据都以JSON格式发送到Kafka topic,带有模式-如何摆脱模式?
下面是连接器的配置(在Docker容器中启动)
JSON模式仍在消息中。
只有在启动具有以下环境变量的Docker容器时,我才设法摆脱了它:
- CONNECT_KEY_CONVERTER_SCHEMAS_ENABLE=false
- CONNECT_VALUE_CONVERTER_SCHEMAS_ENABLE=false
为什么我无法通过连接器配
我试图从Kafka中的一个主题中读取记录,该主题由Kafka connect jdbc源连接器生成,以下是连接器配置:
"name": "customers",
"config": {
"poll.interval.ms": "3000",
"table.poll.interval.ms": "10000",
"errors
由于会话超时而从消费者组中删除的Kafka消费者是否可以重新加入该组?消费者通过向组协调员发送心跳来维护分区所有权和组所有权
当消费者停止发送心跳数秒时,组协调员将判定消费者已死亡,并在这种情况下触发重新平衡
当消费者稍后基于静态/动态成员身份返回时,消费者组的行为会发生变化。Coordinator根据使用者Id(动态成员身份-首次加入使用者组时由组协调员最初分配给使用者的UUID)或组实例Id(静态成员身份-由用户配置为唯一标识其使用者实例)识别使用者
具有消费者Id(成员Id或组实例Id)的
我已经设置了一个类似这样的测试主题:
kafka-topics --bootstrap-server localhost:9092 --create --topic testing --replication-factor 1 --partitions 1 --config "cleanup.policy=compact,delete" --config "retention.ms=900000" --config "segment.m
有人知道AWS MSK(Kafka托管流媒体)是否支持KSQL吗?我在confluent平台上看过很多KSQL的视频和文档,但没有看过AWS MSK的视频和文档
请让我知道它是否支持,也请让我知道在AWS MSK中是否有关于KSQL设置的任何文档
谢谢,
BalaKSQL可以安装在任何Kafka群集上,无论是托管还是其他方式。文档将完全相同-配置引导服务器和任何相关的客户端属性
MSK不提供KSQL,因为它违反了
我对卡夫卡很陌生。在一些教程之后,我有以下关于使用实际卡夫卡主题的问题
情况:我的工作场所中有一台服务器正在播放卡夫卡主题。我有主题名。我想从我的机器(WindowsWSL2Ubuntu)上使用这个主题。从那时起,我能够
使用以下命令运行zookeeper:
使用以下内容创建代理:
在端口localhost:9092处运行一个名为quickstart events的伪主题的producer控制台:
运行消费者控制台,收听localhost:9092,并从生产者接收流式数据:
现在
我正在学习K-SQL/KSQL-DB,目前正在探索连接。下面是我陷入困境的问题
我有一个流“DriverstreamRepartitionKeyed”和一个表“COUNTRIES”,下面是它们的描述
ksql> describe DRIVERSTREAMREPARTITIONEDKEYED;
Name: DRIVERSTREAMREPARTITIONEDKEYED
Field | Type
--------------------------------------
COU
上一页 1 2 ...
6 7 8 9 10 11 12 ...
下一页 最后一页 共 217 页