我需要将火花应用程序/作业提交到远程火花群集.我目前在我的机器上点火,主节点的IP地址作为yarn-client.顺便说一句我的机器不在群集中.我用这个命令提交我的工作
./spark-submit --class SparkTest --deploy-mode client /home/vm/app.jar
Run Code Online (Sandbox Code Playgroud)
我将我的主人的地址硬编码到表单中的应用程序中
val spark_master = spark://IP:7077
Run Code Online (Sandbox Code Playgroud)
但我得到的只是错误
16/06/06 03:04:34 INFO AppClient$ClientEndpoint: Connecting to master spark://IP:7077...
16/06/06 03:04:34 WARN AppClient$ClientEndpoint: Failed to connect to master IP:7077
java.io.IOException: Failed to connect to /IP:7077
at org.apache.spark.network.client.TransportClientFactory.createClient(TransportClientFactory.java:216)
at org.apache.spark.network.client.TransportClientFactory.createClient(TransportClientFactory.java:167)
at org.apache.spark.rpc.netty.NettyRpcEnv.createClient(NettyRpcEnv.scala:200)
at org.apache.spark.rpc.netty.Outbox$$anon$1.call(Outbox.scala:187)
at org.apache.spark.rpc.netty.Outbox$$anon$1.call(Outbox.scala:183)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.net.ConnectException: Connection refused: /IP:7077
Run Code Online (Sandbox Code Playgroud)
或者如果我使用
./spark-submit --class SparkTest --master yarn --deploy-mode client /home/vm/test.jar
Run Code Online (Sandbox Code Playgroud)
我明白了
Exception in thread "main" java.lang.Exception: When running with master …Run Code Online (Sandbox Code Playgroud) 我试图让2个步骤在EMR中同时运行。但是,我总是使第一步运行,第二步未完成。
我的Yarn配置的一部分如下:
{
"Classification": "capacity-scheduler",
"Properties": {
"yarn.scheduler.capacity.resource-calculator": "org.apache.hadoop.yarn.util.resource.DominantResourceCalculator",
"yarn.scheduler.capacity.maximum-am-resource-percent": "0.5"
}
}
Run Code Online (Sandbox Code Playgroud)
当我在本地Mac上运行时,我可以在Yarn上以类似配置运行第二个应用程序,其中的更改实际上是火花提交资源请求,以匹配所需的群集容量和性能。
换句话说,我的纱线被设置为运行多个应用程序。
因此,在深入研究之前,我想知道实际上是否可以同时执行该步骤或仅连续执行该步骤?
还有其他技巧或一些特定的建议可以同时运行吗?
关于每个作业请求,我的集群的容量过大。因此,我不明白为什么它不能同时运行。
我们需要安排火花工作,因为我们熟悉apache-airflow,我们希望继续创建不同的工作流程.我搜索了网络,但没有找到一步一步的指南来安排气流上的火花作业和选项在不同的服务器运行主机上运行它们.
对此的回答将受到高度赞赏.提前致谢.
我有 Airflow 作业,它们在 EMR 集群上运行良好。我需要的是,假设我有 4 个需要 EMR 集群的气流作业,假设需要 20 分钟才能完成任务。为什么我们不能在 DAG 运行时创建 EMR 集群,一旦作业完成,它将终止创建的 EMR 集群。