启动Kafka流应用程序时,将使用以下jaas文件。但是,流应用程序不会自动更新票证。在票证过期后,除下面的例外情况外,它将失败。我们应该如何保持Kerberos票证自动更新?
KafkaClient {
com.sun.security.auth.module.Krb5LoginModule required
doNotPrompt=true
useTicketCache=true
principal="astvy@DEV.ACM.COM"
useKeyTab=true
serviceName="kafka"
keyTab="/home/astvy/astvy.headless.keytab"
renewTGT=true
client=true;
};错误
Abort sending since an error caught with a previous record (key ED1812 value org.cox.model.HourlyUnit@83e6c99 timestamp 1536165112061) to topic dub_hourlyunit_source1 due to org.apache.kafka.common.errors.SaslAuthenticationException:
An error: (java.security.PrivilegedActionException: javax.security.sasl.SaslException:
GSS initiate failed [Caused by GSSException: No valid credentials provided (Mechanism level: Failed to find any Kerberos tgt)]) occurred when evaluating SASL token received from the Kafka Broker.
Kafka Client will go to AUTHENTICATION_FAILED state.在进行了以下几处修正(关键的更改是将useTicketCache设置为false)之后,我们还没有看到上面的问题再次发生,但是由于更新的TGT设置了7天,我们将继续监视问题是否已经解决。如果下面的更改永久地解决了问题,将再检查几天并确认这一点。
KafkaClient {
com.sun.security.auth.module.Krb5LoginModule required
doNotPrompt=true
useTicketCache=false
principal="astvy@DEV.ACM.COM"
useKeyTab=true
serviceName="kafka"
keyTab="/home/astvy/astvy.headless.keytab"
storeKey=true;
};发布于 2018-09-13 05:13:42
卡夫卡流使用Kerberos和SSL就像其他卡夫卡客户,如生产者和消费者的信任,所以我不能真正想到任何问题内流本身可能导致不续订票。
我在谷歌上做了一些快速搜索,其中一个可能是相关的:https://issues.apache.org/jira/browse/HADOOP-10786,如果你在使用J8。
https://stackoverflow.com/questions/52250248
复制相似问题