zoukankan      html  css  js  c++  java
  • hadoop(hbase)副本数修改

    一、需求场景

    随着业务数据的快速增长,物理磁盘剩余空间告警,需要将数据备份从3份修改为1份,从而快速腾出可用磁盘容量。

    二、解决方案

    1. 修改hdfs的副本数

    Hbase 的数据是存储在 hdfs 上的,Hbase的副本数是默认读取hdfs的配置进行副本备份的,所以需要修改hdfs上的副本数据。

    2.删除重复数据

    修改hdfs-site.xml的副本数,只能对以后的数据有效,不能修改已经存储的文件备份数,所以需要删除多余的数据。

    3.负载均衡

    可以增加新的存储节点,并且执行负载均衡策略。将数据均匀的分布到多个数据节点中,最大化的利用数据磁盘。

    4.开启hbase表压缩

    Hbase数据采用的列式存储,占用空间较大,指定压缩方式可以很好的减少磁盘的占用。

    三、操作步骤

    1.修改hdfs副本数

    a) 通过CDH的web界面修改:

     

    b) 通过hdfs-site.xml修改

     

    2.删除重复数据

    该问题网上有很多回答,我这里使用的强制修改备份的方法。

    //将HDFS上的数据仅保留一份备份

    hadoop fs -setrep -R 1 /

     

    // HDFS会为每一个用户创建一个回收站目录:/user/用户名/.Trash/,每一个被用户通过Shell删除的文件/目录,在系统回收站中都一个周期,也就是当系统回收站中的文件/目录在一段时间之后没有被用户回复的话,HDFS就会自动的把这个文件/目录彻底删除,之后,用户就永远也找不回这个文件/目录了。如果磁盘占用依旧很大,需要去回收厂手动删除。

    3.负载均衡

    修改存储节点后,使用hdfs用户shell命令执行:hdfs balancer

    4.对现有表修改压缩方式

    disable 'testcompression' //首先将表下线

    alter 'testcompression', NAME => 'f1', COMPRESSION => 'SNAPPY' //修改表属性,指定压缩方式为SNAPPY

    enable 'testcompression' //启用表

    desc 'testcompression' //验证是否已启用压缩放肆

    major_compact 'testcompression' //执行大合并

    四、查看结果

     

     

     

  • 相关阅读:
    GRE协议基础配置
    OSPFv3基础配置
    初级作业2
    缺省静态路由发布进OSPF
    不同进程OSPF路由相互通信
    OSI与TCP/IP
    华为AAA认证详解
    OSPF与静态路由
    [转]那些著名或非著名的iOS面试题(下)
    [转]那些著名或非著名的iOS面试题(中)
  • 原文地址:https://www.cnblogs.com/wanchen-chen/p/12934089.html
Copyright © 2011-2022 走看看