kafka开启了SASL(kerberos), server.properties配置为

sasl.enabled.mechanisms: GSSAPI
security.inter.broker.protocol: SASL_PLAINTEXT
ssl.mode.enable: false
allow.everyone.if.no.acl.found: true
sasl.port: 19092

服务端的jaas.conf内容为

KafkaServer {
com.sun.security.auth.module.Krb5LoginModule required
debug=false
keyTab="/opt/kafka/keytabs/kafka.keytab"
useTicketCache=false
storeKey=true
principal="kafka/hadoop.test.com@TEST.COM"
useKeyTab=true;
};KafkaClient {
com.sun.security.auth.module.Krb5LoginModule required
useKeyTab=true
keyTab="/opt/kafka/keytabs/kafka.keytab"
principal="kafka/hadoop.test.com@TEST.COM"
storeKey=true
debug=false
useTicketCache=false;
};Client {
com.sun.security.auth.module.Krb5LoginModule required
storeKey=true
principal="kafka/hadoop.test.com@TEST.COM"
useTicketCache=false
keyTab="/opt/kafka/keytabs/kafka.keytab"
debug=false
useKeyTab=true;
};

在客户端查询kafka集群中所有节点的API版本信息

kafka-broker-api-versions.sh --bootstrap-server  192.168.1.140:19092

报错

Request METADATA failed on brokers List

这是因为客户端没有开启SASL
编辑client.properties

sasl.mechanism=GSSAPI
security.protocol=SASL_PLAINTEXT
sasl.kerberos.service.name=kafka
sasl.jaas.config=com.sun.security.auth.module.Krb5LoginModule required \useKeyTab=true \storeKey=true \keyTab="/opt/kafkaclient/keytabs/kafka.keytab" \principal="kafka/hadoop.test.com@TEST.COM" \renewTGT=true \useTicketCache=true;

运行命令

kafka-broker-api-versions.sh --bootstrap-server  192.168.1.140:19092 --command-config client.properties

报错

no vailid crdentials provided
server not found in kerberos database
identifier doesn't match expected value

查看kerberos的日志krb5kdc.log

LOOKING_UP_SERVER: kafka@TEST.COM for kafka/test.com@TEST.COM,Server not found in Kerberos database

发现是服务名不对,正确的服务名是: kafka/hadoop.test.com@TEST.COM

修改client.properties

sasl.mechanism=GSSAPI
security.protocol=SASL_PLAINTEXT
sasl.kerberos.service.name=kafka
kerberos.domain.name=hadoop.test.com
sasl.jaas.config=com.sun.security.auth.module.Krb5LoginModule required \useKeyTab=true \storeKey=true \keyTab="/opt/kafkaclient/keytabs/kafka.keytab" \principal="kafka/hadoop.test.com@TEST.COM" \renewTGT=true \useTicketCache=true;

再次运行

kafka-broker-api-versions.sh --bootstrap-server 192.168.1.140:19092 --command-config client.properties

可获得正确的结果

principal的主机名

查看kerberos的日志krb5kdc.log,如果报错

LOOKING_UP_SERVER: kafka/hadoop.test.com@TEST.COM for kafka/w120pc05@TEST.COM

可知是反解析hosts里的ip得到hostname,从而构建service principal;
principal的格式为primary/hostname@REALM

因此,另一种解决方法是,修改/etc/hosts

192.168.1.140 hadoop.test.com

