最近发现 kafka 服务 /var/log/kafka/audit/hdfs/spool 的 ranger 审计目录假脱机日志过多,过大。这里整理并记录一下解决方案。
问题现象kafka 服务 /var/log/kafka/audit/hdfs/spool 日志过多。
-rw-r--r-- 1 kafka kafka 149654711 Mar 6 06:38 spool_kafka_20220305-0639.44.log -rw-r--r-- 1 kafka kafka 150847877 Mar 7 06:43 spool_kafka_20220306-0644.01.log -rw-r--r-- 1 kafka kafka 156952900 Mar 8 06:44 spool_kafka_20220307-0648.57.log -rw-r--r-- 1 kafka kafka 158264048 Mar 9 06:47 spool_kafka_20220308-0649.44.log -rw-r--r-- 1 kafka kafka 183659969 Mar 10 06:50 spool_kafka_20220309-0652.54.log问题原因
当为 Kafka 启用 Ranger 审计时,当写入 HDFS 失败时,审计日志数据会在本地磁盘上假脱机。
我们的 Ranger 服务和 Kafka 服务的相关配置如下:
- Ranger
- Kafka
那么为什么写入 HDFS 失败呢,通过查看上下文发现 ranger 没有写入 /ranger/audit 文件的权限。
解决方案CDP 环境解决如下:
Kafka 服务 -> 操作 -> Create Ranger kafka plugins audit Directory
然后重启 Kafka 服务。
如果环境不为 CDP 环境:
实际上就是创建 Ranger 服务对应的 HDFS Audit 目录,并对 /ranger/audit/kafka 目录赋予正确的权限(所属用户 和 读写权限),使得 Kafka 能够正常写入审计数据到 HDFS 即可。
再重启 Kafka 服务。
参考文章:- https://github.com/apache/ranger/blob/master/plugin-kafka/scripts/install.properties#L65
- https://community.wandisco.com/s/article/Known-Issue-Using-Apache-Kafka-with-Apache-Ranger



