System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机,特别是涉及一种容器调度方法、装置、电子设备及介质。
技术介绍
1、容器是一种轻量且可移植的虚拟化技术,用于封装应用程序及其所有依赖项和配置,以便能够在不同的计算机环境中运行。yarn(yet another resource negotiator)是hadoop(分布式系统基础架构)生态系统中的一个资源调度组件,用于资源管理和工作调度,为运算程序提供服务器运算资源。在yarn中,应用程序通过在底层操作系统上运行的容器来执行工作。对于应用程序作业来说,从节点本地读取数据或文件的速度高于从远程机器中读取的速度。然而,当前容器的调度方式中,容器分配具有较大随机性,较少考虑到本地读写优先策略,难以避免不必要的网络io(网络io是指通过网络进行数据交互的过程),导致容器中作业运行效率难以有效提升。
技术实现思路
1、有鉴于此,本专利技术实施例提供了一种容器调度方法、装置、电子设备及介质,在分配容器时优先本地化,保证容器中任务运行的效率,同时为了防止容器分配过于集中的问题,通过设计节点负载均衡的优化目标规避该问题。
2、第一方面,本专利技术实施例提供了一种容器调度方法,包括:
3、构建容器效用函数和负载均衡目标函数,根据所述容器效用函数和所述负载均衡目标函数,确定多目标蚁群算法的信息素更新策略;其中,所述容器效用函数用于指示将目标容器分配到目标计算节点的效用,将目标容器分配到目标计算节点的效用与所述目标计算节点中包括的待读取数据的数量成正比,所述负
4、初始化多目标蚁群算法的初始参数;
5、根据所述多目标蚁群算法的初始参数和所述信息素更新策略,确定容器调度方案。
6、可选的,所述根据所述多目标蚁群算法的初始参数和所述信息素更新策略,确定容器调度方案,包括:建立容器与计算节点的资源约束规则;根据所述多目标蚁群算法的初始参数、所述信息素更新策略和所述资源约束规则,确定容器调度方案。
7、可选的,所述方法还包括:
8、根据待执行作业的容器运行图,将容器划分为mapnode类型和reducenode类型;mapnode类型的容器为发生shuffle前的容器,reducenode类型的容器为发生shuffle后的容器;
9、所述构建容器效用函数,包括:
10、构建第一效用函数和构建第二效用函数;所述第一效用函数用于指示将mapnode类型的容器分配到目标计算节点的效用,所述第二效用函数用于指示将reducenode类型的容器分配到目标计算节点的效用;
11、所述根据所述容器效用函数和所述负载均衡目标函数,确定多目标蚁群算法的信息素更新策略,包括:将所述第一效用函数和所述负载均衡目标函数作为确定mapnode类型的容器的调度方案的信息素第一更新策略,将所述第二效用函数和所述负载均衡目标函数作为确定reducenode类型的容器的调度方案的信息素第二更新策略。
12、可选的,所述根据所述多目标蚁群算法的初始参数和所述信息素更新策略,确定容器调度方案,包括:
13、根据所述多目标蚁群算法的初始参数和所述信息素第一更新策略,确定mapnode类型的容器的第一调度方案;
14、根据所述多目标蚁群算法的初始参数、所述信息素第二更新策略和所述第一调度方案,确定reducenode类型的容器的调度方案。
15、可选的,所述根据所述多目标蚁群算法的初始参数和所述信息素第一更新策略,确定mapnode类型的容器的第一调度方案,包括:
16、构建第一节点候选集,所述第一节点候选集包括存储有所述待执行作业指示的待读取数据的第一计算节点和未存储有所述待读取数据的第二计算节点;
17、根据所述多目标蚁群算法的初始参数和所述信息素第一更新策略,从所述第一节点候选集中确定部署所述mapnode类型的容器的第一目标计算节点,以确定mapnode类型的容器的第一调度方案;
18、所述根据所述多目标蚁群算法的初始参数、所述信息素第二更新策略和所述第一调度方案,确定reducenode类型的容器的调度方案,包括:
19、构建第二节点候选集,所述第二节点候选集包括部署有所述第一目标计算节点和未部署有所述mapnode类型的容器的第三计算节点;
20、根据所述多目标蚁群算法的初始参数、所述信息素第二更新策略,从所述第二节点候选集中确定部署所述reducenode类型的容器的第二目标计算节点,以确定reducenode类型的容器的第二调度方案。
21、可选的,所述根据所述多目标蚁群算法的初始参数和所述信息素第一更新策略,确定mapnode类型的容器的第一调度方案,包括:
22、在所述多目标蚁群算法的首次迭代时,将部分蚂蚁分配到所述第一节点候选集中的第一计算节点中,将剩余的蚂蚁随机分配到所述第一节点候选集中的第二计算节点;
23、所述根据所述多目标蚁群算法的初始参数、所述信息素第二更新策略和所述第一调度方案,确定reducenode类型的容器的调度方案,包括:
24、在所述多目标蚁群算法的首次迭代时,将部分蚂蚁分配到所述第二节点候选集中的第一目标计算节点中,将剩余的蚂蚁随机分配到所述第二节点候选集中的第三计算节点。
25、可选的,所述在所述多目标蚁群算法的首次迭代时,将部分蚂蚁分配到所述第一节点候选集中的第一计算节点中,包括:
26、在所述多目标蚁群算法的首次迭代时,针对每一第一计算节点,根据所述第一计算节点包括的待读取数据块的占比,确定是否将蚂蚁分配到所述第一计算节点。
27、第二方面,本专利技术实施例提供了一种容器调度装置,包括:
28、构建模块,用于构建容器效用函数和负载均衡目标函数,根据所述容器效用函数和所述负载均衡目标函数,确定多目标蚁群算法的信息素更新策略;其中,所述容器效用函数用于指示将目标容器分配到目标计算节点的效用,将目标容器分配到目标计算节点的效用与所述目标计算节点中包括的待读取数据的数量成正比,所述负载均衡目标函数用于指示将所述目标容器分配到所述目标计算节点的均衡程度;
29、初始化模块,用于初始化多目标蚁群算法的初始参数;
30、确定模块,用于根据所述多目标蚁群算法的初始参数和所述信息素更新策略,确定容器调度方案。
31、可选的,所述确定模块还用于:建立容器与计算节点的资源约束规则;根据所述多目标蚁群算法的初始参数、所述信息素更新策略和所述资源约束规则,确定容器调度方案。
32、可选的,所述装置还包括容器划分模块,用于:根据待执行作业的容器运行图,将容器划分为mapnode类型和reducenode类型;mapnode类型的容器为发生shuffle前的容器,reducenode类型的容器为发生shuffle后的容器本文档来自技高网...
【技术保护点】
1.一种容器调度方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述根据所述多目标蚁群算法的初始参数和所述信息素更新策略,确定容器调度方案,包括:
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
4.根据权利要求3所述的方法,其特征在于,所述根据所述多目标蚁群算法的初始参数和所述信息素更新策略,确定容器调度方案,包括:
5.根据权利要求4所述的方法,其特征在于,所述根据所述多目标蚁群算法的初始参数和所述信息素第一更新策略,确定MapNode类型的容器的第一调度方案,包括:
6.根据权利要求5所述的方法,其特征在于,所述根据所述多目标蚁群算法的初始参数和所述信息素第一更新策略,确定MapNode类型的容器的第一调度方案,包括:
7.根据权利要求6所述的方法,其特征在于,所述在所述多目标蚁群算法的首次迭代时,将部分蚂蚁分配到所述第一节点候选集中的第一计算节点中,包括:
8.一种容器调度装置,其特征在于,包括:
9.一种电子设备,其特征在于,包括处理器、通信接
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的方法。
...【技术特征摘要】
1.一种容器调度方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述根据所述多目标蚁群算法的初始参数和所述信息素更新策略,确定容器调度方案,包括:
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
4.根据权利要求3所述的方法,其特征在于,所述根据所述多目标蚁群算法的初始参数和所述信息素更新策略,确定容器调度方案,包括:
5.根据权利要求4所述的方法,其特征在于,所述根据所述多目标蚁群算法的初始参数和所述信息素第一更新策略,确定mapnode类型的容器的第一调度方案,包括:
6.根据权利要求5所述的方法,其特征...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。