赞
踩
1.需求
需要对CDH6的hive 执行SQL做记录,单独文件以供审计。CDH没有显性开关来配置,需要通过log4j2日志配置,将org.apache.hadoop.hive.metastore.HiveMetaStore.audit 类输出的审计内容写到独立文件。
参考文章 :Hive开启审计日志_hive审计日志-CSDN博客 配置后发现原来输出的 “hadoop-cmf-hive-HIVEMETASTORE-bd1.log.out” 日志不再输出, 优化如下。
2. 配置
2.1 开启操作日志记录
2.2 配置hive metastore server 的log4j2
cdh->hive->配置,搜索“Hive Metastore Server 日志记录高级配置代码段(安全阀)”
增加log4j2配置:
- appenders=AUDIT, console, DRFA, redactorForRootLogger
- appender.AUDIT.type=RollingRandomAccessFile
- appender.AUDIT.name=AUDIT
- appender.AUDIT.fileName=${log.dir}/operation_logs/hive_audit.log
- appender.AUDIT.filePattern=${log.dir}/operation_logs/hive_audit.%d{yyyy-MM-dd}
- appender.AUDIT.layout.type=PatternLayout
- appender.AUDIT.layout.pattern=%d{DEFAULT} %-5p %c: [%t]: %m%n
- appender.AUDIT.policies.type=Policies
- appender.AUDIT.policies.size.type=SizeBasedTriggeringPolicy
- appender.AUDIT.policies.size.size=${max.log.file.size}
- appender.AUDIT.strategy.type=DefaultRolloverStrategy
- appender.AUDIT.strategy.max=${max.log.file.backup.index}
- logger.audit.name = org.apache.hadoop.hive.metastore.HiveMetaStore.audit
- logger.audit.level = info
- logger.audit.additivity = false
- logger.audit.appenderRef.audit.ref = AUDIT
-
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)
说明:
(1)appenders=AUDIT, console, DRFA, redactorForRootLogger
AUDIT为新加的appenders, 其它为HIVE本身默认带的,如果没有加上,则出现原来的HMS日志没有输出。
hive默认log4j2配置,可以在/var/run/cloudera-scm-agent/process/*hive-HIVEMETASTORE路径下找最新的hive-log4j2.properties 文件。
(2)logger.audit.additivity = false
此项配置是否向父节点 logger 传递的。配置false 则HMS日志不再输出audit类输出内容。
(3)配置完重启即可查看日志.
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。