当前位置: 首页 > 知识库问答 >
问题:

如何在yarn客户端模式下提交远程主节点上的spark作业?

敖淮晨
2023-03-14
./spark-submit --class SparkTest --deploy-mode client /home/vm/app.jar 

我有我的主人的地址硬编码到我的应用程序在表单

val spark_master = spark://IP:7077

但我得到的只是错误

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

或者如果我使用

./spark-submit --class SparkTest --master yarn --deploy-mode client /home/vm/test.jar
Exception in thread "main" java.lang.Exception: When running with master 'yarn' either HADOOP_CONF_DIR or YARN_CONF_DIR must be set in the environment.
at org.apache.spark.deploy.SparkSubmitArguments.validateSubmitArguments(SparkSubmitArguments.scala:251)
at org.apache.spark.deploy.SparkSubmitArguments.validateArguments(SparkSubmitArguments.scala:228)
at org.apache.spark.deploy.SparkSubmitArguments.<init>(SparkSubmitArguments.scala:109)
at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:114)
at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)

共有1个答案

姬安志
2023-03-14

首先,如果要从应用程序代码中设置conf.setmaster(...),则它具有最高优先级(高于--master参数)。如果要在yarn客户端模式下运行,请不要在应用程序代码中使用master_ip:7077。您应该按照以下方式向驱动程序提供hadoop客户端配置文件。

您应该将环境变量HADOOP_CONF_DIR或YARN_CONF_DIR设置为指向包含客户端配置的目录。

http://spark.apache.org/docs/latest/running-on-yarn.html

 类似资料:
  • 我被困在: 在我得到这个之前: 当我签出应用程序跟踪页面时,我在stderr上得到以下信息: 我对这一切都很陌生,也许我的推理有缺陷,任何投入或建议都会有所帮助。

  • 我是Spark的新手。 spark_executor_instances=3 spark_executor_cores=1 spark_driver_memory=2g 我还通过确认了它只有一个执行器,并且只有主节点()上的执行器。 INFO yarn.client:启动Spark应用程序的命令master:List($java_home/bin/java,-server,-xmx2048m,-d

  • 也许一定有一个更合适的方式来提交火花工作。有人知道如何将Apache Spark作业远程提交到hDinsight吗? 多谢!

  • 我使用spark-submit来运行一个作业,它有一些异常,它被阻塞了,所以我尝试使用来停止进程。 > 我想知道这个作业是否还在集群上运行?

  • 一、作业提交 1.1 spark-submit Spark 所有模式均使用 spark-submit 命令提交作业,其格式如下: ./bin/spark-submit \ --class <main-class> \ # 应用程序主入口类 --master <master-url> \ # 集群的 Master Url --deploy-mode <deplo

  • 问题内容: 我有几个关于客户端节点的Elasticsearch问题: 我可以说:任何节点只要打开HTTP端口,我都可以将它们视为“客户端”节点,因为我们可以通过该节点进行搜索/索引。 实际上,当和时,我们将节点视为客户端节点,如果我设置了10个客户端节点,是否需要在客户端进行路由,这意味着如果我在代码 中将clientOne:9200 指定为ES门户,则 clientOne会 转发其他HTTP请求