я использую kafka with acl и в конфигах указываю логопассы - то мне вот этого юзера не нужно заводить потом отдельной командой?
Я не понял, в каких конфигах указываете логопассы и где нужно заводить юзера
В файле server.properties super.users=User.admin listener.name.internal.sasl.enabled.mechanisms=SCRAM-SHA-256 listener.name.internal.scram-sha-256.sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required \ username="admin" password.......................... А команда по заведению - это вида kafka-configs --zookeeper .......................:2181 --alter --add-config 'SCRAM-SHA-256=[iterations=.....,password=...............],SCRAM-SHA-512=[password=...................]' --entity-type users --entity-name my-user
короче, буду признателен сообществу, если будут дельные комментарии. При попытке добавить юзера через --alter --add-config вылетает ошибка org.apache.zookeeper.KeeperException$NoAuthException: KeeperErrorCode = NoAuth for /config/users/my-user При этом этом это происходит как с юзерами из файлов kafka_server_jaas.conf, zookeeper_jaas.conf, server.properties, так и с юзерами, которые в этих конфигах не перечислены. Файлы нормально подтягиваются в юниты кафки и зукмпера Параллельно с этим в логе самой Кафке ворох сообщений Connection to node 1 failed authentication due to: Authentication failed during authentication due to invalid credentials with SASL mechanism SCRAM-SHA-256 (org.apache.kafka.clients.NetworkClient)
Ёлки-палки, ларчик просто открывался - надо было производить все эти манипуляции при стартованном зукипере и погашенной кафке
Ммм... Пока всё, что я делал с юзерами, спокойно накатывалось наживую, максимум с роллинг рестартом кластеров кафки и зукипера, но без полных рестартов сервисов. Можете подробнее описать, что у вас там происходит? Не синглнод, случаем?
1 хост Кафки, 1 хост зукипера. Развертывание с нуля.
Вот эти строки заметил на своё счастье ...and you need to create SCRAM credentials before the brokers are up and running, use the --zookeeper option to create SCRAM credentials.
ну там же вроде все логично: вы в конфиге явно определили, что для межброкерного взаимодействия (internal наверное же это подразумевает?) используете scram-sha-256, то есть для брокеров (даже для одного брокера) нужен юзер, которого вы описываете в listener.name.internal.scram-sha-256.sasl.jaas.config, и перед запуском он уже должен быть в зукипере. Вы можете запустить и без него, но получите ошибки, которые вы скидывали - Connection to node 1 failed authentication due to: Authentication failed during authentication due to invalid credentials with SASL mechanism SCRAM-SHA-256 (org.apache.kafka.clients.NetworkClient) В принципе кафку можно и не стопать, просто создать юзера admin через —zookeeper, оно само все подхватится
Да, теперь уже стала понятна логика полностью. RTFM, причем в полном объеме, как говорится) Спасибо!
Обсуждают сегодня