问题描述
我正在尝试使用以下方法从flink kafkaconsumer流数据: https://ci.apache.org/projects/flink/flink-docs-stable/dev/connectors/kafka.html
我的KAFKA在此受Kerberos保护并启用SSL。
我正在EMR 5.31上的纱线群集中运行Flink流。
我收到与REALM KRB5相关的错误。
Caused by: org.apache.kafka.common.errors.SaslAuthenticationException:
Failed to create SaslClient with mechanism GSSAPI
Caused by: javax.security.sasl.SaslException: Failure to initialize
security context [Caused by GSSException: Invalid name provided (Mechanism
level: KrbException: Cannot locate default realm)]
我从yaml conf文件中传递了KRB5,例如:
env.java.opts.jobmanager: -Djava.security.krb5.conf=/path/krb5.conf
env.java.opts.taskmanager: -Djava.security.krb5.conf=/path/krb5.conf
解决方法
已使用--yarn-ship交付了目录conf /。该conf文件夹中包含krb5.conf
,最后,当我从flink-conf.yaml通过相对路径传递它时。如下图所示:
env.java.opts.jobmanager:-Djava.security.krb5.conf =。/ conf / krb5.conf env.java.opts.taskmanager:-Djava.security.krb5.conf =。/ conf / krb5.conf env.java.opts:-Djava.security.krb5.conf =。/ conf / krb5.conf
-yD的其他选项对我不起作用。