建议zookeeper和kafka使用同一个认证文件
以下是2.8版本的。3.0版本及以上尚未测试验证
# kafka和zk公用同一个认证
$cat kafka_server_jaas.conf
KafkaServer {
org.apache.kafka.common.security.plain.PlainLoginModule required
username="admin"
password="zfyx@2022"
user_admin="zfyx@2022"
user_producer="zfyx@2022"
user_consumer="zfyx@2022";
};
https://www.yuque.com/geray-alxoc/bapt5y/npqss5?singleDoc# 《基础镜像》
1、zk
1. 复制启动脚本和配置文件为sasl认证的
cp zookeeper-server-start.sh zookeeper-server-start-sasl.sh
cp zookeeper.properties zookeeper-sasl.properties
2. 认证文件
cat > zk-server-jaas.conf << EOF
Server {
org.apache.zookeeper.server.auth.DigestLoginModule required
user_super="admin"
user_bob="gsww@SJJH!2.0";
};
EOF
3. 启动脚本中添加认证配置
- 修改zk启动脚本指定认证文件(最后一行中添加认证文件参数)
exec $base_dir/kafka-run-class.sh $EXTRA_ARGS -Djava.security.auth.login.config=/data/kafka-jh/config/zk-server-jaas.conf org.apache.zookeeper.server.quorum.QuorumPeerMain "$@"
4. 修改zk配置文件,添加认证信息
authProvider.1=org.apache.zookeeper.server.auth.SASLAuthenticationProvider
requireClientAuthScheme=sasl
jaasLoginRenew=3600000
5. 启动测试
# 前台启动
./zookeeper-server-start-sasl.sh ../config/zookeeper-sasl.properties
# 后台启动
./zookeeper-server-start-sasl.sh -daemon ../config/zookeeper-sasl.properties
2、kafka
1. 复制启动脚本和配置文件为sasl认证
cp kafka-server-start.sh kafka-server-start-sasl.sh
cp server.properties server-sasl.properties
2. 认证文件
cat > kafka-server-jaas.conf << EOF
KafkaServer {
org.apache.kafka.common.security.plain.PlainLoginModule required
username="admin"
password="admin"
user_admin="admin"
user_rex="gsww@SJJH!2.0"
user_alice="gsww@SJJH!2.0"
user_lucy="gsww@SJJH!2.0";
};
EOF
3. 启动脚本中天剑认证配置
- 修改kafka启动脚本指定认证文件(最后一行中添加认证文件参数)
exec $base_dir/kafka-run-class.sh $EXTRA_ARGS -Djava.security.auth.login.config=/data/kafka-jh/config/kafka-server-jaas.conf kafka.Kafka "$@"
4. 修改kafka配置文件,添加认证信息
listeners=SASL_PLAINTEXT://localhost:9092
security.inter.broker.protocol=SASL_PLAINTEXT
sasl.enabled.mechanisms=PLAIN
sasl.mechanism.inter.broker.protocol=PLAIN
authorizer.class.name=kafka.security.authorizer.AclAuthorizer
super.users=User:admin
5. 启动测试
# 前台启动
./bin/kafka-server-start-sasl.sh config/server-sasl.properties
# 后台启动
./bin/kafka-server-start-sasl.sh -daemon config/server-sasl.properties