Hi, We are using Flink 1.5.3 where the Kafka producer talks with a kerberized kafka (kerberos only, no SSL).
It fails to connect to kafka with a root Exception: javax.security.auth.callback.UnsupportedCallbackException: 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. We have the following configuration for kerberos in flink-conf.yaml: # ---------------------------------------------- security.kerberos.login.use-ticket-cache: false security.kerberos.login.keytab: /etc/krb5/flink.keytab security.kerberos.login.principal: kafka/the.host.n...@example.com security.kerberos.login.contexts: KafkaClient # ---------------------------------------------- We use org.apache.flink.streaming.connectors.kafka.FlinkKafkaProducer011 with the following properties for kerberos: # ---------------------------------------------- security.protocol=SASL_PLAINTEXT sasl.kerberos.service.name=kafka # ---------------------------------------------- >From job/task managers hosts we can login with the same user which runs flink >processes, and successfully get a kerberos ticket: # ---------------------------------------------- kubectl exec -it <manager> -- /bin/bash $ kinit kafka/hdp-2641.fyre.ibm....@example.com -k -t /etc/krb5/flink.keytab Done! New ticket is stored in cache file /opt/flink/krb5cc_bai $ klist Credentials cache: /opt/flink/krb5cc_bai Default principal: kafka/the.host.n...@example.com Number of entries: 1 [1] Service principal: krbtgt/example....@example.com Valid starting: Monday, September 10, 2018 at 4:58:29 PM Expires: Tuesday, September 11, 2018 at 4:58:29 PM # ---------------------------------------------- However, When we check the content of the JAAS file generated in /temp, we see no content apart the comments: /tmp$ cat jaas-4651713797960840940.conf /** ################################################################################ # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. ################################################################################ # We are using this file as an workaround for the Kafka and ZK SASL implementation # since they explicitly look for java.security.auth.login.config property # Please do not edit/delete this file - See FLINK-3929 **/ /tmp$ - Could you confirm that we should have more in the generated JAAS file? - We strongly suspect the UnsupportedCallbackException is caused by missing content in the generated JAAS file. Thanks, Sebastien Pereira