我尝试从spark到Streved安全的kafka代理(使用SASL PLAINTEXT机制)。 即时通讯使用Pyspark,使用spark-streaming-kafka-0-8版本,并使用kafka broker版本0.10.2。
我遇到的问题是当pyspark流式传输到kafka时输出中没有返回任何内容。
我的问题是:
附加:
这里可以解释这个问题。
用于在kafka代理的server.properties中启用sasl plain的附加参数
authorizer.class.name=kafka.security.auth.SimpleAclAuthorizer
listeners=SASL_PLAINTEXT://:9092
security.inter.broker.protocol=SASL_PLAINTEXT
sasl.mechanism.inter.broker.protocol=PLAIN
sasl.enabled.mechanisms=PLAIN
super.users=User:admin
这里也是我的kafka_jaas_server.conf
KafkaServer {
org.apache.kafka.common.security.plain.PlainLoginModule required
username="admin"
password="admin1!"
user_admin="admin1!"
user_aldys="admin1!";
};
我在启动kafka经纪时也包含了我的jaas配置。通过将最后一行中的kafka-server-start.sh编辑为:
exec $base_dir/kafka-run-class.sh $EXTRA_ARGS -Djava.security.auth.login.config=/etc/kafka/kafka_jaas_server.conf kafka.Kafka "$@"
答案 0 :(得分:0)
我不认为kafka0-8支持sasl,从文档中可以很明显地看出,只有kafka0-10具有sasl功能,而kafka0-10不支持Python。