当前位置: 首页 > 知识库问答 >
问题:

Kafka0.10 SASL/普通制作人超时

越风史
2023-03-14

我在Cloudera中安装了一个3代理kerberised Kafka 0.10,我正在尝试通过SASL/PLAIN进行身份验证

我路过Kafka·贾斯。配置到每个代理上的JVM中。

KafkaServer{org.apache.kafka.common.security.plain.PlainLoginModule所需用户名=管理员密码=密码1用户\ u管理员=密码1用户\ u远程=密码1;}

我的服务器。属性(或Cloudera重命名时的kafka.properties)设置如下;

listeners=SASL_SSL://10.10.3.47:9093#为每个发布的代理设置ip。listeners=SASL_SSL://10.10.3.47:9093#每个代理SASL的ip集。启用。机制=GSSAPI,普通安全。埋葬经纪人协议=SASL_SSL SASL。机械装置埋葬经纪人协议=GSSAPI

当Kafka启动时,代理间的通信一切正常,但当我尝试使用控制台生成器进行连接时,我得到一个超时,无法更新元数据

bin/kafka控制台制作人——经纪人列表10.10.3.161:9093——主题测试1——制作人。配置客户端。财产。普通的

客户财产。平原被设置为

安全。协议=SASL_SSL SASL。机械装置=普通

最后,客户端jaas.conf

KafkaClient{org.apache.kafka.common.security.plain.PlainLoginMoules必需用户名="远程"密码="Password1"; };

据我所知,我已经正确地遵循了所有的指示,有人看到什么错误吗?

更新我已经把控制台消费者的日志记录调高了一点,我得到了以下错误;

[2017-03-02 13:17:50817]跟踪SSLHandshake需要_unwrapchannelid-1,握手结果状态=OK HandshakeStatus=FINISHED bytesConsumed=101 BytesProducted=0,appReadBuffer位置0,netReadBuffer位置0,netWriteBuffer位置101(org.apache.kafka.common.network.sslttransportlayer)[2017-03-02 13:17:50817]跟踪SSLHandshake完成的通道ID-1,appReadBuffer位置0,netReadBuffer位置0,netWriteBuffer pos 101(org.apache.kafka.common.network.sslttransportlayer)[2017-03-02 13:17:50817]调试设置SASL客户端状态以接收握手响应(org.apache.kafka.common.security.authenticator.SaslClientAuthenticator)[2017-03-02 13:17:50818]调试将SASL客户端状态设置为初始状态(org.apache.kafka.common.security.authenticator.SaslClientAuthenticator)[2017-03-02 13:17:50819]调试将SASL客户端状态设置为中间状态(org.apache.kafka.common.security.authenticator.SaslClientAuthenticator)[2017-03-02 13:17:50820


共有2个答案

吴举
2023-03-14

在我的例子中,没有必要添加明文监听器或发布监听器。相反,这个问题出现在我的kafka_server_jaas.conf.将username属性设置为客户端登录时使用的名称为我解决了这个问题。

徐博雅
2023-03-14

我对SASL_明文授权也有类似的问题。我可以连接到代理(通过kafka python),但我从制作人那里发送的任何消息都会超时。

我最终为SASL_PLAINTEXT和PLAINTEXT侦听器做了广告,但只通过AWS安全组公开了SASL_PLAINTEXT侦听器。

我的服务器_jaas。基本上是一样的。

我的服务器。属性使用了以下设置:

security.inter.broker.protocol=PLAINTEXT
sasl.mechanism.inter.broker.protocol=PLAIN
sasl.enabled.mechanisms=PLAIN
advertised.listeners=SASL_PLAINTEXT://example.com:9095,PLAINTEXT://example.com:9092
listeners = SASL_PLAINTEXT://0.0.0.0:9095,PLAINTEXT://0.0.0.0:9092

我在用kafka python客户端调试它,我的命令看起来像这样(python)

from kafka import KafkaProducer
producer = KafkaProducer(bootstrap_servers='example.com:9095', security_protocol="SASL_PLAINTEXT", sasl_mechanism='PLAIN', sasl_plain_username='username', sasl_plain_password='password')

通过这种设置,我能够进行用户名/密码身份验证,还可以生成和使用发送给代理的消息,而无需超时。

希望这能有所帮助:)

 类似资料:
  • 本文向大家介绍Android制作简单的普通购物车,包括了Android制作简单的普通购物车的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Android普通购物车制作过程,供大家参考,具体内容如下 1.最新项目新增了类似购物车功能,如下图所示: 当时刚看到此页面的时候,第一反应是利用 ListView嵌套Listview,经过一番操作最终也实现了此功能。当时也没有考虑性能问题,只考虑

  • 这是怎么回事?它不是按降序打印考试成绩,我也没有得到平均值的值。显示 0.0 她给我的指示是: 该类将允许用户在数组中输入5个分数。然后它将按降序重新排列数据并计算数据集的平均值。 属性: •data[]-将包含分数的数组 • 平均值 — 分数的算术平均值 方法: 平均-构造函数。它将为数组分配内存。使用for循环重复向用户显示提示,该提示应指示用户应输入分数1、分数2等。注意:计算机从0开始计数

  • 重复执行一系列命令:可以指定表示重复次数的数字或直到遇到 break。 Loop [, Count] 参数 Count 执行循环体 (重复) 的次数. 如果省略, Loop 会无期限继续, 直到遇到 break 或 return. 如果 Count 是一个变量引用例如 %ItemCount%, 每当此变量为空或包含小于 1 的数字时, 循环会被完全跳过. 由于必须支持 文件模式循环, Count

  • 我正在考虑创建一个独立的Kafka生产者,它作为守护进程运行,通过套接字接收消息,并将其可靠地发送给Kafka。 但是,我决不能是第一个想到这个想法的人。这样做的目的是避免使用PHP或Node编写Kafka生成器,而只是通过套接字将消息从这些语言传递到独立的守护进程,这些语言负责传递,而主应用程序则一直在做自己的事情。 此守护进程应负责在发生中断时进行重试传递,并充当服务器上运行的所有程序的传递点

  • 我想让我的Kafka制作人变得富有交易性。我正在发送10条消息。如果发生任何错误,则不应向Kafka发送任何消息,即无或全部。 我使用的是Spring Boot KafkaTemplate。 我正在发送文件中提到的10条信息,如下所示。应发送9条消息,且I消息大小超过1MB,由于 https://docs.spring.io/spring-kafka/reference/html/#using-K

  • 我已经在覆盆子pi 3上安装了node-red来从传感器收集数据,然后将它们存储在kafka中,但是现在我对kafka生产者节点有一些问题。我在笔记本电脑上安装了一个kafka服务器,它可以在控制台上正确工作:如果我在kafka生产者控制台上发送消息,我可以在消费者控制台上正确接收。不幸的是,当我试图在覆盆子上的node-red中注入kafka生产者的时间戳时,服务器没有响应。 node red的