4冼茂源-HadoopHBase实践及修改定稿.pdfVIP

  • 4
  • 0
  • 约3.65千字
  • 约 17页
  • 2019-07-26 发布于未知
  • 举报
Hadoop/HBase实践及修改 Hadoop/HBase实践及修改 冼茂源 冼茂源 主要讲什么 主要讲什么  介绍我们  介绍我们  知识准备 (在大部分人为较资深玩家时跳  知识准备 (在大部分人为较资深玩家时跳 过) 过)  业务需求、方案及修改  业务需求、方案及修改  HBase  HBase 介绍我们 介绍我们 介绍我们  起点  2010年底  主要应用  搜索数据制作  分析与数据挖掘  业务特点  多业务组共享集群,常规任务与紧急任务并存。  磁盘访问频繁,故障率高  单集群日均任务量两万,对故障节点敏感度高 准备:MapReduce体系结构概要 准备:MapReduce体系结构概要 准备:调度 准备:调度 多业务共享集群:FairScheduler 多业务共享集群:FairScheduler  FaceBook  FaceBook  基于pool和资源槽的调度方式。  基于pool和资源槽的调度方式。  对每个pool提供了“可以确保该pool一定能满足的资源数  对每个pool提供了“可以确保该pool一定能满足的资源数 ” 的一个值。 ” 的一个值。  能够对每个pool 中并行执行的作业task数进行限制。  能够对每个pool 中并行执行的作业task数进行限制。 多业务共享集群:FairScheduler, 多业务共享集群:FairScheduler, 一点点原理分析 一点点原理分析  TaskScheduler继承类  TaskScheduler继承类  定义Hadoop 的mapred.jobtracker.taskScheduler配置项为  定义Hadoop 的mapred.jobtracker.taskScheduler配置项为 FairScheduler 即将Hadoop Scheduler定义为FairScheduler 。 FairScheduler 即将Hadoop Scheduler定义为FairScheduler 。  JobTracker 在启动时会调用Scheduler 的Start方法,  JobTracker 在启动时会调用Scheduler 的Start方法, FairScheduler就在自己的Start方法中启动一个线程,监视 FairScheduler就在自己的Start方法中启动一个线程,监视 各pool状态。 各pool状态。  当FairScheduler发现某些pool没有获得应有的资源时,遍  当FairScheduler发现某些pool没有获得应有的资源时,遍 历已经获得资源的pool ,将超出使用限额的Task杀掉。 历已经获得资源的pool ,将超出使用限额的Task杀掉。  有Task被杀死,就出现了可用的槽位,在JobTracker 调用  有Task被杀死,就出现了可用的槽位,在JobTracker 调用 FairScheduler 的assignTasks方法决定将调用哪些Task首先 FairScheduler 的assignTasks方法决定将调用哪些Task首先 执行时,FairScheduler返回资源未能被满足的Task 。 执行时,FairScheduler返回资源未能被满足的Task 。 需求:多业务共享集群 需求:多业务共享集群  基于FairScheduler ,任务提交时以提交用户 名为标识,将任务分到不同pool 中以达到资 源隔离。 需求:常规任务与紧急任务并存  基于FairScheduler 的Tunnel Job  基于FairScheduler 的Tunnel Job  FairScheduler的实现中,对于同一个pool 中的任务,无法实现  FairScheduler的实现中,对于同一个pool 中的任务,无法实现 抢占功能。我们在FairScheduler 中加入Tunnel Job 的概念及实 抢占功能。我们在FairScheduler 中加入Tunnel Job 的概念及实 现。

文档评论(0)

1亿VIP精品文档

相关文档