目录
配置zookeeper.properties文件(各节点均需修改)
配置server.properties文件(各节点均需修改)
以下以kafka集成zookeeper为例。
本文仅介绍基于以上已开启SSL认证的前提下,追加SASL_PLAIN安全认证的介绍,即SASL_SSL安全认证的实现,其中部分配置与仅开启SASL/PLAIN存在差异。
Zookeeper配置SASL
新建zoo_jaas.conf文件
- 进入zookeeper配置目录
cd /opt/tools/kafka_2.13-3.2.1/config
- 新建zoo_jaas.conf文件
vim zoo_jaas.conf
添加如下内容:
Server {
org.apache.kafka.common.security.plain.PlainLoginModule required
username="admin"
password="rbt@123456"
user_kafka="kafka@123";
};
- 说明
- Server.username、Server.password为 Zookeeper 内部通信的用户名和密码,因此保证每个 zk 节点该属性一致即可
- Server.user_xxx 中 xxx 为自定义用户名,用于 zkClient 连接所使用的用户名和密码,即为 kafka 创建的用户名
- 最后一个账号密码配置的末尾,不可缺失“;”分号。即该配置文件中需有两个“;”分号。
- 复制配置文件到每个节点
scp zoo_jaas.conf root@big2:/opt/tools/kafka_2.13-3.2.1/config
配置zookeeper.properties文件(各节点均需修改)
独立版zookeeper的配置文件为zoo.conf,kafka集成版的配置文件为zookeeper.properties。
- 添加如下配置项
authProvidential.1=org.apache.zookeeper.server.auth.SASLAuthenticationProvider
requireClientAuthScheme=sasl
jaasLoginRenew=3600000
zookeeper.sasl.client=true
导入依赖包
独立版zookeeper
因为使用的权限验证类为:org.apache.kafka.common.security.plain.PlainLoginModule,所以需要导入Kafka相关jar包,kafka-clients相关jar包,在部署kafka服务下的libs目录中可以找到,根据kafka不同版本,相关jar包版本会有所变化。所需要jar包如下,在zookeeper下创建目录zk_sasl_lib将jar包放入(目录名与位置可以随便,后续引用指定即可)
- 拷贝jar文件到zk_sasl_lib目录
- 编辑zookeeper环境变量脚本
vim bin/zkEnv.sh
添加如下内容:
for i in /apps/apache-zookeeper-3.8.1-bin/zk_sasl_lib/*.jar;
do
CLASSPATH="$i:$CLASSPATH"
done
Kafka集成版zookeeper
原生具备,无需配置。
修改启动脚本或环境变量脚本(各节点均需修改)
修改启动脚本或环境变量脚本,使之加载zoo_jaas.conf文件
独立版zookeeper
- 修改环境变量脚本
/opt/tools/apache