Сервер Kafka - Не удалось найти сервер Kafka в JAAS - PullRequest
0 голосов
/ 09 января 2019

У меня есть автономный брокер 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

отображается исключение:

Неустранимая ошибка при запуске KafkaServer. Приготовьтесь к выключению ... Может не найти запись «KafkaServer» или «sasl_plaintext.KafkaServer» в Конфигурация JAAS. Системное свойство 'java.security.auth.login.config' не установлено

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";
};

Я уже целый день смотрел на это - кто-нибудь еще имел опыт решения этой проблемы?

Ответы [ 2 ]

0 голосов
/ 09 января 2019

Положив мои ошибки здесь для экономии:

  • Не выполняйте команды запуска из cli, поместите их в файл .sh и запустите оттуда: Например, что-то вроде этого:
bin/zookeeper-server-stop
export KAFKA_OPTS="-Djava.security.auth.login.config=etc/kafka/zookeeper_jaas.conf"
bin/zookeeper-server-start etc/kafka/zookeeper.properties &

bin/kafka-server-stop
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. Мне потребовалось некоторое время, прежде чем «все это файл», наконец, щелкнуло, и я понял, что файлы сценариев являются реальной основой для служб.

0 голосов
/ 09 января 2019

Вам нужно экспортировать переменную, а не встроенную конфигурацию в 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

Ref. Разделы Confluent по безопасности Kafka

...