当前位置: 首页 > wzjs >正文

企业网站开发前后台模块设计百度网盘官方网站

企业网站开发前后台模块设计,百度网盘官方网站,国内个人网站建设,wordpress做在线商城背景 最近在研究了一下 Starrocks的tablet的Rebalance的能力,这里进行记录一下 本文基于 StarRocks 3.3.5 结论 数据的rebalance 主要以两种模式来进行: 按照磁盘的使用率进行移动,如果每个BE的磁盘使用率不足tablet_sched_balance_load_…

背景

最近在研究了一下 Starrocks的tablet的Rebalance的能力,这里进行记录一下
本文基于 StarRocks 3.3.5

结论

数据的rebalance 主要以两种模式来进行:

  1. 按照磁盘的使用率进行移动,如果每个BE的磁盘使用率不足tablet_sched_balance_load_disk_safe_threshold(默认是50%),
    或者 BE间磁盘的最大使用率和最小使用率相差不超过tablet_sched_balance_load_score_threshold(默认10%),就认为不需要进行数据均衡
  2. 以tablet的副本数量进行移动,不断把副本从副本数多的BE节点 转移到 副本数少的节点上
  3. 以BE内的磁盘使用率为基准,按照高磁盘使用率往低磁盘使用率的原则进行数据迁移
  4. 以BE内的各个路径的tablets副本数据为基准 ,按照路径中副本数高的往副本数低的原则进行数据秦阿姨

其中里面设计到的移动都是以 tablet Replica(副本)为单位进行移动的,
且统计信息的来源是来自SystemInfoService,对于每个磁盘类型(HDD,SSD)都会做Rebalance操作

分析

统计信息的来源

ClusterLoadStatistic的统计信息,这个是来自于SystemInfoService,而最终的信息是来源于 BE和 FE进行交互的FrontendServiceImpl,BE会上报给FE信息,这些信息
在FE则会调用 ReportHandler的 exec方法,从而更新到 SystemInfoService中。

 @Overrideprotected void exec() {if (tasks != null) {ReportHandler.taskReport(beId, tasks);}if (disks != null) {ReportHandler.diskReport(beId, disks);}if (tablets != null) {ReportHandler.tabletReport(beId, tablets, reportVersion);}if (activeWorkGroups != null) {ReportHandler.workgroupReport(beId, activeWorkGroups);}if (resourceUsage != null) {ReportHandler.resourceUsageReport(beId, resourceUsage);}if (dataCacheMetrics != null) {ReportHandler.datacacheMetricsReport(beId, dataCacheMetrics);}}

tablet调度数据流

其中最主要的数据流如下:

TabletScheduler.runAfterCatalogReady||\/
TabletScheduler.schedulePendingTablets //一次性调度队列中剩余的所有的Rebalance任务||\/
TabletScheduler.handleRunningTablets // 取消超时的Rebalance任务,这个超时时间是根据 TabletSchedCtx.getApproximateTimeoutMs 方法获取的||\/
TabletScheduler.selectTabletsForBalance||\/
Rebalancer.selectAlternativeTablets => selectAlternativeTabletsForCluster ||\/balanceClusterDisk ||\/balanceClusterTablet||\/balanceBackendDisk||\/balanceBackendTablet||\/
handleForceCleanSchedQ    // 如果有用户调用了`CLEAN TABLET SCHEDULER QUEUE`命令,则会强制清除包括正在运行的所有的数据Rebalance任务||\/
stat.counterTabletScheduleRound.incrementAndGet() // 记录tablet schedule调度的次数

其中 balanceClusterDisk balanceClusterTablet balanceBackendDisk balanceBackendTablet 分别对应上述的1 2 3 4 四点。

http://www.dtcms.com/wzjs/333518.html

相关文章:

  • 苏州网站建站公司百青藤广告联盟
  • 做网站头文件广州谷歌优化
  • 深圳网站建设服务哪家专业网站展示型推广
  • 自考本科条件站长工具seo查询
  • 社交网站开发公司凡科建站手机版登录
  • wordpress腾讯云邮件发送站内seo优化
  • 公司建设网站网站建设的一般步骤
  • 潍坊网站建设优化深圳市企业网站seo
  • 贺兰网站建设京东关键词优化技巧
  • 电脑做网页用什么软件中山口碑seo推广
  • 一号网站建设中央常委成员名单
  • 电商网站建设平台刷网站百度关键词软件
  • 专业建站策划网络事件营销案例
  • 比特币交易网站可以做空吗个人网页模板
  • 市场营销计划书模板济南seo外包服务
  • 景观设计师证怎么考南昌seo教程
  • 做seo网站app推广方法
  • 品牌网站建设优化公司口碑营销例子
  • 重庆高端网站建设佛山网站快速排名提升
  • 网站开发费怎么做会计分录北京seo服务商找行者seo
  • 衡阳衡南网站建设搜索引擎优化课程
  • 怎么做网站信息网络舆情监测与研判
  • 网站更换贵阳网络推广排名
  • 美国免费网站空间seo专员工资一般多少
  • 网站不收录怎么解决联赛积分榜排名
  • 北京网站推广站长工具是干嘛的
  • 如何在线制作印章朝阳seo搜索引擎
  • 清新网站模板可以免费发广告的网站
  • 做刀模网站临沂百度公司地址
  • 做网站和做小程序哪个好温州网站建设开发