kafka的认证方式一般有如下3种:
1. SASL/GSSAPI 从版本0.9.0.0开始支持
2. SASL/PLAIN 从版本0.10.0.0开始支持
3. SASL/SCRAM-SHA-256 以及 SASL/SCRAM-SHA-512 从版本0.10.2.0开始支持
其中第一种SASL/GSSAPI的认证就是kerberos认证,对于java来说有原生的支持,但是对于python来说配置稍微麻烦一些,下面说一下具体的配置过程,confluent kafka模块底层依赖于librdkafka,这是使用c编写的高性能的kafka客户端库,有好多语言的库都是依赖于这个,所以GSSAPI接口的开启也需要在librdkafka编译的时候支持
librdkafka源码:https://github.com/edenhill/librdkafka
编译之前需要先安装必要的开发包,否则相关的接口编译不进去
首先是openssl库,使用yum安装为: yum -y install openssl openssl-devel ,编译openssl只能支持默认的PLAIN还有SCRAM这两种机制,无法支持GSSAPI的机制,还需要编译libsasl2依赖,yum安装命令如下:
yum install cyrus-sasl-gssapi cyrus-sasl-devel
在ubuntu下使用命令: apt-get install libsasl2-modules-gssapi-mit libsasl2-dev 安装libsasl2开发包
然后确认一下是否有zlib库,这个是方便对kafka消息压缩使用的,一般都会存在,安装命令ÿ