解决对接华为kafka 进行Kerberos认证时的sun.security.krb5.KrbException

时间:2022-07-22
本文章向大家介绍解决对接华为kafka 进行Kerberos认证时的sun.security.krb5.KrbException,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

首先是问题的几个可能产生原因:

1. 提交任务的客户端节点与集群时间有没有偏差5分钟以上 2. 配置文件是不是客户端上最新的 3. zk依赖包是不是华为的,不能是开源的 4. zookeeper.server.principal 这个参数是不是 zookeeper/hadoop.hadoop.com

依次排查 1、2 没问题

在代码中进行了4的修改 没有改3的情况下 报错依旧

从华为客户端中 /opt/client/Kafka/kafka/libs/目录下拷贝出三个jar包 (不知道具体是哪个有修改 网上有说改了kafka,华为技术支持说zookeeper,保险起见都使用华为的)

kafka_2.11-1.1.0.jar

kafka-clients-1.1.0.jar

zookeeper-3.5.1.jar

mvn install:install-file -Dfile=/Users/other/jars/kafka_2.11-1.1.0.jar -DgroupId=org.apache.kafka -DartifactId=huawei_kafka -Dversion=1.1.0 -Dpackaging=jar

mvn install:install-file -Dfile=/Users/other/jars/kafka-clients-1.1.0.jar -DgroupId=org.apache.kafka -DartifactId=kafka-client -Dversion=1.1.0 -Dpackaging=jar

mvn install:install-file -Dfile=/Users/other/jars/zookeeper-3.5.1.jar -DgroupId=org.apache.zookeeper -DartifactId=zookeeper -Dversion=3.5.1 -Dpackaging=jar

在pom.xml中的配置:

<dependency>
    <groupId>org.apache.kafka</groupId>
    <artifactId>huawei_kafka</artifactId>
    <version>1.1.0</version>
</dependency>
<dependency>
    <groupId>org.apache.kafka</groupId>
    <artifactId>kafka-client</artifactId>
    <version>1.1.0</version>
</dependency>

<dependency>
    <groupId>org.apache.zookeeper</groupId>
    <artifactId>zookeeper</artifactId>
    <version>3.5.1</version>
</dependency>

替换了jar包后问题解决

真的是坑啊 自定义了jar还没有提前说明 浪费了好几天时间