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