
HDFS的/ranger目录一直在增长(一直在保留),如何进行清理?
解决方法:删除HDFS上的ranger audit组件审计信息,并从Report Manager DB中删除记录(需要停止RM服务)。文中计划删除2022-07-01 00:00:00之前的HDFS audit数据和DB记录。
1
目录删除
1.1 删除前信息统计
/ranger/audit/hdfs 1.4T
/ranger/audit/hive 830G
/ranger/audit/impala 321G
/ranger/audit/hbase 25.9Gsolr-infra(337.1 KiB)和atlas(6.5 KiB)未使用,容量极小。
1.2 删除各组件审计信息
删除目录命令:
hdfs dfs -rm -f ranger/audit/<组件>/…….
如果有kerberos认证,需要使用hdfs用户登录kerberos
# cd var/run/cloudera-scm-agent/process
[root@nn02 process]# ls -lrt | grep hdfs
drwxr-xr-x 4 root root 100 Apr 13 2022 ccdeploy_hadoop-conf_etchadoopconf.cloudera.hdfs_3830089173727195229
drwxr-xr-x 4 root root 100 Apr 18 2022 ccdeploy_hadoop-conf_etchadoopconf.cloudera.hdfs_3841198030853125097
drwxr-x--x 3 hdfs hdfs 600 May 12 18:25 12569-hdfs-NAMENODE
drwxr-x--x 3 hdfs hdfs 460 May 12 18:25 12583-hdfs-FAILOVERCONTROLLER
drwxr-x--x 3 hdfs hdfs 420 May 12 18:25 12579-hdfs-JOURNALNODE
drwxr-x--x 4 httpfs httpfs 400 May 12 18:25 12573-hdfs-HTTPFS
cd 12569-hdfs-NAMENODE
# klist -ket hdfs.keytab
# kinit -kt hdfs.keytab hdfs/nn02.rundba.com@RUNDBA.COM1) 删除hdfs目录
需要清理日期目录(如20210515):
/ranger/audit/hdfs/hdfs/20210515
删除前目录数--共550个:
[root@nn02 12569-hdfs-NAMENODE]# hdfs dfs -ls ranger/audit/hdfs/hdfs/ | wc -l
550删除2021年和2022年1-6月的HDFS目录:
hdfs dfs -rm -r -f ranger/audit/hdfs/hdfs/2021*
hdfs dfs -rm -r -f ranger/audit/hdfs/hdfs/202201*
hdfs dfs -rm -r -f ranger/audit/hdfs/hdfs/202202*
hdfs dfs -rm -r -f ranger/audit/hdfs/hdfs/202203*
hdfs dfs -rm -r -f ranger/audit/hdfs/hdfs/202204*
hdfs dfs -rm -r -f ranger/audit/hdfs/hdfs/202205*
hdfs dfs -rm -r -f ranger/audit/hdfs/hdfs/202206*删除后目录数--共134个:
[root@nn02 12569-hdfs-NAMENODE]# hdfs dfs -ls ranger/audit/hdfs/hdfs/ | wc -l
1342) 删除hive目录
需要清理日期目录(如20210515):
/ranger/audit/hive/hiveMetastore/20210515/ranger/audit/hive/hiveServer2/20210515
[/ranger/audit/hive/hiveMetastore]:
删除前目录数--共548个:
[root@nn02 12569-hdfs-NAMENODE]# hdfs dfs -ls ranger/audit/hive/hiveMetastore/ | wc -l548
删除2021年和2022年1-6月的hiveMetastore目录:
hdfs dfs -ls ranger/audit/hive/hiveMetastore/2021* | wc -lhdfs dfs -rm -r -f ranger/audit/hive/hiveMetastore/2021*hdfs dfs -rm -r -f ranger/audit/hive/hiveMetastore/202201*hdfs dfs -rm -r -f ranger/audit/hive/hiveMetastore/202202*hdfs dfs -rm -r -f ranger/audit/hive/hiveMetastore/202203*hdfs dfs -rm -r -f ranger/audit/hive/hiveMetastore/202204*hdfs dfs -rm -r -f ranger/audit/hive/hiveMetastore/202205*hdfs dfs -rm -r -f ranger/audit/hive/hiveMetastore/202206*
删除后目录数--共134个:
[root@nn02 12569-hdfs-NAMENODE]# hdfs dfs -ls ranger/audit/hive/hiveMetastore/ | wc -l134
[/ranger/audit/hive/hiveServer2]:
删除前目录数--共251个:
[root@nn02 12569-hdfs-NAMENODE]# hdfs dfs -ls ranger/audit/hive/hiveServer2 | wc -l251
删除2021年和2022年1-6月的hiveServer2目录:
hdfs dfs -rm -r -f ranger/audit/hive/hiveServer2/2021*hdfs dfs -rm -r -f ranger/audit/hive/hiveServer2/202201*hdfs dfs -rm -r -f ranger/audit/hive/hiveServer2/202202*hdfs dfs -rm -r -f ranger/audit/hive/hiveServer2/202203*hdfs dfs -rm -r -f ranger/audit/hive/hiveServer2/202204*hdfs dfs -rm -r -f ranger/audit/hive/hiveServer2/202205*hdfs dfs -rm -r -f ranger/audit/hive/hiveServer2/202206*
删除后目录数--共30个:
[root@nn02 12569-hdfs-NAMENODE]# hdfs dfs -ls ranger/audit/hive/hiveServer2 | wc -l30
3) 删除impala目录
需要清理日期目录(如20210515):
/ranger/audit/impala/impala/20210515
删除前目录数--共550个:
[root@nn02 12569-hdfs-NAMENODE]# hdfs dfs -ls ranger/audit/impala/impala | wc -l534
删除2021年和2022年1-6月的impala目录:
hdfs dfs -rm -r -f /ranger/audit/impala/impala/2021*hdfs dfs -rm -r -f /ranger/audit/impala/impala/202201*hdfs dfs -rm -r -f /ranger/audit/impala/impala/202202*hdfs dfs -rm -r -f /ranger/audit/impala/impala/202203*hdfs dfs -rm -r -f /ranger/audit/impala/impala/202204*hdfs dfs -rm -r -f /ranger/audit/impala/impala/202205*hdfs dfs -rm -r -f /ranger/audit/impala/impala/202206*
删除后目录数--共134个:
[root@nn02 12569-hdfs-NAMENODE]# hdfs dfs -ls /ranger/audit/impala/impala | wc -l134
4) 删除hbase目录
需要清理日期目录(如20210515):
/ranger/audit/hbase/hbaseRegional/20210515/ranger/audit/hbase/hbaseMaster/20210515
[/ranger/audit/hbase/hbaseRegional]:
删除前目录数--共1759个:
[root@nn02 12569-hdfs-NAMENODE]# hdfs dfs -ls /ranger/audit/hbase/hbaseRegional/ | wc -l1759
删除2021年和2022年1-6月的hbaseRegional目录:
hdfs dfs -rm -r -f /ranger/audit/hbase/hbaseRegional/2021*hdfs dfs -rm -r -f /ranger/audit/hbase/hbaseRegional/202201*hdfs dfs -rm -r -f /ranger/audit/hbase/hbaseRegional/202202*hdfs dfs -rm -r -f /ranger/audit/hbase/hbaseRegional/202203*hdfs dfs -rm -r -f /ranger/audit/hbase/hbaseRegional/202204*hdfs dfs -rm -r -f /ranger/audit/hbase/hbaseRegional/202205*hdfs dfs -rm -r -f /ranger/audit/hbase/hbaseRegional/202206*
删除后目录数--共134个:
[root@nn02 12569-hdfs-NAMENODE]# hdfs dfs -ls /ranger/audit/hbase/hbaseRegional/ | wc -l134
[/ranger/audit/hbase/hbaseMaster]:
删除前目录数--共547个:
[root@nn02 12569-hdfs-NAMENODE]# hdfs dfs -ls /ranger/audit/hbase/hbaseMaster | wc -l547
删除2021年和2022年1-hbaseMaster:
hdfs dfs -rm -r -f /ranger/audit/hbase/hbaseMaster/2021*hdfs dfs -rm -r -f /ranger/audit/hbase/hbaseMaster/202201*hdfs dfs -rm -r -f /ranger/audit/hbase/hbaseMaster/202202*hdfs dfs -rm -r -f /ranger/audit/hbase/hbaseMaster/202203*hdfs dfs -rm -r -f /ranger/audit/hbase/hbaseMaster/202204*hdfs dfs -rm -r -f /ranger/audit/hbase/hbaseMaster/202205*hdfs dfs -rm -r -f /ranger/audit/hbase/hbaseMaster/202206*
删除后目录数--共30个:
[root@nn02 12569-hdfs-NAMENODE]# hdfs dfs -ls /ranger/audit/hbase/hbaseMaster | wc -l134
2
数据记录删除
2.1 删除前信息统计
1) RM数据库当前共4张表
mysql> use rman;mysql> show tables;+------------------------+| Tables_in_rman |+------------------------+| RMAN_SCHEMA_VERSION | # schema版本信息| RMAN_USERGROUPHISTORY | # 用户信息表| RMAN_WATCHEDDIR | # 报告目录表| RMAN_WATCHEDDIRHISTORY | # 报告使用率记录表+------------------------+4 rows in set (0.00 sec)
2) 查看4张表记录数
mysql> select count(1) from RMAN_SCHEMA_VERSION;+----------+| count(1) |+----------+| 1 |+----------+1 row in set (0.00 sec)mysql> select count(1) from RMAN_USERGROUPHISTORY;+----------+| count(1) |+----------+| 444529 |+----------+1 row in set (0.00 sec)mysql> select count(1) from RMAN_WATCHEDDIR;+----------+| count(1) |+----------+| 6 |+----------+1 row in set (0.00 sec)mysql> select count(1) from RMAN_WATCHEDDIRHISTORY;+----------+| count(1) |+----------+| 79 |+----------+1 row in set (0.00 sec)
3) 查看RMAN_USERGROUPHISTORY表2022-07-01 00:00:00之前的记录数统计
sample_date字段采用Unix timestamp,单位是毫秒,可通过URL: https://tool.lu/timestamp/网站进行转换,如2022-07-01 00:00:00 对应的Unix timestamp为 1656604800000。
mysql> select count(1) from RMAN_USERGROUPHISTORY where sample_date < 1656604800000;+----------+| count(1) |+----------+| 346405 |+----------+1 row in set (0.15 sec)
2.2 停止RM服务
对业务没有影响,停止RM服务会暂停对相关数据的收集。
CM主页 > 点击“Cloudera Management Service” > 点击“Reports Manager” > 点击“操作” > 点击“停止此Reports Manager”,其它默认,正常停止RM服务。

