• Hbase 手动执行MajorCompation


    说明:

    Major Compaction 的作用:

    1.将一个Region下的所有StoreFile合并成一个StoreFile文件

    2.对于删除、过期、多余版本的数据进行清除

    由于MajorCompation期间对集群的磁盘IO占和带宽占用较大,所以线上系统一般会禁用此功能,在集群负载较低时手动执行

    操作:

    方式1:

    (Hbase shell)major_compact  'tablename'

    方式2:

    通过代码合并

    import org.apache.hadoop.conf.Configuration;
    import org.apache.hadoop.hbase.HBaseConfiguration;
    import org.apache.hadoop.hbase.TableName;
    import org.apache.hadoop.hbase.client.Admin;
    import org.apache.hadoop.hbase.client.Connection;
    import org.apache.hadoop.hbase.client.ConnectionFactory;
    import java.io.IOException;

    /**
    * majorCompact
    */
    public class MajorCompact {
    public static void main(String[] args) throws IOException {
    String[] tableList = {
    "tablename1",
    "tablename2"
    };

    Configuration conf = HBaseConfiguration.create();
    conf.set("hbase.zookeeper.quorum", "zk1,zk2,zk3");

    Connection connection = ConnectionFactory.createConnection(conf);
    Admin admin = connection.getAdmin();

    for (String table : tableList) {
    TableName table_name = TableName.valueOf(table);
    if (admin.tableExists(table_name)) {
    admin.majorCompact(table_name);
    System.out.println("[------]major compact " + table_name.getNameAsString());
    }
    }
    admin.close();
    connection.close();
    }
    }

  • 相关阅读:
    yolo v2使用总结
    Oozie 实战之 shell
    Oozie 之 sqoop 实战
    Oozie 实战之 Hive
    Oozie wordcount实战
    Oozie 安装及 examples app 的使用
    Oozie是什么
    Flume使用(案例分析)
    一个数据仓库的设计架构
    Flume是什么
  • 原文地址:https://www.cnblogs.com/changsblogs/p/11890949.html
Copyright © 2020-2023  润新知