对于CDH环境的kafka,并且带有kerberos认证的,部署kafka-manager时需要注意两点:
1、接入集群要用的安全协议配置
这里直接给个模板:
{
"security.protocol":"SASL_PLAINTEXT",
"sasl.mechanism":"GSSAPI",
"sasl.kerberos.service.name":"kafka",
"sasl.jaas.config":"com.sun.security.auth.module.Krb5LoginModule required useKeyTab=true debug=true storeKey=true keyTab=\"/root/xx.keytab\" principal=\"xx@xx.com\";"
}
其中sasl.jaas.config中的keyTab和principal改成自己的就行了,示例如下:
2、CDH上kafka的jmx默认配置需要修改
一般情况下,按照默认的配置,JMX对外是不能访问的,启动kafka-manager后可以看到它的错误日志:
这时我们要到CDH上修改broker_java_opts和mirror_maker_java_opts两个配置项
把这两项中的-Dcom.sun.management.jmxremote.local.only参数改为false,并且删除掉-Djava.rmi.server.hostname和-Dcom.sun.management.jmxremote.host这两个配置参数,然后重启kafka,jmx即可对外访问。