首页 > 解决方案 > 无法将作业连接/提交到远程 Yarn 集群

问题描述

我正在尝试使用 java 应用程序将 spark 作业提交到 Hadoop HDP 2.6.3 环境(使用 kerberos)上的纱线集群。我在资源文件夹下都有所需的 core-site.xml、hdfs-site.xml、yarn-site.xml。

通过以下方式设置 SparkSession:

SparkSession sparkSession = SparkSession
                .builder()
                .appName("Sample App")
                .master("yarn") //tried with "local" as well
                .getOrCreate();

我不断收到以下消息:客户端:重试连接到服务器:xxx。已尝试 0 次;重试策略是 RetryUpToMaximumCountWithFixedSleep(maxRetries=50, sleepTime=1000 MILLISECONDS)

...

客户端:重试连接到服务器:xxx。已尝试 49 次;重试策略是 RetryUpToMaximumCountWithFixedSleep(maxRetries=50, sleepTime=1000 MILLISECONDS)

其中xxx是yarn-site.xml文件中yarn.resourcemanager.address属性下的地址。

我正在使用服务器中使用的相同 spark-sql&spark-yarn 版本:

    <dependency>
        <groupId>org.apache.spark</groupId>
        <artifactId>spark-sql_2.11</artifactId>
        <version>2.2.0</version>
    </dependency>
    <dependency>
        <groupId>org.apache.spark</groupId>
        <artifactId>spark-yarn_2.11</artifactId>
        <version>2.2.0</version>
    </dependency>

从我的本地环境中使用 spark-submit 运行 jar 不起作用。但是,如果我将 jar 复制到 HDP 服务器并从那里提交 jar,它确实可以工作。

我错过了什么?

标签: apache-sparkapache-spark-sqlhdfshadoop-yarn

解决方案


推荐阅读