文档章节

基于MaxCompute的图计算实践分享-常见问题解决及优化指南

_夜枫
 _夜枫
发布于 2017/04/09 21:12
字数 1010
阅读 27
收藏 0

常见问题FAQ

Q:Graph 能支持多少节点的进行计算?
A:默认最多1000个节点,通过配置odps.graph.worker.num,可以使用多达3000个节点

 

Q:Graph 单个节点支持多少内存?
A:默认内存范围为[2048, 32768] 单位为M,通过配置odps.graph.worker.memory 设置所需内存,如果单个节点需要设置超过32768M的内存,请找ODPS 管理员修改配置

 

Q:Graph 代码中可以访问网络吗?
A:不可以

 

Q:FAILED: ODPS-0730001: Must define VertexResolver when add/remove vertex/edge or send message to nonexist vertex in superstep
A:根据消息提示,请实现VertexResolver 并设置到配置中,配置为odps.graph.computing.vertex.resolver.class

 

Q:FAILED: ODPS-0010000:System internal error - Mutations for vertex id 'xxx' overflow, Data buffer exceed max length: 2147483645 bytes
A:设置odps.graph.use.multiple.input.output为true即可解决

 

Q:FAILED: ODPS-0010000:System internal error - Job failover reach max times 3, worker = 0, message = worker restart
A:有两种情况: 一种是作业时间太长,节点个数多,机器宕机,导致failover 次数过多,这时可以调大odps.graph.max.attempts(默认3次),另一种是作业超用内存被集群杀掉。 第二种情况发生的概率较大, 请根据实际情况判断,如果需要增加内存/节点数,请根据实际情况设置

 

Q:FAILED: ODPS-0730001: Java heap space
A:worker 内存不够用,通过配置odps.graph.worker.memory 设置所需内存,或者通过设置odps.graph.worker.num 增加worker 节点的个数

 

Q:FAILED: ODPS-0730001: GraphLoader load duplicate ****
A:请实现VertexResolver 并设置到配置中,配置为odps.graph.loading.vertex.resolver.class

 

Q:FAILED: ODPS-0730001: Resource not found 'res_file' - Perhaps you forgot to add it to '-resources' list when run graph
A:根据提示在提交作业时同时提交资源

 

Q:FAILED: ODPS-0730001: ClassNotFoundException *****
A:提交作业时不仅要提交作业的jar,也需要提交依赖的jar包,通过-libjars 提交,多个jar 以逗号分隔

 

Q:java.lang.OutOfMemoryError: unable to create new native thread
A:作业重试即可

 

Q:FAILED: ODPS-0010000:System internal error - ensureRemaining: Only bytes remaining, trying to read 
A:用户需检查自定义的writable 序列化/反序列化代码是否对应,亦即写出/读取的方式是否统一

 

Q:作业经常FAILOVER
A:扩大节点内存/节点个数 重试

 

Q:FAILED: ODPS-0730001: Exceed maximum read times [64] per resource: '****'
A:使用worker value保存resource,并打开worker value的checkpoint 设置.set odps.graph.worker.value.checkpoint.enable=true

 

优化指南

资源等待超时
现象:ODPS-0010000:System internal error - Timeout when graph master wait all workers start,实际上是在一定时间内无法集齐graph作业所需资源。可根据如下手段优化:

a)判断作业实际需要内存与 任务使用内存之间差距

                i.          首先大约计算总内存,查看odps 表原始的数据量 desc table 可以查看

               ii.          使用公式总内存(total)= size(压缩) * 6 可计算出大约总内存,然后 规定一个内存比如8192m,则可以得出worker数。一般来说大于8192m的内存较难申请,请注意

b)将资源需求铺开,也就是说增加worker 的个数,而减少单个worker 申请内存的大小 set odps.graph.worker.memory = xxxx; set odps.graph.worker.num=xxxx;

c)调整作业的资源等待时间(单位为分钟,默认为15分钟) set odps.graph.fuxi.job.max.wait.time =xxx;

 

作业超过运行内存,可以通过如下手段优化作业

优化作业消息传递, 具体使用Combiner,配置为odps.graph.combiner.class ,Combiner的作用是合并某worker 发送给其他worker 点的消息。可大幅减少网络消息的数量和内存使用

