Kafka 服务器 - 在 JAAS 中找不到 'KafkaServer'
Kafka Server - Could not find a 'KafkaServer' in JAAS
我有一个独立的 kafka 代理,我正在尝试为其配置 SASL。配置如下。我正在尝试在代理上设置 SASL_PLAIN 身份验证。
我的理解是 listener.name... 在 server.properties 中的配置,我不需要 jaas 文件。但我已经尝试了一种方法,看看这是否是更好的方法。
我对这些命令中的每一个都进行了试验,但都导致了相同的异常。
sudo bin/kafka-server-start etc/kafka/server.properties
sudo -Djava.security.auth.login.config=etc/kafka/kafka_server_jaas.conf bin/kafka-server-start etc/kafka/server.properties
显示的异常是:
Fatal error during KafkaServer startup. Prepare to shutdown... Could
not find a 'KafkaServer' or 'sasl_plaintext.KafkaServer' entry in the
JAAS configuration. System property 'java.security.auth.login.config'
is not set
server.properties:
listeners=SASL_PLAINTEXT://0.0.0.0:9092
listener.security.protocol.map: SASL_PLAINTEXT:SASL_PLAINTEXT
listener.name.SASL_PLAINTEXT.plain.sasl.jaas.config:
org.apache.kafka.common.security.plain.PlainLoginModule required /
username="username" /
password="Password" /
user_username="Password";
advertised.listeners=SASL_PLAINTEXT://[ipaddress]:9092
sasl.enabled.mechanisms=PLAIN
sasl.mechanism.inter.broker.protocol=PLAIN
secutiy.inter.broker.protocol=SASL_PLAINTEXT
kafka_server_jaas.conf:
KafkaServer {
org.apache.kafka.common.security.plain.PlainLoginModule required
username="username"
password="Password"
user_username="Password";
};
我已经花了一天时间查看这个问题了 - 有没有其他人遇到过这个问题?
您需要导出变量,而不是将配置内联到 kafka-server-start(或 sudo
)。
export KAFKA_OPTS="-Djava.security.auth.login.config=/path/to/kafka_server_jaas.conf"
bin/kafka-server-start /path/to/server.properties
为了节俭把我的错误放在这里:
- 不要从 cli 执行启动命令,将它们放在 .sh 文件中,然后从那里 运行:
例如,像这样:
zkstart
export KAFKA_OPTS="-Djava.security.auth.login.config=etc/kafka/zookeeper_jaas.conf"
bin/zookeeper-server-start etc/kafka/zookeeper.properties &
kafkastart
export KAFKA_OPTS=-Djava.security.auth.login.config=etc/kafka/kafka_server_jaas.conf
bin/kafka-server-start etc/kafka/server.properties
- 如果您仍然遇到与配置相关的错误,请检查您的 _jaas 文件以确保错误消息中的所有配置部分都存在。如果是,则格式可能不太正确 - 检查每个部分中的两个分号,如果失败,请尝试完全从头开始重新创建文件(或从文档中的 c&p)。
编辑
因此,我的最终解决方案是将 export... 添加到相应的 kafka-server-start 和 zookeeper-server-start 文件的开头。我花了一段时间 'everything is a file' 终于点击,我意识到脚本文件是服务的实际基础。
我有一个独立的 kafka 代理,我正在尝试为其配置 SASL。配置如下。我正在尝试在代理上设置 SASL_PLAIN 身份验证。
我的理解是 listener.name... 在 server.properties 中的配置,我不需要 jaas 文件。但我已经尝试了一种方法,看看这是否是更好的方法。
我对这些命令中的每一个都进行了试验,但都导致了相同的异常。
sudo bin/kafka-server-start etc/kafka/server.properties
sudo -Djava.security.auth.login.config=etc/kafka/kafka_server_jaas.conf bin/kafka-server-start etc/kafka/server.properties
显示的异常是:
Fatal error during KafkaServer startup. Prepare to shutdown... Could not find a 'KafkaServer' or 'sasl_plaintext.KafkaServer' entry in the JAAS configuration. System property 'java.security.auth.login.config' is not set
server.properties:
listeners=SASL_PLAINTEXT://0.0.0.0:9092
listener.security.protocol.map: SASL_PLAINTEXT:SASL_PLAINTEXT
listener.name.SASL_PLAINTEXT.plain.sasl.jaas.config:
org.apache.kafka.common.security.plain.PlainLoginModule required /
username="username" /
password="Password" /
user_username="Password";
advertised.listeners=SASL_PLAINTEXT://[ipaddress]:9092
sasl.enabled.mechanisms=PLAIN
sasl.mechanism.inter.broker.protocol=PLAIN
secutiy.inter.broker.protocol=SASL_PLAINTEXT
kafka_server_jaas.conf:
KafkaServer {
org.apache.kafka.common.security.plain.PlainLoginModule required
username="username"
password="Password"
user_username="Password";
};
我已经花了一天时间查看这个问题了 - 有没有其他人遇到过这个问题?
您需要导出变量,而不是将配置内联到 kafka-server-start(或 sudo
)。
export KAFKA_OPTS="-Djava.security.auth.login.config=/path/to/kafka_server_jaas.conf"
bin/kafka-server-start /path/to/server.properties
为了节俭把我的错误放在这里:
- 不要从 cli 执行启动命令,将它们放在 .sh 文件中,然后从那里 运行: 例如,像这样:
zkstart
export KAFKA_OPTS="-Djava.security.auth.login.config=etc/kafka/zookeeper_jaas.conf"
bin/zookeeper-server-start etc/kafka/zookeeper.properties &
kafkastart
export KAFKA_OPTS=-Djava.security.auth.login.config=etc/kafka/kafka_server_jaas.conf
bin/kafka-server-start etc/kafka/server.properties
- 如果您仍然遇到与配置相关的错误,请检查您的 _jaas 文件以确保错误消息中的所有配置部分都存在。如果是,则格式可能不太正确 - 检查每个部分中的两个分号,如果失败,请尝试完全从头开始重新创建文件(或从文档中的 c&p)。
编辑 因此,我的最终解决方案是将 export... 添加到相应的 kafka-server-start 和 zookeeper-server-start 文件的开头。我花了一段时间 'everything is a file' 终于点击,我意识到脚本文件是服务的实际基础。