2.3 备份RM数据库
此时RM服务已经停止,没有对RMAN数据库的访问,删除前对RMAN数据库进行备份。
mysqldump -p rman > /tmp/amon-backup-2022-11-10.sql #备份cat /tmp/amon-backup-2022-11-10.sql # 确保文件内容生成
2.4 删除2022-07-01 00:00:00之前的记录数
delete from RMAN_USERGROUPHISTORY where sample_date < 1656604800000;2.5 删除后记录数查看
mysql> select count(1) from RMAN_USERGROUPHISTORY;+----------+| count(1) |+----------+| 98124 |+----------+1 row in set (0.02 sec)
2.6 启动RM服务
CM主页 > 点击“Cloudera Management Service” > 点击“Reports Manager” > 点击操作 > 点击“启动此Reports Manager”,确保RM服务正常启动。

待服务正常后,可将rman备份删除。
3
HDFS历史磁盘使用记录清理
3.1 查看历史记录数据
mysql> select * from RMAN_WATCHEDDIRHISTORY;
+-----+---------------------+-------+------------+------------+---------------+----------------+---------------------+---------------+
| id | watcheddirectory_id | user_ | group_ | file_count | bytes | raw_bytes | atime | sample_date |
+-----+---------------------+-------+------------+------------+---------------+----------------+---------------------+---------------+
| 1 | 1 | hdfs | supergroup | 11183 | 2437644252897 | 7312932758691 | 2022-10-28 10:58:36 | 1666942501039 |
| 3 | 3 | hdfs | supergroup | 139207 | 3860399096329 | 11582697865069 | 2022-10-28 14:00:30 | 1666942501039 |
| 5 | 5 | hdfs | supergroup | 3211375 | 2052997532407 | 6158992597221 | 2022-10-28 14:29:35 | 1666942501039 |
...这些信息会显示在“目录的历史磁盘使用情况”,当使用时间较长时,可以进行清理。
3.2 清理历史数据
delete from RMAN_WATCHEDDIRHISTORY where sample_date = 1666942501039;
4
官方参考
https://docs.cloudera.com/cdp-private-cloud-base/7.1.6/security-ranger-auditing/topics/security-ranger-audit-filters.html
database create:
https://docs.cloudera.com/cdp-private-cloud-base/7.1.8/installation/topics/cm_ig_mysql.html



