Details
-
Bug
-
Status: Resolved
-
Blocker
-
Resolution: Done
-
2.1.0
-
None
-
None
Description
when I create a view
I get a error
Caused by: javax.security.auth.login.LoginException: Could not login: the client is being asked for a password, but the Kafka client code does not currently support obtaining a password from the user. not available to garner authentication information from the user
but I make sure keytab and principal is correct
#Enable for Kerberized Kafka clusters
atlas.notification.kafka.service.principal=jztwk/hadoop@JOIN.COM
atlas.notification.kafka.keytab.location=/hadoop/app/jztwk.keytab
atlas.kafka.security.protocol=SASL_PLAINTEXT
atlas.kafka.sasl.kerberos.service.name=kafka
##############JAAS Configuration ########
atlas.jaas.KafkaClient.loginModuleName=com.sun.security.auth.module.Krb5LoginModule
atlas.jaas.KafkaClient.loginModuleControlFlag=required
atlas.jaas.KafkaClient.option.useKeyTab=true
atlas.jaas.KafkaClient.option.storeKey=true
atlas.jaas.KafkaClient.option.serviceName=kafka
atlas.jaas.KafkaClient.option.keyTab=/hadoop/app/jztwk.keytab
atlas.jaas.KafkaClient.option.principal=jztwk/hadoop@JOIN.COM
and I modify KafkaNotification.java add a debug
LOG.debug("sasl.jaas.config is " + newJaasProperty);
I see
sasl.jaas.config is com.sun.security.auth.module.Krb5LoginModule required keyTab="/hadoop/app/jztwk.keytab" storeKey=true useKeyTab=true principal="jztwk/hadoop@JOIN.COM" ;
in log
I use this config to my application.
that is OK.
Properties props = new Properties();
props.put("bootstrap.servers", "bigdser1:9092,bigdser2:9092,bigdser3:9092,bigdser4:9092,bigdser5:9092");
props.put("sasl.jaas.config","com.sun.security.auth.module.Krb5LoginModule required keyTab=\"/hadoop/jztwk.keytab\" storeKey=true useKeyTab=true principal=\"jztwk/hadoop@JOIN.COM\" ;");
props.put("security.protocol", "SASL_PLAINTEXT");
props.put("sasl.kerberos.service.name", "kafka");
props.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer");
props.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer");
KafkaProducer<String,String> producer = new KafkaProducer<>(props);
and I can run import-hive.sh
so, I don't understand why
all node I have run kinit -kt /hadoop/app/jztwk.keytab jztwk/hadoop@JOIN.COM
-rwxr-xr-x 1 jzyc jzyc 146 Jul 14 08:46 /hadoop/app/jztwk.keytab