Kafka Authentification Producteur Impossible de se Connecter Producteur

Je suis d'essayer de reproduire le SASL_PLAIN ou SASL_SSL d'authentification décrites à: http://docs.confluent.io/3.0.0/kafka/sasl.html#sasl-configuration-for-kafka-brokers

Dans config/serveur.propriétés, j'ai ajouté les 4 lignes:

listeners=SASL_SSL://localhost:9092
security.inter.broker.protocol=SASL_SSL
sasl.mechanism.inter.broker.protocol=PLAIN
sasl.enabled.mechanisms=PLAIN

Dans config/producteur.propriétés, j'ai ajouté les deux lignes suivantes:

security.protocol=SASL_SSL
sasl.mechanism=PLAIN

Puis-je définir la variable d'environnement suivante dans le terminal serveur:

KAFKA_OPTS=/home/kafka/kafka_server_jaas.conf

Ce fichier a le contenu suivant:

KafkaServer {
   org.apache.kafka.common.security.plain.PlainLoginModule required
   username="admin"
   password="admin-secret"
   user_admin="admin-secret"
   user_alice="alice-secret";
};

Et le producteur terminal je définissez les paramètres suivants env variable:

KAFKA_OPTS=/home/kafka/kafka_client_jaas.conf

Et ce fichier a le contenu suivant:

KafkaClient {
  org.apache.kafka.common.security.plain.PlainLoginModule required
  username="alice"
  password="alice-dsecret";
};

Je démarre le serveur avec la commande suivante:

./bin/kafka-server-start.sh   config/server.properties

Et le producteur avec la commande suivante:

bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test

À la fois démarrer sans problèmes. Mais, dès que je tape quelque chose sur le producteur de la console, j'obtiens le message suivant qui garde défilement:

WARN Bootstrap broker localhost:9092 disconnected (org.apache.kafka.clients.NetworkClient)
Bootstrap broker localhost:9092 disconnected (org.apache.kafka.clients.NetworkClient)
WARN Bootstrap broker localhost:9092 disconnected (org.apache.kafka.clients.NetworkClient)
WARN Bootstrap broker localhost:9092 disconnected (org.apache.kafka.clients.NetworkClient)
WARN Bootstrap broker localhost:9092 disconnected (org.apache.kafka.clients.NetworkClient)
WARN Bootstrap broker localhost:9092 disconnected (org.apache.kafka.clients.NetworkClient)
WARN Bootstrap broker localhost:9092 disconnected (org.apache.kafka.clients.NetworkClient)
WARN Bootstrap broker localhost:9092 disconnected (org.apache.kafka.clients.NetworkClient)

Si je supprime la configuration de la sécurité du serveur et le producteur de configuration, tout fonctionne comme prévu. Je suis à l'aide de Kafka 0.10.0.1.

Mise à JOUR:
J'ai fait quelques recherches plus approfondies, en tournant les niveaux de journalisation de DÉBOGAGE sur le serveur révèle quelque chose de bizarre. Dès que j'ai préciser les auditeurs de terrain dans le serveur.propriétés, le serveur est dans un drôle d'état. Il établit la connexion à soi qu'il ne peut pas s'authentifier. Le protocole dans cette affaire a été SASL_PLAINTEXT.

Les journaux comme ici:

2016-09-15 21:43:02 DEBUG SaslClientAuthenticator:204 - Set SASL client state to RECEIVE_HANDSHAKE_RESPONSE
2016-09-15 21:43:02 DEBUG NetworkClient:476 - Completed connection to node 0
2016-09-15 21:43:02 DEBUG Acceptor:52 - Accepted connection from /127.0.0.1 on /127.0.0.1:9092. sendBufferSize [actual|requested]: [102400|102400] recvBufferSize [actual|requested]: [102400|102400]
2016-09-15 21:43:02 DEBUG Processor:52 - Processor 2 listening to new connection from /127.0.0.1:42815
2016-09-15 21:43:02 DEBUG SaslServerAuthenticator:269 - Set SASL server state to HANDSHAKE_REQUEST
2016-09-15 21:43:02 DEBUG SaslServerAuthenticator:310 - Handle Kafka request SASL_HANDSHAKE
2016-09-15 21:43:02 DEBUG SaslServerAuthenticator:354 - Using SASL mechanism 'PLAIN' provided by client
2016-09-15 21:43:02 DEBUG SaslServerAuthenticator:269 - Set SASL server state to AUTHENTICATE
2016-09-15 21:43:02 DEBUG SaslClientAuthenticator:204 - Set SASL client state to INITIAL
2016-09-15 21:43:02 DEBUG SaslClientAuthenticator:204 - Set SASL client state to INTERMEDIATE
2016-09-15 21:43:02 DEBUG SaslServerAuthenticator:269 - Set SASL server state to FAILED
2016-09-15 21:43:02 DEBUG Selector:345 - Connection with /127.0.0.1 disconnected
java.io.IOException: javax.security.sasl.SaslException: Authentication failed: Invalid JAAS configuration [Caused by     javax.security.sasl.SaslException: Authentication failed: Invalid username or password]
at org.apache.kafka.common.security.authenticator.SaslServerAuthenticator.authenticate(SaslServerAuthenticator.java:243)
at org.apache.kafka.common.network.KafkaChannel.prepare(KafkaChannel.java:64)
at org.apache.kafka.common.network.Selector.pollSelectionKeys(Selector.java:318)
at org.apache.kafka.common.network.Selector.poll(Selector.java:283)
at kafka.network.Processor.poll(SocketServer.scala:472)

Il n'y a absolument aucun autre client ou d'un serveur en cours d'exécution. C'est un serveur parlant à lui-même.

Toutes les pensées?

OriginalL'auteur Klaus | 2016-09-15