hbase手动compact与split

Hbase手动split、compact、merge、批量合并分区 通过以上手动Split方法可临时性解决Region倾斜问题。merge_regions .通过以上手动Split方法可临时性解决Region倾斜问题 阅读详情

 

2016年08月28日 14:07:25 小小程序员1986 阅读数:1405

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.youkuaiyun.com/jethai/article/details/52345352

#!/bin/bash

die () {
    echo >&2 "$@"
    echo "usage:"
    echo "       $0 check|split table_name [split_size]"
    exit 1
}

[[ "$#" -lt 2 ]] && die "at least 2 arguments required, $# provided"

COMMAND=$1
TABLE=$2
SIZE="${3:-1073741824}"

split() {
    region_key=`python /home/hduser/hbase/hbase-scan.py -t hbase:meta -f "RowFilter (=, 'substring:$1')"`
    echo "split '$region_key'" | hbase shell
}

if [ "$COMMAND" != "check" ] ; then
    for region in `hadoop fs -ls /hbase/data/default/$TABLE | awk {'print $8'}`
    do
        [[ ${region##*/} =~ ^\. ]] && continue
        [[ `hadoop fs -du -s $region | awk {'print $1'}` -gt $SIZE ]] && split ${region##*/}
    done

    # check after split
    sleep 60
fi

for region in `hadoop fs -ls /hbase/data/default/$TABLE | awk {'print $8'}`
do
    [[ ${region##*/} =~ ^\. ]] && continue
    [[ `hadoop fs -du -s $region | awk {'print $1'}` -gt $SIZE ]] && echo "${region##*/} (`hadoop fs -du -s -h $region | awk {'print $1 $2'}`) is a huge region" || echo "${region##*/} (`hadoop fs -du -s -h $region | awk {'print $1 $2'}`) is a small region"
done

 

hbase-scan.py

 
  1. import subprocess

  2. import datetime

  3. import argparse

  4. import csv

  5. import gzip

  6. import happybase

  7. import logging

  8.  
  9. def connect_to_hbase():

  10.     return happybase.Connection('itr-hbasetest01')

  11.  
  12. def main():

  13.     logging.basicConfig(format='%(asctime)s %(name)s %(levelname)s: %(message)s',level=logging.INFO)

  14.  
  15.     argp = argparse.ArgumentParser(description='EventLog Reader')

  16.     argp.add_argument('-t','--table', dest='table', default='eventlog')

  17.     argp.add_argument('-p','--prefix', dest='prefix')

  18.     argp.add_argument('-f','--filter', dest='filter')

  19.     argp.add_argument('-l','--limit', dest='limit', default=10)

  20.  
  21.     args = argp.parse_args()

  22.  
  23.     hbase_conn = connect_to_hbase()

  24.  
  25.     table = hbase_conn.table(args.table)

  26.     logging.info("scan start")

  27.     scanner = table.scan(row_prefix=args.prefix, batch_size=1000, limit=int(args.limit), filter=args.filter)

  28.     logging.info("scan done")

  29.     i = 0

  30.     for key, data in scanner:

  31.         logging.info(key)

  32.         print key

  33.         i+=1

  34.  
  35.     logging.info('%s rows read in total', i)

  36.  
  37. if __name__ == '__main__':

  38.     main()

 

本文出自 “点滴积累” 博客,请务必保留此出处http://tianxingzhe.blog.51cto.com/3390077/1717714

Hbase Split 解析 HBase Split是hbase根据一定的触发条件和一定的分裂策略将HBase的一个region进行分裂成两个子region并对父region进行清除处理的过程。Region是HBase中一个非常核心的组织单元,所有的region组成了整个HBase集群,如下面的HBase的体系结构所示:在HBase中,split其实是进行sharding的一种技术手段,通过HBase的split条件和split 阅读详情

相关推荐

Frida精准定位Shopee x-sap-ri动态签名生成函数

x-sap-ri是Shopee客户端生成的上下文感知型动态令牌,本质为基于设备标识、请求路径与毫秒级时间戳三元组的SHA256哈希值,经Base64编码后作为防重放与防批量伪造的核心校验字段。其生成逻辑深度混淆且跨Java/Native层,静态分析失效,而Frida凭借内存级函数调用拦截与JNI层穿透能力,成为唯一可行的技术路径。本文聚焦Frida在加固App中的实战适配——通过libcrypto.so API特征扫描反向定位被抹名的生成函数,实现对x-sap-ri输入参数(如16字节device_id加密

weixin_33978578的博客 610

HBase-拆分&合并

本文来自转载,转载地址:https://www.jianshu.com/p/7359a1789d24 1 Region拆分 一个Region代表一个表的一段Rowkey的数据集合,当Region太大,Master会将其拆分。Region太大会导致读取效率太低,遍历时间太长,通过将大数据拆分到不同机器上,分别查询再聚合,Hbase也被人称为“一个会自动分片的数据库”。Region可以手动...

weixin_30917213的博客 594

告别高延迟!用RV1106+4G模块+libdatachannel搭建低功耗WebRTC监控,保姆级避坑指南

本文详细介绍了如何利用RV1106低功耗处理器、4G模块和libdatachannel库构建嵌入式WebRTC监控系统,解决高延迟问题。通过硬件选型、系统优化和核心代码实现,提供了一套完整的低功耗实时视频传输方案,特别适合智能安防和工业物联网应用。

weixin_42527401的博客 192

hbase split

Region Split Region大小超过阀值(可以是hbase.hregion.max.filesize也可以是建表时列族配置的大小)后会触发Split,由RegionServer负责来拆分region并且offline下线该region。随后将两个子region添加到hbase:meta并在RegionServer上打开后汇报给HMaster。默认情况下Region会自动触发split,同时也可以手动运行split命令。 Region Split可以手动split也可以自动split(建议),其中

mnasd的博客 1506

ROS环境下UR机械臂与Realsense相机手眼标定实战指南

本文提供了在ROS环境下,对UR机械臂与Realsense相机进行手眼标定的完整实战指南。详细介绍了从环境搭建、软件包安装、硬件配置到分步数据采集与计算的完整流程,并分享了常见的避坑技巧与精度优化方法,旨在帮助开发者高效、准确地完成标定,为后续的机器人视觉应用奠定坚实基础。

sunny的博客 648

Vivado IP核:AXI Uartlite的使用经验分享

1. IP基本设置 在Vivado中,打开IP Catalog,搜索“uart”: 双击“AXI Uartlite”,进入IP配置界面: 这里可以配置IP的具体参数,设置时钟频率、波特率等,完成后,生成IP即可。 2. IP的时序特点 点击下面的链接可以下载该IP核的官方指导文档: https://china.xilinx.com/support/documentation/ip_docume...

weixin_43265132的博客 1万+

hbase 之 split

首先split的触发条件是:

牧童的专栏 810

clock min pulse width检查

高电平脉宽 = clock fall edge到达FF/CK的时间 - clock rise edge到达FF/CK的时间;低电平脉宽 = 下一T clock rise edge到达FF/CK的时间 - clock fall edge到达FF/CK的时间。而required pulse width是根据FF/CK处的transition,根据查找表计算得到的。为什么clock transition越大,会导致required pulse width越大呢?5、 降低clock上的串扰。

芯冰乐 577

hbase split分裂Pre-splitting自动split手动split和split分裂过程

//自动splitting 公式 原理等中讲到了:而0.94版本中,IncreasingToUpperBoundRegionSplitPolicy 是默认的split策略。这个策略中,最小的分裂大小和table的某个region server的region 个数有关,当store file的大小大于如下公式得出的值的时候就会split,公式如下Min (R^2 “hbase.hregion.me...

weixin_34192732的博客 597

华为OD机试双机位C卷-员工派遣(Py/Java/C/C++/Js/Go)

华为OD机试双机位C卷【员工派遣】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解。华为OD机试- 员工派遣,华为OD机考 - 员工派遣。

qq_45776114的博客 1671

[QMT量化交易小白入门]-二十八、有了回测年化收益好的策略,如何在QMT量化实盘呢(附python代码解析)

本专栏主要是介绍QMT的基础用法,常见函数,写策略的方法,也会分享一些量化交易的思路,大概会写100篇左右。QMT的相关资料较少,在使用过程中不断的摸索,遇到了一些问题,记录下来和大家一起沟通,共同进步,自己淋过雨了,希望大家都有一把伞。

木头大左的博客 2927

JAVA hbase groupby_hbase手动compact与split

#!/bin/bashdie(){echo>&2"$@"echo"usage:"echo"$0check|splittable_name[split_size]"exit1}[["$#"-lt2]]&&die"atleast2argumentsrequired,$#provided"COMMAND=$1TAB...

weixin_42548708的博客 186

【PCIe 总线及设备入门学习专栏 3.2.2 -- PCIe 中什么是 SR-IOV】

SR-IOV(Single Root I/O Virtualization)是 PCIe 规范中的一种技术,允许物理 PCIe 设备(称为 Physical Function, PF)虚拟化为多个虚拟设备(称为 Virtual Functions, VFs),使多个操作系统或虚拟机能够共享同一个物理设备。SR-IOV:一种 PCIe 虚拟化技术,允许将一个物理 PCIe 设备虚拟化为多个虚拟设备。:物理设备的主要管理接口。:PF 的轻量级副本,分配给虚拟机或操作系统。

CodingCos的博客 1513

Hbase学习笔记(四)——存储的三个机制(Flush、Compact、Split)

Hbase——存储的三个机制一、Flush二、Compact三、Split 一、Flush 当MemStore中的数据量达到阈值,就将数据Flush到HDFS中,以Storefile形式存储。 触发条件: 当某个store中的memstore的存储达到 128M hbase.hregion.memstore.flush.size = 134217728 当整个region所使用的...

AidenBrett7的博客 685

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

HBase服务端配置优化策略

版权声明:未经允许,随意转载,请附上本文链接谢谢(づ ̄3 ̄)づ╭❤~ HBase服务端配置优化策略 影响HBASE性能的几个因素 JVM内存分配与GC回收策略 与HBASE运行机制相关的部分配置不合理 表结构设计及用户使用方式不合理 HBASE影响性能的几个操作 compact 操作 当HBASE写入时当memstore达到一定的大小会flush到磁盘保存成HFile,...

段渣渣推轮子的飙车场 446

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

082 HBase的几种调优(GC策略,flush,compact,split)

一:GC的调优 1.jvm的内存   新生代:存活时间较短,一般存储刚生成的一些对象   老年代:存活时间较长,主要存储在应用程序中生命周期较长的对象   永久代:一般存储meta和class的信息   2.GC策略   Parrallel New Collector,垃圾回收策略   并行标记回收器(Concurrent Mark-Sweep Collector)   3.Parrall...

weixin_34378969的博客 303

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

HBase的优化:HBASE创建表的优化

1. 表的设计 1.1 Pre-Creating Regions 默认情况下,在创建HBase表的时候会自动创建一个region分区,当导入数据的时候,所有的HBase客户端都向这一个region写数据,直到这个region足够大了才进行切分。一种可以加快批量写入速度的方法是通过预先创建一些空的regions,这样当数据写入HBase时,会按照region分区情况,在集群内做数据的负载均衡。 ...

wyqwilliam的博客 1423

hbase bulkload java,HBase基础学习之bulkload了解

之前在学习importTSV我们准备两份数据这两份数据在导入hbase后,数据还是存在的,我们如果想要实现和hive中类似“剪切”的功能该怎么办?这种可以跨过先写入memstore,直接将数据转换为storefile文件。我们来操作第一步:转换为Hfile执行语句/opt/bigdata/hadoop-2.7.3/bin/yarn jar /opt/bigdata/hbase-1.2.1/lib/...

weixin_42110533的博客 371

hbase scan超时设置_如何在优化生产环境的hbase

hbase 是hadoop生态圈的一员,在数据服务应用中具有举足轻重的地位,我们当然有必要掌握,hbase日常的大部分应用在数据查询服务中,因此查询的时候必然涉及到scan操作,因此在建表的时候就要对htable 进行优化,比如设置块缓存,设置过期时间等,设置保留的版本号,这些为什么如此重要?下面详细说,很多时候感觉hbase很多东西,单深入下去之后就会发现hbase设计实在太为精妙,很多东西都是...

weixin_39788792的博客 235

HBase优化

HBase的优化方式1、表设计2、写表3、读表 本文介绍一下HBase通过哪些方式可以达到优化。 1、表设计 (1)建表时就分区(预分区),rowkey设置定长(64字节),CF2到3个。 (2)Max Versio,Time to live,Compact&Split。 2、写表 (1)多Htable并发写,提高吞吐量。 (2)Htable参数设置,手动flush,降低IO。 (3)WriteBuffer。 (4)批量写,减少网络I/O开销。 (5)多线程并发写,结合定时flush和写buffer

hua_ge_zui_liang的博客 199

七、HBASE-07

七、HBASE-07 HBase优化 1、高可用 ​ 在 HBase 中 Hmaster 负责监控 RegionServer 的生命周期,均衡 RegionServer 的负载,如 果 Hmaster 挂掉了,那么整个 HBase 集群将陷入不健康的状态,并且此时的工作状态并不会维持太久。所以 HBase 支持对 Hmaster 的高可用配置。 #1、关闭HBase集群(如果没有来开启则跳过此步) [lyinl@hadoop102 hbase]$ bin/stop-hbase.sh #2、在conf目录

不念人间朝暮的博客 1239

HBase源码分析之memstore的实现及flush处理流程

memstore作为hbase数据写入的核心部分,保障了数据的高效的写入,那其具体是怎么实现的?使用了哪些优化的手段?有哪些关键要素可以控制写入的效率呢?下面我们先来分析一下memstore的实现memstore中的数据存储DefaultMemStore.java // 2个存储数据的集合 volatile CellSkipListSet cellSet; volatile CellSkipList

xiangel的专栏 2653

hbase中compact、split相应配置参数分析

1,   hbase.hregion.majorcompaction   86400000   The time (in miliseconds) between 'major' compactions of all   HStoreFiles in a region.  Default: 1 day.   Set to 0 to disable automated major co

豹先生 6138

HBase--Split和Compact

1 Region拆分 一个Region代表一个表的一段Rowkey的数据集合,当Region太大,Master会将其拆分。Region太大会导致读取效率太低,遍历时间太长,通过将大数据拆分到不同机器上,分别查询再聚合,Hbase也被人称为“一个会自动分片的数据库”。 Region可以手动和自动拆分。 1.1 Region自动拆分 1.1.1 ConstantSizeRegionSplitPo...

好学若饥,谦卑若愚 7841
上一篇: Hbase compact以及split跟踪
下一篇: 大数据-OpenTSDB
王树民
博客等级 码龄10年 912粉丝 560原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值