【问题标题】:Hive on Spark > Yarn mode > spark configuration > what value to give to spark.masterSpark 上的 Hive > Yarn 模式 > spark 配置 > 赋予 spark.master 什么价值
【发布时间】:2021-09-18 15:06:08
【问题描述】:

我正在尝试使用我自己的自定义 serde 进行 HiveQL(它与纯 Hive 一起正常工作)。我按照以下说明进行操作:https://cwiki.apache.org/confluence/display/Hive/Hive+on+Spark%3A+Getting+Started

但是我对这部分很困惑:启动 Spark 集群(支持独立和 Spark on YARN)。 根据我的理解,如果 Spark 以独立模式运行,我们只需要启动 Spark 集群。但是我打算在 Yarn 上运行 Spark,是否需要启动 Spark 集群?我所做的是:我刚刚启动了 Hadoop Yarn,因为我真的不知道为属性 spark.master 设置什么,所以我根本没有设置它。可能是因为这个设置,我在运行 Hive 查询时收到错误消息,它使用我自己的 Serde:

2015-10-05 20:42:07,184 INFO  [main]: status.SparkJobMonitor (RemoteSparkJobMonitor.java:startMonitor(67)) - Job hasn't been submitted after 61s. Aborting it.

2015-10-05 20:42:07,184 ERROR [main]: status.SparkJobMonitor (SessionState.java:printError(960)) - Status: SENT
2015-10-05 20:42:07,184 INFO  [main]: log.PerfLogger (PerfLogger.java:PerfLogEnd(148)) - </PERFLOG method=SparkRunJob start=1444066866174 end=1444066927184 duration=61010 from=org.apache.hadoop.hive.ql.exec.spark.status.SparkJobMonitor>
2015-10-05 20:42:07,300 ERROR [main]: ql.Driver (SessionState.java:printError(960)) - FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.spark.SparkTask
2015-10-05 20:42:07,300 INFO  [main]: log.PerfLogger (PerfLogger.java:PerfLogEnd(148)) - </PERFLOG method=Driver.execute start=1444066848958 end=1444066927300 duration=78342 from=org.apache.hadoop.hive.ql.Driver>

...

最后还有以下异常:

2015-10-05 20:42:16,658 INFO  [stderr-redir-1]: client.SparkClientImpl (SparkClientImpl.java:run(569)) - 15/10/05 20:42:16 INFO yarn.Client: Application report for application_1444066615793_0001 (state: ACCEPTED)
2015-10-05 20:42:17,337 WARN  [main]: client.SparkClientImpl (SparkClientImpl.java:stop(154)) - Timed out shutting down remote driver, interrupting...
2015-10-05 20:42:17,337 WARN  [Driver]: client.SparkClientImpl (SparkClientImpl.java:run(430)) - Waiting thread interrupted, killing child process.
2015-10-05 20:42:17,345 WARN  [stderr-redir-1]: client.SparkClientImpl (SparkClientImpl.java:run(572)) - Error in redirector thread.
java.io.IOException: Stream closed
    at     java.io.BufferedInputStream.getBufIfOpen(BufferedInputStream.java:162)
    at java.io.BufferedInputStream.read1(BufferedInputStream.java:272)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:334)
    at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:283)
    at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:325)
    at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:177)
    at java.io.InputStreamReader.read(InputStreamReader.java:184)
    at java.io.BufferedReader.fill(BufferedReader.java:154)
    at java.io.BufferedReader.readLine(BufferedReader.java:317)
    at java.io.BufferedReader.readLine(BufferedReader.java:382)
    at org.apache.hive.spark.client.SparkClientImpl$Redirector.run(SparkClientImpl.java:568)
    at java.lang.Thread.run(Thread.java:745)
2015-10-05 20:42:17,371 INFO  [Thread-15]: session.SparkSessionManagerImpl (SparkSessionManagerImpl.java:shutdown(146)) - Closing the session manager.

【问题讨论】:

    标签: configuration apache-spark hive


    【解决方案1】:

    请尝试set spark.master=yarn-client;

    【讨论】:

    • 我知道这是一个古老的讨论,但以防其他人在 Hive 2.3.4 中遇到类似问题 'yarn-client' 已弃用,所以请改用 spark.master=yarn
    【解决方案2】:

    从官方文档Spark on YARN来看,各位高手基本是:

    • yarn-cluster:如果您将作业提交给 spark OR
    • yarn-client:如果你想在本地实例化 SparkContext

    不要忘记在@987654322 中提供配置文件(core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml、hive-site.xml 等) @ 和 YARN_CONF_DIR。您可以在&lt;spark_home&gt;/conf/spark-env.sh 处设置这些变量

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-18
      • 1970-01-01
      • 2016-11-05
      • 2017-02-04
      • 2018-01-10
      相关资源
      最近更新 更多