Region拆分逻辑

2023-11-04

Region拆分

Region的拆分逻辑是通过CompactSplitThread线程的requestSplit方法来触发的,每当执行MemstoreFlush操作时都会调用该方法进行判断,看是否有必要对目标Region进行拆分。

拆分前提

Region可拆分的前提是需要满足如下约束条件:

  1. 目标RegionServer的线上Region数没有达到hbase.regionserver.regionSplitLimit参数阀值

    该参数的默认值为1000,达到900时RegionServer将会打印警告:Total number of regions is approaching the upper limit。

  2. StoreFile文件数量没有达到hbase.hstore.blockingStoreFiles参数阀值

    此时会优先触发整理操作(详细参考Region整理章节)

  3. 要拆分的Region不属于meta表格

    HBase不支持对meta表格中的Region做拆分操作。

  4. Region没有处于recovering状态(参考Region恢复章节)

  5. 由具体的拆分策略来做决定,通过其shouldSplit方法

    HBase对外提供了5中拆分策略,全部由RegionSplitPolicy派生而来,5中策略分别为:

    • ConstantSizeRegionSplitPolicy

      当Region中某个Store数据量达到hbase.hregion.max.filesize参数阀值时进行拆分

    • IncreasingToUpperBoundRegionSplitPolicy

      当Region中某个Store数据量达到sizeToCheck阀值时进行拆分,sizeToCheck是通过如下方法计算得出的,如果RegionServer上含有指定Table的Region数量在(0,100]之间,返回如下公式的值:

      min(hbase.hregion.max.filesize, regionCount^3 * initialSize)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Region拆分逻辑 的相关文章

  • 从文件读取时在 clojure 中分割行

    我正在学校学习 clojure 马上就要考试了 我只是在做一些事情以确保我掌握了窍门 我试图从文件中逐行读取 正如我所做的那样 只要有 我就想分割该行 到目前为止 这是我的代码 defn readFile map fn line cloju
  • regexp_split_to_table 和 row_number

    我有一个包含字符串数据的表 如下所示 id string data 1 red green blue 2 orange 3 purple cyan 我需要将字符串数据拆分为具有行号的项目 id num item 1 1 red 1 2 gr
  • 将一组对象分成一定数量的组的算法?

    例如 假设我有一个 2D 像素数组 换句话说 一个图像 我想将它们排列成组 以便组数加起来完美达到某个数字 例如 另一个 2D 中的总项目数 像素阵列 目前 我尝试使用比率和像素的组合 但这在完美整数比率 例如 1 2 1 3 1 4 等
  • 正则表达式拆分 key=value

    我有一个像这样的字符串 KEY1 Value1 KE Y2 V LUE2A Value2B Key3 KEY4 V AL UE4 KEY5 Value5 我需要将其拆分以获得带有键值对的 Map 值在 应作为单个值传递 KE Y2是一个关键
  • 从数据框 R 列表中获取列

    我是一个 R 初学者 我被这个问题困扰了 我有一个数据框 并通过使用 split 函数创建了一个数据框列表 例如 dfList lt split mtcars mtcars cyl 现在我想检索特定数据帧的列 例如数据框 1 的第 2 列
  • 如何在 Python 3.x 中删除字符串末尾的数字?

    我想从字符串末尾删除数字 但我不知道 Can the split 方法工作 我怎样才能做到这一点 初始字符串看起来像asdfg123 而我只想asdfg反而 感谢您的帮助 不 split 不起作用 因为 split 只能与要分割的固定字符串
  • 每次向量元素变化时在 R 中分割向量

    每次元素值发生变化时 我都需要分割重复元素组的向量 例如 test vector lt c string1 string1 string1 string2 string2 string1 string1 string3 必须成为 1 1 s
  • 从 Storm Bolt 将行插入 HBase

    我希望能够从分布式 非本地 Storm 拓扑将新条目写入 HBase 有一些 GitHub 项目提供以下任一功能 HBase 映射器 https github com ptgoetz storm hbase or 预制风暴螺栓 https
  • Lua中按字符分割字符串

    我有像这样的字符串 ABC DEF 我需要将它们分开 字符并将两个部分分别分配给一个变量 在 Ruby 中 我会这样做 a b ABC DEF split 显然Lua没有这么简单的方法 经过一番挖掘后 我找不到一种简短的方法来实现我所追求的
  • 每第 n 个字符分割一个字符串

    在 JavaScript 中 这就是我们如何在每 3 个字符处分割一个字符串 foobarspam match 1 3 g 我正在尝试弄清楚如何在 Java 中做到这一点 有什么指点吗 你可以这样做 String s 1234567890
  • 未捕获的类型错误:无法读取未定义的属性“split”

    使用 JavaScript 分割日期并重新排列格式 日期通过 json feed 以 YYYY MM DD 形式提供 为了获得日期 我这样做 var og date v report totalItems 1 inspection date
  • 在bash脚本中分割字符串[重复]

    这个问题在这里已经有答案了 我想分割一个字符串并需要其中的一些参数 USER dn uid dfl3030 cn users cn accounts dc tenant dc ycs dc io cn Reb Lena Schmidt kr
  • 如何使用多个字符的字符串在 PowerShell 中“拆分”字符串?

    当在 PowerShell 中的字符串上使用 Split 运算符并尝试使用包含多个字符的字符串进行拆分时 PowerShell 会表现出奇怪的行为 它使用any字符串中要分割的字符数 例如 PS C Users username gt On
  • 递归分割列表函数 LISP

    split list 函数接受一个列表并返回一个由两个列表组成的列表 其中两个列表由输入的交替元素组成 我写了以下内容 defun split list L cond endp L list NIL NIL t let X split li
  • Python Pandas 从宽到长的格式更改以及列标题拆分

    我有一个包含以下列标题和行示例的表 Subject Test1 Result1 Test1 Result2 Test2 Result1 Test2 Result2 0 John 10 0 5 20 0 3 我想将其改造成 Subject l
  • Java .split("|") 不工作

    我刚刚遇到了一个问题分割法 http docs oracle com javase 6 docs api java lang String html split 28java lang String 29for 字符串不适用于字符 作为一个
  • 用逗号分割字符串到新行

    我有一个像这样的字符串 This is great day tomorrow is a better day the day after is a better day the day after the day after that is
  • 字符串被两个不同的分隔符分割

    我有这样的字符串 some dasd dasd dasdas dasdas dasd das dsad 我需要用两个不同的符号将字符串拆分为数组 and 所以我想得到数组 some dasd dasd dasdas dasdas dasd
  • Java在字符串中看不到空格[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 因此 我正在尝试解析一些具有多行文本的文本文件 我的工作是检查所有单词并将其打印在文件中 因此 我读取了所有行 循环遍历它们并用空格分隔每
  • 如何对逗号和句号使用 re.split?

    我有多个字符串 其中单词用逗号或句点分隔 string apple pear grapes carrot cabbage veggies fruit yard 我想根据逗号和句点来分割它 string apple pear grapes c

随机推荐

  • 如何进行弱网测试?专项测试中最实用的方法了解一下……

    目录 引言 一 什么是弱网测试 二 为何要进行弱网测试 三 如何做弱网测试 四 弱网测试工具 引言 如今这个高度互联的时代里 网络环境对于应用程序的影响越来越重要 而弱网测试就是用来检验应用程序在恶劣网络环境下的表现 如果你是一名开发人员或
  • 【linux shell】服务器系统自动化巡检脚本资源状况统计

    运维服务器系统的时候需要定期检查服务器系统资源状况 如CPU 内存 硬盘这些资源消耗信息统计 在这种情况下也可以用开源的监控系统导出相应的需求信息或者直观的通过监控平台去查看资源状况 本文将介绍另一种方式通过Linux shell脚本实现服
  • 0xA00F4244<NoCamerasAttached>相机打不开解决办法

    0xA00F4244 NoCamerasAttached 依次排查 ctrl s 搜索 设备管理器 打开找到 照相机 如图1 如果为灰色 说明设置里头相机权限没有打开 可以去设置打开如图2 也可以fn f10 打开之后 返回 设备管理器 窗
  • 基于fasttext的新客服文本分类

    基于fasttext的新客服文本分类效果评估 具体步骤如下 数据处理 模型搭建 效果评估 结论 第一部分数据处理包括 数据读取 数据标准化格式处理 训练集和验证集数据准备 数据读取 import pandas as pd df pd rea
  • City Horizon

    http acm hust edu cn 8080 judge contest viewProblem action pid 45728 Description Farmer John has taken his cows on a tri
  • C语言文件读写命令

    C语言把磁盘文件看成是字符 或字节 的序列 按照存储信息的形式来说 文件主要是有文本文件和二进制文件 文本文件由一个个字符组成 每个字节存放一个ASCII码制 代表一个字符 二进制文件把内存中的数据按其在内存中的存储形式原样放入磁盘空间 二
  • Linux编程基础之文本文件末尾自动加换行

    目录 前言 hello txt 文件内容 证明 总结 前言 操作系统 Fedora 文本文件末尾会自动加换行 利用 off t oldpos lseek fd 0 SEEK END 指针定位会到最后一个字符 都是换行符 后面一位 相当于什么
  • c++基础学习

    创建c 程序 include
  • ISCC2023全国大学生网络信息安全竞赛

    竞赛入口 http www isclab org cn 1 竞赛简介 信息安全已涉及到国家政治 经济 文化 社会和生态文明的建设 信息系统越发展到它的高级阶段 人们对其依赖性就越强 从某种程度上讲其越容易遭受攻击 遭受攻击的后果越严重 网络
  • linux创建新用户

    1 添加用户 adduser test 设置密码 passwd test 2 添加root权限 1 chmod 755 etc sudoers vi etc sudoers 文件 找到下面一行 把前面的注释 去掉 Allows people
  • 数据集市项目的总结

    本人毕业就在某银行信用卡中心工作 做了数据集市项目 据说投资3000万 后来在阿里做数据产品经理的工作 想把过去的工作总结一下 不管成功和失败 都是一种经历 于是有了下面的文字
  • 使用二分法实现在一个有序列表中查找指定的元素

    二分法是一种快速查找的方法 时间复杂度低 逻辑简单易懂 总的来说就是不断的除以2除以2 例如需要查找有序数组arr里面的某个关键字key的位置 那么首先确认arr的中位数或者中点center 下面分为三种情况 1假如arr center g
  • es多字段分组去重统计

    es多字段分组去重统计 oracle中sql select a1 b1 from dual group by a1 b1 或 select DISTINCT a1 b1 from dual es分组去重统计 话不多说 直接贴代码 Terms
  • 【云原生之kubernetes】kubernetes集群下ConfigMap使用方法

    云原生之kubernetes kubernetes集群下ConfigMap使用方法 一 ConfigMap介绍 1 ConfigMap介绍 2 ConfigMap特点 二 生成一个ConfigMap示例 1 命令生成 2 configmap
  • uboot学习之Makefile之配置过程

    uboot 1 1 6源码分析 分析配置过程 1 安装交叉编译工具arm linux gcc 否则编译报错 2 执行make canmb config MKCONFIG a canmb ppc mpc5xxx canmb 1 MKCONFI
  • 自动化测试入门

    1 初识自动化测试 如果以前没有做过自动化测试 那么就不了解自动化测试 可能会觉得自动化测试比较神秘 但是 我们在日常的计算机操作中 可能会碰到一些自动化处理的过程 这些过程和自动化测试比较接近 例如 Windows操作系统的控制面板中 有
  • windows 控制台通过密码连接redis

    Redis 访问密码设置 1 修改密码 打开redis conf文件 先使用字符匹配查找到requirepass foobared对应的位置 然后修改foobared成自己想要的密码 并删除当前行前面的 注释 然后保存退出 2 重启redi
  • Vulkan-NCNN 编译

    首先安装一些依赖 sudo install build essentials git cmake libprotobuf dev protobuf compiler libvulkan dev glslang tools vulkan to
  • 第28章 案例开发

    第28章 案例开发 视频讲解 23分钟 对于JavaScript初学者来说 尝试开发小型的难度适中的应用程序或游戏 能够培养学习乐趣 激发开发热情 本章将通过两个相对复杂的案例 帮助读者上机进行JavaScript实战训练 为日后的开发实习
  • Region拆分逻辑

    Table of Contents Region拆分 拆分前提 获取拆分点 执行拆分 回滚操作 Region拆分 Region的拆分逻辑是通过CompactSplitThread线程的requestSplit方法来触发的 每当执行Memst