kafka开启kerberos,报错server not found in kerberos database相关推荐

  1. kafka创建topic报错

    kafka创建topic报错 kafka-topics.sh \ --zookeeper mypc01:2181,mypc02:2181,mypc03:2181/kafka-2020 \ --crea ...

  2. 关于eclipse中web项目tomcat报错Server Tomcat v9.0 Server at localhost failed to start问题解决

    第一次写博客,写个简单的好了 关于eclipse中web项目tomcat报错Server Tomcat v9.0 Server at localhost failed to start 问题 我的解决 ...

  3. 安装kerberos报错 error: command 'gcc' failed with exit status 1

    pip install kerberos 报错:error: command 'gcc' failed with exit status 1 安装环境工具 yum install gcc libffi ...

  4. Neo4j 启动报错 Server shutdown initiated by request

    Neo4j 启动报错 Server shutdown initiated by request 检查Neo4j conf文件 尝试restart 删除database下所有数据 检查Neo4j con ...

  5. mdk arm开启FPU报错问题

    问题描述: mdk使用arm complier v6 开启FPU报错问题. 问题分析: 如果是使用arm v5版本编译器,按照下述步骤进行配置,然后编译是没有问题的: 在C/C++选项卡中添加下列宏定 ...

  6. IDEA 配置连接数据库报错 Server returns invalid timezone. Need to set ‘serverTimezone‘ property.

    项目场景: 提示:使用IDEA连接数据库: 问题描述 提示:IDEA 配置连接数据库报错 Server returns invalid timezone. Need to set 'serverTim ...

  7. kafka完美解决报错:Error while executing topic command:Replication factor:3 larger than available brokers:0

    kafka完美解决报错:Error while executing topic command:Replication factor:3 larger than available brokers:0 ...

  8. linux php没有启动,php报错开启_Linux开启PHP报错的方法

    摘要 腾兴网为您分享:Linux开启PHP报错的方法,中国人保,悦作业,小米社区,相机美颜等软件知识,以及alcoin,蓝光mp3剪切器,4,wav,乌兰察布招聘网,驾考系统,海管家,杀毒管家,lr视 ...

  9. 云服务器(阿里云)安装kafka及相关报错处理(WARN Connection request from old client /58.247.201.56:31365; will be dropp)

    linux下载:wget http://mirrors.hust.edu.cn/apache/kafka/2.0.0/kafka_2.12-2.0.0.tgz 云服务器安装kafka,部署zookee ...

  10. kafka启动内存报错There is insufficient memory for the Java Runtime Environment to continue

    1.具体报错信息 OpenJDK 64-Bit Server VM warning: If the number of processors is expected to increase from ...

最新文章

  1. VS调试时提示此项目已经过期
  2. windows 2008 R2无法创建性能收集器
  3. 时至今日,NLP怎么还这么难!
  4. 【C/C++开发】C++实现简单的线程池
  5. 为什么做Web开发要选择PHP
  6. python中的装饰器(以及多个装饰器详细执行过程)
  7. 简单的openssh自动升级脚本
  8. 关于Mysql java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)的问题...
  9. CCNA-第二篇-路由器交换机概述
  10. 计算机专业论文docx,计算机系毕业论文范文-20210606000812.docx-原创力文档
  11. live2dviewer android,live2dviewerex安卓版
  12. conda配置环境变量并且激活
  13. mac系统maven spring mvc小试牛刀
  14. win7 下 java 环境变量配置
  15. 鼠标宏会不会封号_每天一个英雄联盟封号技巧:峡谷先锋可以连续撞塔两次,你会吗?...
  16. css加空格的方法,css如何加空格
  17. 大学计算机基础教程excel实验报告,大学计算机基础教程excel实验报告.doc
  18. PowerShell 设置文件只读 (设置文件属性)
  19. 阿里云服务器CPU Intel Xeon Platinum 8269CY和8163处理器区别
  20. 将images按照2:1:1的比例随机分成train,validate,test

热门文章

  1. 计算机二级公共基础知识资料(考点集合)
  2. 查看计算机显卡驱动版本,电脑怎么更新显卡驱动?如何查看驱动是否正常
  3. Android淘宝客链接自动跳转淘宝APP问题
  4. 物联网可视化平台-场景编辑器-轻松实现三维地图搭建
  5. qq音乐网络异常获取音乐失败_qq音乐网络异常获取音频失败怎么办
  6. C#中手动引用COM组建的例子
  7. linux控制风扇转速的命令,Cputroller:一款Linux下查看调节CPU的策略、风扇转速的工具...
  8. UFO报表另存为Excel提示:可能没有正确安装Excel
  9. jq ajax ajaxsubmit,如何理解jQuery中的ajaxSubmit方法
  10. 小猫爪:PMSM之FOC控制04-SVPWM