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' //执行大合并

    四、查看结果

     

     

     

  • 相关阅读:
    自助Linux之问题诊断工具strace
    Linux系统与程序监控工具atop教程
    Google C++单元测试框架(Gtest)系列教程之三——测试固件(Test fixture)
    SQLServer2005:在执行批处理时出现错误。错误消息为: 目录名无效
    无法为可更新的订阅设置发布服务器登录名
    忘记SQL SERVER帐户sa的密码
    SQL Server 2008 R2 跟踪标志
    sys.dm_os_volume_stats监控物理磁盘
    SQL SERVER 中常见的高可用方案
    Vim操作的四种模式
  • 原文地址:https://www.cnblogs.com/wanchen-chen/p/12934089.html
Copyright © 2011-2022 走看看