主要是log里看起来是driver memory不够用,我尝试加executor 再试一下
你这是做广播的时候内存不足, 加driver内存并不管用吧, 你得加excuter内存。
这是yarn的continer内存不够,给continer允许的内存加大 。你申请的时候给大点,提交的任务指定的execute的大小设置大点。
设置5G后的保存内存信息,看 yarn 任务页面的 config 哪里能看到任务参数信息, 看看
错误很明显了,提交任务的conf 内存设置不生效。
这个就是缺内存,那块不够加那块。不想加就把 broadcast 的变量干掉
driver影响的时候最后collect阶段聚合,collect阶段是否要在本地聚合,如果必须的话 可以考虑自己在任务最后写一个类或者函数单独处理,非必需 就直接在mr阶段处理掉。driver内存问题,如果能mr解决就并发解决,聚合也可以在任务处理完后 单独处理,这里是 driver内存无法增加的做法。条件允许直接加driver内存/使用--deploy cluster代替client
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。