分享

多个spark程序,如何高效、有序的运行?

cloudcat 发表于 2016-12-29 15:19:10 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 1 6907
本帖最后由 cloudcat 于 2016-12-29 15:23 编辑

项目需求:我有一个spark的计算服务器,多个用户不停的向我提交任务,服务器计算结果返回给客户,如何让这些任务有序,高效的运行起来?
编程语言:scala

我的想法
    方法1  有一个成熟,自动管理spark job的组件,或者服务,起到实时监控的作用。当用户提交新job时候,服务会判断如果前面有任务执行就处于等待,如果前面任务占用资源很小,依然可以启动新job。这个组件能够正确,充分利用集群资源,运行完所有的job。

    方法2:  我自己用scala或者java写一个监控程序,当有任务来的时候,我先把任务放入一个队列,如果前面没任务我就直接运行job,如果有任务我就等待,直到前面的任务执行结束,才开始执行新的job,这种方法可以吗?
    但是第二种方法也有问题,由于自己写的程序,没有成熟的组件,前面的job如果占用资源很少,我也处于等待;如果前面的任务异常,一直不返回job已经完成的状态,后面的job一直处于等待。

请大家推荐一个思路,谢谢


已有(1)人评论

跳转到指定楼层
einhep 发表于 2016-12-29 16:26:29
spark有调度策略,可以自己配置下

推荐参考
Spark 作业调度--job执行方式介绍
http://www.aboutyun.com/forum.php?mod=viewthread&tid=7600


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条