spark参与计算的Excutor和实际申请的excutor不相等

JasonsTiananan 2018-05-31 08:41:14
我在使用sparkstreaming的时候遇见了一个奇怪的现象:spark进行reduce等计算的时候只是使用了其中的一部分excutor,并且很规律的是这些excutor都是在一台机子上,不清楚这是什么原因,有人遇见过这种情况吗吗,一起讨论一下?
...全文
1208 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
会飞的犬良 2018-10-16
  • 打赏
  • 举报
回复
问题已经解决了,通过查看work的错误日志发现,slave节点与主节点netty通信出现了异常,然后查看SPARK_CLASSPATH路径下的netty相关的jar包冲突了。去掉一个就好了。
JasonsTiananan 2018-10-12
  • 打赏
  • 举报
回复
引用 6 楼 things_use 的回复:
楼主好,我也遇到了这个问题,所有的job都集中到了一台机器上算,但是数据是在多台机器上的。请问楼主怎么解决了。
不清楚是什么原因,你重启两次服务试试看看是不是一直都是这台机子运行,观察一下资源是不是够用
会飞的犬良 2018-10-11
  • 打赏
  • 举报
回复
楼主好,我也遇到了这个问题,所有的job都集中到了一台机器上算,但是数据是在多台机器上的。请问楼主怎么解决了。
会飞的犬良 2018-10-11
  • 打赏
  • 举报
回复
楼主好。我也遇到了这个问题,所有的task全部都集中到了一台机器上,但是确定是数据在多台机器上的。
JasonsTiananan 2018-06-01
  • 打赏
  • 举报
回复
引用 3 楼 link0007 的回复:
[quote=引用 2 楼 trnanan 的回复:]
[quote=引用 1 楼 link0007 的回复:]
是你数据都来自于这台机吧?你可以尝试reparation后cache。然后在cache后的rdd/dataset上进行后续操作

不是的,我的数据来自kafka完全不是同一台机子,同时我也进行了reparation,因为kafka上面有只四个分区,所以我就将RDD分区数目调高到了36,不是单单是分区数目影响的,我尝试将所有数据分到0区,有时候还是能正常分配,所以跟分区数应该关系不是太大[/quote]
是指你从kafka读取数据的receiver是一台机子。另外关键是cache,而不是reparation。cache可以在spark内部设置最多2个的数据分区副本,也就是理论上会把数据分布到每台机子(只要分区数够分配)。

sparkStreaming的receiver,本质也是一个executor。对于一个流的RDD,这executor的机器,就是数据来源机。[/quote]
昨天忘了说了,其实我是有过reparation后cache的,因为后面有两个地方会用到这个rdd,因此我进行了cache
LinkSe7en 2018-05-31
  • 打赏
  • 举报
回复
引用 2 楼 trnanan 的回复:
[quote=引用 1 楼 link0007 的回复:]
是你数据都来自于这台机吧?你可以尝试reparation后cache。然后在cache后的rdd/dataset上进行后续操作

不是的,我的数据来自kafka完全不是同一台机子,同时我也进行了reparation,因为kafka上面有只四个分区,所以我就将RDD分区数目调高到了36,不是单单是分区数目影响的,我尝试将所有数据分到0区,有时候还是能正常分配,所以跟分区数应该关系不是太大[/quote]
是指你从kafka读取数据的receiver是一台机子。另外关键是cache,而不是reparation。cache可以在spark内部设置最多2个的数据分区副本,也就是理论上会把数据分布到每台机子(只要分区数够分配)。

sparkStreaming的receiver,本质也是一个executor。对于一个流的RDD,这executor的机器,就是数据来源机。
JasonsTiananan 2018-05-31
  • 打赏
  • 举报
回复
引用 1 楼 link0007 的回复:
是你数据都来自于这台机吧?你可以尝试reparation后cache。然后在cache后的rdd/dataset上进行后续操作
不是的,我的数据来自kafka完全不是同一台机子,同时我也进行了reparation,因为kafka上面有只四个分区,所以我就将RDD分区数目调高到了36,不是单单是分区数目影响的,我尝试将所有数据分到0区,有时候还是能正常分配,所以跟分区数应该关系不是太大
LinkSe7en 2018-05-31
  • 打赏
  • 举报
回复
是你数据都来自于这台机吧?你可以尝试reparation后cache。然后在cache后的rdd/dataset上进行后续操作

1,258

社区成员

发帖
与我相关
我的任务
社区描述
Spark由Scala写成,是UC Berkeley AMP lab所开源的类Hadoop MapReduce的通用的并行计算框架,Spark基于MapReduce算法实现的分布式计算。
社区管理员
  • Spark
  • shiter
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