暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

0191.C ranger数据清理(HDFS和DB清理)

rundba 2022-11-16
1366

 

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.9G

    solr-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.COM

      1) 删除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
            134

            2) 删除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 -l 1759

                                    删除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 -l 134

                                        [/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(1from 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






                                                                最后修改时间:2022-11-17 10:45:49
                                                                文章转载自rundba,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                                                                评论