
Eu criei umKerberizadoAglomerado Kafka. Está funcionando bem e posso produzir e consumir mensagens. Agora eu quero usar okafkatool2software, e estou executando o programa através do cmd com este comando:
kafkatool.exe -J-Djava.security.auth.login.config=d:\client_jaas.conf
Mas depois de preencher os espaços em branco, estou entendendo issoerro:
ERRO Kafkatool.exe - SASL_PLAINTEXT
Este é meuJASarquivo:
Server {
com.sun.security.auth.module.Krb5LoginModule required
useKeyTab=true
keyTab="D:\kafkaadmin.keytab"
storeKey=true
useTicketCache=false
principal="admin/[email protected]";
};
KafkaServer {
com.sun.security.auth.module.Krb5LoginModule required debug=true
useKeyTab=true
storeKey=true
keyTab="D:\kafkaadmin.keytab"
principal="admin/[email protected]";
};
// For Zookeeper Client
Client {
com.sun.security.auth.module.Krb5LoginModule required debug=true
useKeyTab=true
storeKey=true
keyTab="D:\kafkaadmin.keytab"
principal="admin/[email protected]";
};
KafkaClient {
com.sun.security.auth.module.Krb5LoginModule required debug=true
useKeyTab=true
storeKey=true
keyTab="D:\kafkaadmin.keytab"
principal="admin/[email protected]";
};
O que devo ter perdido?
SO do cluster Kafka: Ubuntu 14.04
SO do usuário: Windows 10 Enterprise
Responder1
Enfrentei um problema semelhante em minha máquina virtual quando tentei visualizar mensagens no ambiente kafka kerberizado. Tente definir serviceName="kafka" na configuração do KafkaClient.
Certifique-se também de executar o kafkatool passando -J-Djava.security.auth.login.config como argumento.
Exemplo de configuração do cliente JAAS:
KafkaClient {
com.sun.security.auth.module.Krb5LoginModule required
serviceName="kafka"
useKeyTab=true
keyTab="<path_to>/user.keytab"
principal="user@domain";
};
Usei a ferramenta em ambiente Linux, mas acho que o acima também resolverá o problema do Windows.