一种作业调度的方法和自学习调度器技术

技术编号:12807094 阅读:62 留言:0更新日期:2016-02-03 21:13
本发明专利技术提供一种作业调度的方法和自学习调度器,该作业调度的方法,包括:确定作业,并将所述作业切分成各个子作业,确定外设的当前节点和所述当前节点的资源信息;根据所述外设的当前节点的资源信息,判断所述各个子作业中是否包含至少一个能在所述外设的当前节点中运行的目标子作业,如果是,将所述至少一个目标子作业分配给所述外设的当前节点,通过该方法是根据节点的资源信息为节点分配该节点能够运行的作业,实现了为节点合理分配作业的目的。

【技术实现步骤摘要】

本专利技术涉及计算机
,特别涉及一种作业调度的方法和自学习调度器
技术介绍
资源调度器是Hadoop YARN中最核心的组件之一,负责整个集群作业的管理和分 配。目前,资源调度器进行作业调度的方式:资源调度器平均的将作业分配为各个原子小作 业,并保证Hadoop YARN中每一个节点均被分配至少一个原子小作业,但是,当某一个节点 不能够运行分配给它的原子小作业时,将导致该节点空闲,而对应的原子小作业也不能被 及时处理,例如:某一作业对应的各个原子小作业最少占用内存为2G,而某一节点能够运 行的内存仅为1G,那么,如果该节点被分配了该2G的原子小作业,该节点不能够成功的运 行,造成作业与节点间不能够被合理分配。
技术实现思路
本专利技术提供一种作业调度的方法和自学习调度器,从而为节点合理分配作业。 一种作业调度的方法,确定作业,并将所述作业切分成各个子作业,还包括: 确定当前节点和所述当前节点的资源信息; 根据所述当前节点的资源信息,判断所述各个子作业中是否包含至少一个能在所 述当前节点中运行的目标子作业,如果是,将所述至少一个目标子作业分配给所述当前节 点。 优选地,上述方法进一步包括: 收集样例作业的特征; 根据所述样例作业的特征,构建分类模型,并确定分类阈值; 所述判断所述各个子作业中是否包含至少一个能在所述当前节点中运行的目标 子作业,包括:利用所述分类模型和所述各个子作业对应的特征,计算所述各个子作业对应 的分类值,并判断所述计算出的每一个分类值是否小于等于所述分类阈值,确定小于等于 所述分类阈值的分类值对应的子作业为目标子作业。 优选地,所述根据所述历史作业的特征,建立分类模型,包括: 根据下述公式,迭代计算所述样例作业的平均CPU利用率、平均网络利用率、平均 磁盘I/O利用率和平均磁盘利用率分别对应的权重值; 将所述权重值代入下述公式,确定分类模型; 其中,X。表征子作业特征的标量值;x p x2、x;5、X4分别表征子作业的平均CPU利用 率、平均网络利用率、平均磁盘I/O利用率和平均磁盘利用率中的一种;Θ表征子作业的各 个特征对应的权重值;a表征子作业的子分类值;h e表征子作业的分类值。 优选地,所述将所述至少一个目标子作业分配给所述当前节点,包括: 确定所述至少一个目标子作业的优先级; 根据所述优先级,依次将所述至少一个目标子作业分配给所述当前节点。 优选地,所述确定当前节点,包括: 接收各个节点定时以心跳包的方式发送的资源信息; 根据所述资源信息,选择一个资源空置的节点作为当前节点。 优选地,所述确定所述至少一个目标子作业的优先级,包括: 确定等待时长越长的目标子作业优先级越高; 对于等待时长相同的至少两个目标子作业,确定对资源利用率越小的目标子作业 优先级越尚。 优选地,上述方法应用于Hadoop yarn集群中,所述当前节点为所述Hadoop yarn 集群中资源空置的NodeManager。 一种自学习调度器,包括: 资源确定单元,用于确定外设的当前节点和所述当前节点的资源信息; 判断单元,用于根据所述资源确定单元确定的所述外设的当前节点的资源信息, 判断所述各个子作业中是否包含至少一个能在所述外设的当前节点中运行的目标子作业, 如果是,则触发分配单元; 所述分配单元,用于在接收到所述判断单元的触发时,将所述至少一个目标子作 业分配给所述外设的当前节点。 优选地,上述自学习调度器进一步包括:构建单元,其中, 所述构建单元,用于收集样例作业的特征,根据所述样例作业的特征,构建分类模 型,并确定分类阈值; 所述判断单元,用于利用所述构建单元构建的分类模型和所述各个子作业对应的 特征,计算所述各个子作业对应的分类值,并判断所述计算出的每一个分类值是否小于等 于所述分类阈值,确定小于等于所述分类阈值的分类值对应的子作业为目标子作业。 优选地,所述分配单元,用于确定所述至少一个目标子作业的优先级,并根据所述 优先级,依次将所述至少一个目标子作业分配给所述外设的当前节点。 优选地,所述资源确定单元,用于接收外设的各个节点定时以心跳包的方式发送 的资源信息,并根据所述资源信息,选择资源空置的节点作为当前节点。 优选地,所述构建单元,用于根据下述公式,迭代计算所述样例作业的平均CPU利 用率、平均网络利用率、平均磁盘I/O利用率和平均磁盘利用率分别对应的权重值; 将所述权重值代入下述公式,确定分类模型; 其中,X。表征作业特征的标量值;X i、X2、x3、14分别表征样例作业的平均CPU利用 率、平均网络利用率、平均磁盘I/O利用率和平均磁盘利用率中的一种;Θ表征作业的各个 特征对应的权重值;a表征作业的子分类值;h e表征作业的分类值。 优选地,所述分配单元,用于确定等待时长越长的目标子作业优先级越高;对于等 待时长相同的至少两个目标子作业,确定对资源利用率越小的目标子作业优先级越高。 优选地,上述自学习调度器,安装于Hadoop yarn集群的ResourceManager中,通 过 ResourceManager 与所述 Hadoop yarn 集群中的各个 NodeManager 相连。 本专利技术实施例提供了一种作业调度的方法和自学习调度器,该作业调度的方法, 包括:确定作业,并将所述作业切分成各个子作业,确定外设的当前节点和所述当前节点的 资源信息;根据所述外设的当前节点的资源信息,判断所述各个子作业中是否包含至少一 个能在所述外设的当前节点中运行的目标子作业,如果是,将所述至少一个目标子作业分 配给所述外设的当前节点,通过该方法是根据节点的资源信息为节点分配该节点能够运行 的作业,例如,节点空置内存为2G,则为该节点分配的作业的运行占用的内存必须小于2G 才会被分配给该节点,并不会为所有节点分配相同的作业,实现了为节点合理分配作业的 目的。【附图说明】 图1为本专利技术实施例提供的一种作业调度的方法流程图; 图2为本专利技术另一实施例提供的一种作业调度的方法流程图; 图3为本专利技术实施例提供建立分类模型的过程示意图; 图4为本专利技术实施例提供的一种自学习调度器的结构示意图。【具体实施方式】 下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完 整地描述。显然,所描述的实施例仅是本专利技术一部分实施例,而不是全部的实施例。基于本 专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实 施例,都属于本专利技术保护的范围。 如图1所示,本专利技术实施例提供一种作业调度的方法,该方法包括如下步骤: 步骤101 :确定作业,并将作业切分成各个子作业; 步骤102 :确定当前节点和当前节点的资源信息; 步骤103 :根据当前节点的资源信息,判断各个子作业中是否包含至少一个能在 当前节点中运行的目标子作业,如果是,则执行步骤104 ;否则,直接执行步骤105 ; 步骤104 :将该至少一个目标子作业分配给当前节点; 步骤105 :将下一空置节点作为当前节点,并执行步骤102。 在本专利技术一个实施例中,为了能够保证为节点分配的子作业可以在节点上运行, 对于当前节点来说,可以将子作业分为可在当前节点上运行和不可在当前节点上运行两 类,上述方法,进一步包本文档来自技高网...

【技术保护点】
一种作业调度的方法,其特征在于,确定作业,并将所述作业切分成各个子作业,还包括:确定当前节点和所述当前节点的资源信息;根据所述当前节点的资源信息,判断所述各个子作业中是否包含至少一个能在所述当前节点中运行的目标子作业,如果是,将所述至少一个目标子作业分配给所述当前节点。

【技术特征摘要】

【专利技术属性】
技术研发人员:卢军佐曹连超亓开元赵仁明
申请(专利权)人:浪潮集团有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1