草庐IT

confluent-kafka

全部标签

Kafka如何配置内外网多ip访问

近日在云虚拟机上搭建kafka测试集群(kafka版本2.8.2),由于云虚拟机只配置了内网网卡,在配置kafka的config/server.properties时,将listeners配置为内网IP+端口。这样Kafka在内网是可以访问成功的。listeners=PLAINTEXT://192.168.1.136:9092为了可以在办公网进行数据测试,对云虚拟机增加了外网地址映射。例如映射8.8.8.8->192.168.1.136。这时通过外网ip,8.8.8.8:9092访问kafka,虽然路由上是可以连通的,但由于配置了Kafka只监听192.168.1.136:9092,导致要求无

Kafka系统整理 一

一、Kafka概述1.1定义Kafka传统定义:Kafka是一个分布式的基于发布/订阅模式的消息队列(MessageQueue),主要应用于大数据实时处理领域。kafka最新定义:kafka是一个开源的分布式事件流平台(EventStreamingPlatform),被数千家公司用于高性能数据管道、流分析、数据集成和关键任务应用。1.2消息队列目前企业中比较常见的消息队列产品主要有Kafka、ActiveMQ、RabbitMQ、RocketMQ等。在大数据场景主要采用Kafka作为消息队列。在JavaEE开发中主要采用ActiveMQ、RabbitMQ、RocketMQ。1.3 应用场景主要应

Kafka 认证一:PlainLoginModule 认证及 Java 连接测试

背景项目需求是:通过Web页面配置Kafka信息并存储,且支持安全认证模式。本文介绍Kafka帐号密码认证的完整实践流程,自己实践一遍,才能穿起各个概念。Kafka的Plain简单文本认证方式比较简单,只需要Kafka服务端维护用户列表,客户端同样的安全认证配置即可。本文的实践过程中,Kafka版本为kafka_2.11-2.3.1,只对Kafka服务做安全认证;Zookeeper使用自带的,不做安全认证。关键配置列表:Kafka服务配置文件server.propertis,配置认证协议及认证实现类;Kafka的jaas.config认证配置文件,登录类,超管密码和管理的帐号密码列表;Kafk

java - 将 pojos 转换为 confluent.io 中的通用记录以通过 KafkaProducer 发送

我是Kafka和avro的新手,正在尝试使用confluent包。我们有用于JPA的现有POJO,我希望能够简单地生成我的POJO的实例,而不必手动将每个值反射(reflect)到通用记录中。我似乎在文档中遗漏了这是如何完成的。示例使用通用记录并像这样一个一个地设置每个值:Stringkey="key1";StringuserSchema="{\"type\":\"record\","+"\"name\":\"myrecord\","+"\"fields\":[{\"name\":\"f1\",\"type\":\"string\"}]}";Schema.Parserparser=ne

java - Kafka 客户端连接池

执行kafka客户端的生产者/消费者连接池是否有意义?kafka是否在内部维护一个已初始化并准备好使用的连接对象列表?我们希望最大限度地减少连接创建时间,以便在发送/接收消息时没有额外的开销。目前我们正在使用apachecommons-pool库GenericObjectPool来保持连接。任何帮助将不胜感激。 最佳答案 Kafka客户端维护自己与集群的连接。生产者和消费者都保持与他们正在交互的代理的连接。如果他们停止交互,在connections.max.idle.ms之后连接将被关闭。此设置也存在于代理上,因此您可能需要与您的管

java - Kafka 流 API 示例 KStream 无法解析为类型

我正在学习这个Kafka流教程https://kafka.apache.org/0110/documentation/streams/tutorial在运行JRE8+和Kafka0.11.0.1的Centos7机器上这是抛出编译错误的行KStreamsource=builder.stream("streams-plaintext-input");尝试编译LineSplit示例时出现Java异常KStreamcannotberesolvedtoatype作为一个Java菜鸟,我不确定如何解决这个问题。仔细检查进口报关单,甚至复制粘贴样本也是徒劳。任何关于如何解决这个问题的线索都非常感谢。

java - Lagom 服务使用来自 Kafka 的输入

我正在尝试弄清楚如何使用Lagom来消费来自通过Kafka通信的外部系统的数据。我遇到过这个sectionofLagomdocumentation,它描述了Lagom服务如何通过订阅其主题与另一个Lagom服务进行通信。helloService.greetingsTopic().subscribe//但是,当您想订阅包含由某个随机外部系统产生的事件的Kafka主题时,什么是合适的配置?此功能是否需要某种适配器?澄清一下,我现在有这个:objectAggregator{valTOPIC_NAME="my-aggregation"}traitAggregatorextendsService

java - 在 Apache Kafka 中存储图像?

Kafka的大用户(例如LinkedIn)是否将上传的图像存储在Kafka中?我喜欢将所有内容放入日志的架构简单性,但我担心它在实践中可能行不通。 最佳答案 理论上没有限制,因为您可以轻松地将图像以二进制形式存储在Kafka队列中。但是可能还有其他问题..我会尝试对此进行一些思考消费者配置中有一个message.max.bytes参数,默认值为1000000。这样做实际上是为了防止代理耗尽内存,因为消费者没有流式传输消息的选项,必须分配内存才能读取消息。一种解决方法是压缩Kafka中的消息以节省空间。我能找到的最合适的条件是通过发送

java - Apache Kafka 是否提供异步订阅回调 API?

我的项目将ApacheKafka视为老化的基于JMS的消息传递方法的潜在替代品。为了让这个过渡尽可能的顺利,如果替换队列系统(Kafka)有一个异步订阅机制就更理想了,类似于我们当前项目的JMS机制使用MessageListener。和MessageConsumer订阅主题并接收异步通知。我不太关心Kafka是否严格遵守JMSAPI,但相反,如果不需要,我宁愿不重新设计我们的整个发布-订阅-通知类套件。我可以找到各种KafkaConsumerpollingexamples,但到目前为止还没有找到任何通过异步通知向客户端通知新消息的示例。有谁知道当前版本的Kafka(截至本文发布时为0.

java - 了解Kafka写入速度

鉴于此1.五机Kafka集群2.1个主题,1个分区3.消息持久化存储4.每条消息1KB5.10个生产者现在,这个集群的最大写入能力是否等于一个Java线程写入磁盘的最大写入能力?如果不是,那会是什么? 最佳答案 如果您只有一个分区,那么kafka无法扩展您的主题并且只能使用5个实例集群中的一台机器。无法判断您的java代码编写得如何,但结果将与我假设的kafka类似,但存在细微差异,因为kafka针对磁盘写入进行了优化。 关于java-了解Kafka写入速度,我们在StackOverfl