优化作业早停,使用Aggregator,halt vertex

资源大杀器 
如果项目所在的资源组的minquota 能够满足graph 作业的cpu/memory 使用需要,则可以设置:
set odps.graph.fuxi.job.resource.all_or_nothing=true
这个配置是以所在quota 组为单位,以最高优先级申请资源

 

相关文章

基于MaxCompute的图计算实践分享-Aggregator机制介绍

基于MaxCompute的图计算实践分享-Resolver简介

基于MaxCompute的图计算实践分享-图加载过程

本文转载自:https://yq.aliyun.com/articles/69256

_夜枫
粉丝 10
博文 506
码字总数 0
作品 0
朝阳
后端工程师
私信 提问
阿里巴巴大数据计算平台MaxCompute(原名ODPS)全套攻略(持续更新20171127)

概况介绍 大数据计算服务(MaxCompute,原名ODPS,产品地址:https://www.aliyun.com/product/odps)是一种快速、完全托管的TB/PB级数据仓库解决方案。MaxCompute向用户提供了完善的数据导入方...

隐林
2017/05/05
0
0
MaxCompute助力ofo实现精细化运营:日订单超3200万、整体运行效率提升76%

摘要: ofo小黄车大数据BI系统负责人龙利民为大家分享了ofo的上云体验,重点分享了MaxCompute的应用实践,最后对阿里云提出了自己的建议需求。 关于ofo小黄车 共享经济不仅与技术相关,它还关...

阿里云云栖社区
2018/03/16
20
0
阿里云MaxCompute 2019-1月刊

亲爱的开发者们,MaxCompute 2019.1月刊为您带来产品最新动态和丰富的产品技术内容,欢迎阅读。 导读 【新视频】精选视频集锦全新上线 【新故事】精选案例集锦全面更新 【新文档】2019年1月M...

晋恒
02/20
0
0
大数据计算杭州高端峰会—探寻真正的“大数据,云计算”

阿里巴巴大数据计算服务MaxCompute携手阿里云MVP 邀您共赴杭州大数据计算高端峰会,探寻真正的“大数据,云计算” 现在报名>>> 你也有这些需求和疑惑吗? 如果你在杭州,那就来现场倾听、交流...

晋恒
2018/07/10
0
0
发光的二次元——克拉克拉上云实践

克拉克拉(KilaKila)是国内专注二次元、主打年轻用户的娱乐互动内容社区软件。KilaKila 推出互动语音直播、短视频配音、对话小说等功能,满足当下年轻用户个性化、碎片化的文娱需求。随着业...

zhaowei121
01/16
5
0

没有更多内容

加载失败,请刷新页面

加载更多

SpringBoot中 集成 redisTemplate 对 Redis 的操作(二)

SpringBoot中 集成 redisTemplate 对 Redis 的操作(二) List 类型的操作 1、 向列表左侧添加数据 Long leftPush = redisTemplate.opsForList().leftPush("name", name); 2、 向列表右......

TcWong
今天
3
0
排序––快速排序(二)

根据排序––快速排序(一)的描述,现准备写一个快速排序的主体框架: 1、首先需要设置一个枢轴元素即setPivot(int i); 2、然后需要与枢轴元素进行比较即int comparePivot(int j); 3、最后...

FAT_mt
昨天
4
0
mysql概览

学习知识,首先要有一个总体的认识。以下为mysql概览 1-架构图 2-Detail csdn |简书 | 头条 | SegmentFault 思否 | 掘金 | 开源中国 |

程序员深夜写bug
昨天
10
0
golang微服务框架go-micro 入门笔记2.2 micro工具之微应用利器micro web

micro web micro 功能非常强大,本文将详细阐述micro web 命令行的功能 阅读本文前你可能需要进行如下知识储备 golang分布式微服务框架go-micro 入门笔记1:搭建go-micro环境, golang微服务框架...

非正式解决方案
昨天
7
0
前端——使用base64编码在页面嵌入图片

因为页面中插入一个图片都要写明图片的路径——相对路径或者绝对路径。而除了具体的网站图片的图片地址,如果是在自己电脑文件夹里的图片,当我们的HTML文件在别人电脑上打开的时候图片则由于...

被毒打的程序猿
昨天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部