|
您好:
因为业务需要,需要Flink连接CDK(带有kerberos环境下的Kafka Topic)。
同一集群,Flink on Yarn模式,在kerberos环境下申请yarn-session资源通过:yarn-session.sh -n 2 -d -jm 2048 -tm 4096 -qu root.AAAA_AAAA_AAAA -D security.kerberos.login.keytab=AAA.keytab -D security.kerberos.login.principal=AAA, 申请的资源去连接同一集群的CDK,在代码中添加了认证信息:
System.setProperty("java.security.krb5.conf", krb5);
System.setProperty("java.security.auth.login.config", jaas);
System.setProperty("sun.security.krb5.debug", "true");
Properties properties = new Properties();
properties.setProperty("bootstrap.servers", prop.getProperty("KafkaBrokers"));
properties.setProperty("group.id", prop.getProperty("GroupId"));
同一集群, 如果申请的yarn-session的认证用户 和 kafka的认证用户是同一个,比如说都是AAA_AAA_AAA.keytab ,那就能成功。
同一集群, 如果申请的yarn-session的认证用户 和 kafka的认证用户是不同用户,比如说都是申请的yarn-session是AAA.keytab,而认证的kafka是BBB.keytab ,那就是失败的。报错:errors.TopicAuthorizationException: Not authorized to access topics[]. 认证不通过。 麻烦问一下这个问题该怎么解决。我在google、百度都没有这方面的资料,然后自己尝试了各种方法,都不行。
感谢感谢!
|