一种kudu的基于大小的数据库数据均衡系统及实现方法与流程

文档序号:20700595发布日期:2020-05-12 15:38阅读:928来源:国知局
本发明涉及数据库领域,具体地说是一种kudu的基于大小的数据库数据均衡系统及实现方法。
背景技术
::hadoop生态系统有很多组件,每一个组件有不同的功能。在现实场景中,用户往往需要同时部署很多hadoop工具来解决一个问题。比如,用户需要利用hbase的快速插入、快读randomaccess的特性来导入数据,同时用户使用hdfs/parquet+impala/hive来对超大的数据集进行查询分析。很多公司都成功地部署了hdfs/parquet+hbase混合架构,然而这种架构较为复杂,而且在维护上也十分困难,还会产生数据的延迟。海量结构化存储期望以一种简单的架构存储结构化数据,达到hbase快速导入快速查询、parquet超大数据分析的效果,同时解决数据延迟问题。kudu致力于到达以下目的:(1)对数据扫描(scan)和随机访问(randomaccess)同时具有高性能,简化用户复杂的混合架构;(2)充分利用先进cpu与i/o资源;(3)支持数据的原地更新,避免额外的数据处理、数据移动。海量结构化存储在大数据仓库平台中用于存储结构化数据,定位于快速变化数据的快速分析型数据仓库,并在此基础上进行大数据分析、数据挖掘和机器学习等。kudu是一种分布式列式存储引擎,能支持快速数据的快速分析。kudu的分布式集群架构采用主从架构,节点分为masterserver和tabletserver节点。masterserver为各节点的管理者,tabletserver为实际数据的存储节点。逻辑模型采取的是一种类关系数据模型,一个table按照指定的主键分区规则拆封成若干个tablet,当写入数据时数据会根据分区规则自动写入预先创建表时指定的tabletserver中指定的tablet中。在集群正常的情况下,已创建表的tablet在各tabletserver中的分布不会变化,这样随着数据的写入各tabletserver的大小可能由于数据分布的原因存在失衡,这样会导致存储热点。故如何实现kudu的基于大小的数据库数据均衡是目前急需解决的技术问题。技术实现要素:本发明的技术任务是提供一种kudu的基于大小的数据库数据均衡系统及实现方法,来解决如何实现kudu的基于大小的数据库数据均衡的问题。本发明的技术任务是按以下方式实现的,一种kudu的基于大小的数据库数据均衡系统,该系统包括,数据均衡条件检测模块,用于检测是否执行数据均衡操作;待迁移tablet选择模块,用于选择出需要迁移的tablet以及迁移到的节点;tablet迁移执行模块,用于执行实际数据迁移。作为优选,所述数据均衡条件检测模块的工作过程如下:(一)判断是否存在正在执行的迁移任务:a、若存在正在迁移的任务,则跳转至步骤(四);b、若没有正在执行的迁移任务,则执行步骤(二);(二)、计算当前情况下占用磁盘空间最大与最小的节点的差值,判断差值是否超过阀值(阀值即为设定的值,如20%):a、若差值未超过阀值,则跳转至步骤(四);b、若差值超过阀值,则执行步骤(三);(三)、启动待迁移tablet选择模块;(四)检测完毕,等待下次检测任务开始。更优地,所述数据均衡条件检测模块还用于设置循环执行的时间间隔,即设置数据均衡条件检测模块的执行检测周期,执行检测周期根据实际业务数据变化情况设置,执行检测周期越短,越不容易出现数据存储热点。更优地,所述步骤(二)中的阀值是指数据倾斜大小最大值,数据倾斜大小最大值是占用磁盘空间最大节点与最小节点的数据差值,根据磁盘具体情况进行自由指定。更优地,所述待迁移tablet选择模块的工作过程如下:(1)、选择出占用磁盘空间最大的节点,并选择出该节点中待迁移的tablet;(2)、选择出目的迁移节点,确定待迁移的tablet副本所在的节点,并在待迁移的tablet副本节点以外的节点中选择出占用磁盘比较小的节点作为目标迁移节点。更优地,所述步骤(1)中待迁移的tablet满足如下条件:a、待迁移的tablet在角色不为leader;b、在满足条件(a)的基础上最大的tablet。更优地,所述tablet迁移执行模块的工作过程如下:①、在经过数据均衡条件检测模块和待迁移tablet选择模块后,选择出要迁移的tablet以及目标节点;②、通过kudu命令执行迁移命令,并将该tablet的信息缓存,供数据均衡条件检测模块判断迁移是否完成使用。一种kudu的基于大小的数据库数据均衡实现方法,该实现方法步骤如下:s1、缓存获取正在迁移的table;s2、利用数据均衡条件检测模块判断是否存在正在执行的迁移任务:a、若存在正在迁移的任务,则跳转至步骤s10;b、若没有正在执行的迁移任务,则执行步骤s3;s3、计算当前情况下占用磁盘空间最大与最小的节点的差值,判断差值是否超过阀值:a、若差值未超过阀值,则跳转至步骤s10;b、若差值超过阀值,则执行步骤s4;s4、获取磁盘使用最大的源host;s5、获取源host最大的table,并利用待迁移tablet选择模块选择出该节点中待迁移的tablet;其中,待迁移的tablet满足如下条件:①、待迁移的tablet在角色不为leader;②、在满足条件①的基础上最大的tablet;s6、选择出目的迁移节点,确定待迁移的tablet副本所在的节点,并在待迁移的tablet副本节点以外的节点中选择出占用磁盘比较小的节点作为目标迁移节点,即选择三副本之外的目标host,请确保一个目标host仅仅在一台机器上;s7、判断是否符合迁移条件:a、若符合,则执行步骤s8;b、若不符合,则跳转至步骤s10;s8、利用tablet迁移执行模块执行实际数据迁移,命令行往目标host添加副本,缓存迁移信息;s9、命令行从源host移除副本,删除缓存信息;s10、检测结束,等待下次检测任务开始。本发明的kudu的基于大小的数据库数据均衡系统及实现方法具有以下优点:本发明实现kudu的基于大小的数据库数据均衡,且数据均衡条件检测模块的执行周期以及数据倾斜大小最大值均可以自行设定,数据均衡条件检测模块的执行周期可以根据实际业务数据变化情况设置执行检测的周期,一般时间越短,越不容易出现数据存储热点;数据倾斜大小最大值即占用磁盘最大节点跟最小节点的数据差值,可以根据磁盘具体情况进行自由指定,可以满足不同条件下数据库数据均衡,适用范围广。附图说明下面结合附图对本发明进一步说明。附图1为kudu的基于大小的数据库数据均衡实现方法的流程框图。具体实施方式参照说明书附图和具体实施例对本发明的一种kudu的基于大小的数据库数据均衡系统及实现方法作以下详细地说明。实施例1:本发明的kudu的基于大小的数据库数据均衡系统,该系统包括,数据均衡条件检测模块,用于检测是否执行数据均衡操作;工作过程如下:(一)判断是否存在正在执行的迁移任务:a、若存在正在迁移的任务,则跳转至步骤(四);b、若没有正在执行的迁移任务,则执行步骤(二);(二)、计算当前情况下占用磁盘空间最大与最小的节点的差值,判断差值是否超过阀值(阀值即为设定的值,如20%):阀值是指数据倾斜大小最大值,数据倾斜大小最大值是占用磁盘空间最大节点与最小节点的数据差值,根据磁盘具体情况进行自由指定。a、若差值未超过阀值,则跳转至步骤(四);b、若差值超过阀值,则执行步骤(三);(三)、启动待迁移tablet选择模块;(四)检测完毕,等待下次检测任务开始。其中,数据均衡条件检测模块还用于设置循环执行的时间间隔,即设置数据均衡条件检测模块的执行检测周期,执行检测周期根据实际业务数据变化情况设置,执行检测周期越短,越不容易出现数据存储热点。待迁移tablet选择模块,用于选择出需要迁移的tablet以及迁移到的节点;工作过程如下:(1)、选择出占用磁盘空间最大的节点,并选择出该节点中待迁移的tablet;待迁移的tablet满足如下条件:a、待迁移的tablet在角色不为leader;b、在满足条件(a)的基础上最大的tablet。(2)、选择出目的迁移节点,确定待迁移的tablet副本所在的节点,并在待迁移的tablet副本节点以外的节点中选择出占用磁盘比较小的节点作为目标迁移节点。tablet迁移执行模块,用于执行实际数据迁移;工作过程如下:①、在经过数据均衡条件检测模块和待迁移tablet选择模块后,选择出要迁移的tablet以及目标节点;②、通过kudu命令执行迁移命令,并将该tablet的信息缓存,供数据均衡条件检测模块判断迁移是否完成使用。实施例2:如附图1所示,本发明的kudu的基于大小的数据库数据均衡实现方法,该实现方法步骤如下:s1、缓存获取正在迁移的table;s2、利用数据均衡条件检测模块判断是否存在正在执行的迁移任务:a、若存在正在迁移的任务,则跳转至步骤s10;b、若没有正在执行的迁移任务,则执行步骤s3;s3、计算当前情况下占用磁盘空间最大与最小的节点的差值,判断差值是否超过阀值:a、若差值未超过阀值,则跳转至步骤s10;b、若差值超过阀值,则执行步骤s4;s4、获取磁盘使用最大的源host;s5、获取源host最大的table,并利用待迁移tablet选择模块选择出该节点中待迁移的tablet;其中,待迁移的tablet满足如下条件:①、待迁移的tablet在角色不为leader;②、在满足条件①的基础上最大的tablet;s6、选择出目的迁移节点,确定待迁移的tablet副本所在的节点,并在待迁移的tablet副本节点以外的节点中选择出占用磁盘比较小的节点作为目标迁移节点,即选择三副本之外的目标host,请确保一个目标host仅仅在一台机器上;s7、判断是否符合迁移条件:a、若符合,则执行步骤s8;b、若不符合,则跳转至步骤s10;s8、利用tablet迁移执行模块执行实际数据迁移,命令行往目标host添加副本,缓存迁移信息;s9、命令行从源host移除副本,删除缓存信息;s10、检测结束,等待下次检测任务开始,其中,数据均衡条件检测模块的执行检测周期设定5分钟一次。最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1