spark作业有多种配置吗?

oaxa6hgo  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(261)

假设我有如下电脑
1 2 3
4 5 6
7 8 9
现在假设我有两个Spark工作a和b。作业生成数据c,b将其作为输入。为了得到c,我需要这样的簇
集群1:主服务器:1,从服务器:2 3
集群2:主服务器:4,从服务器:5 6
集群3:主服务器:7,从服务器:8 9
对于b工作,我需要这样的集群:
集群4:主节点4,从节点17
如何设置这样的群集,同一台pc可能在不同的时间属于不同的群集,并且可以成为主/从群集?
同样最重要的是,即使这样的配置是可能的,那么编码这样的spark应用程序的最佳实践是什么,这样我们就不需要对作业a和b使用单独的spark应用程序了?

ie3xauqp

ie3xauqp1#

我假设您正在yarn/mapreduce2+hdfs集群上运行spark作业。
要做您想做的事情,您不需要多个集群,可以使用apacheoozie编写工作流来实现您想要的编排级别(在本例中,运行a,然后使用a的输出运行b)。
在另一个类似的主题上,如果你´如果担心每个作业消耗的资源,可以在yarn中创建队列并将每个作业提交到不同的队列,这样可以确保它们都获得所需的资源量,并且可以并发运行。
最后,如果你在 --deploy-mode cluster 以及 --master yarn ,你不知道´不用担心主人和奴隶,因为 spark driver 以及 spark context 将在群集中保持分布。

相关问题