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

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 常见问题解决及优化指南

免费开通大数据服务:https://www.aliyun.com/product/odps

常见问题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的图计算实践分享-图加载过程

 

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
18天前
|
存储 负载均衡 算法
大数据散列分区计算哈希值
大数据散列分区计算哈希值
34 4
|
25天前
|
存储 分布式计算 大数据
大数据 优化数据读取
【11月更文挑战第4天】
39 2
|
2月前
|
存储 分布式计算 算法
大数据-106 Spark Graph X 计算学习 案例:1图的基本计算、2连通图算法、3寻找相同的用户
大数据-106 Spark Graph X 计算学习 案例:1图的基本计算、2连通图算法、3寻找相同的用户
68 0
|
14天前
|
存储 消息中间件 分布式计算
Cisco WebEx 数据平台:统一 Trino、Pinot、Iceberg 及 Kyuubi,探索 Apache Doris 在 Cisco 的改造实践
Cisco WebEx 早期数据平台采用了多系统架构(包括 Trino、Pinot、Iceberg 、 Kyuubi 等),面临架构复杂、数据冗余存储、运维困难、资源利用率低、数据时效性差等问题。因此,引入 Apache Doris 替换了 Trino、Pinot 、 Iceberg 及 Kyuubi 技术栈,依赖于 Doris 的实时数据湖能力及高性能 OLAP 分析能力,统一数据湖仓及查询分析引擎,显著提升了查询性能及系统稳定性,同时实现资源成本降低 30%。
Cisco WebEx 数据平台:统一 Trino、Pinot、Iceberg 及 Kyuubi,探索 Apache Doris 在 Cisco 的改造实践
|
22天前
|
存储 算法 固态存储
大数据分区优化存储成本
大数据分区优化存储成本
28 4
|
24天前
|
存储 大数据 Serverless
大数据增加分区优化资源使用
大数据增加分区优化资源使用
22 1
|
1月前
|
存储 NoSQL 大数据
大数据 数据存储优化
【10月更文挑战第25天】
73 2
|
1月前
|
边缘计算 人工智能 搜索推荐
大数据与零售业:精准营销的实践
【10月更文挑战第31天】在信息化社会,大数据技术正成为推动零售业革新的重要驱动力。本文探讨了大数据在零售业中的应用,包括客户细分、个性化推荐、动态定价、营销自动化、预测性分析、忠诚度管理和社交网络洞察等方面,通过实际案例展示了大数据如何帮助商家洞悉消费者行为,优化决策,实现精准营销。同时,文章也讨论了大数据面临的挑战和未来展望。
|
1月前
|
分布式计算 Java MaxCompute
ODPS MR节点跑graph连通分量计算代码报错java heap space如何解决
任务启动命令:jar -resources odps-graph-connect-family-2.0-SNAPSHOT.jar -classpath ./odps-graph-connect-family-2.0-SNAPSHOT.jar ConnectFamily 若是设置参数该如何设置
|
2月前
|
SQL 分布式计算 NoSQL
大数据-164 Apache Kylin Cube优化 案例1 定义衍生维度与对比 超详细
大数据-164 Apache Kylin Cube优化 案例1 定义衍生维度与对比 超详细
35 1
大数据-164 Apache Kylin Cube优化 案例1 定义衍生维度与对比 超详细

相关产品

  • 云原生大数据计算服务 MaxCompute