在具有高可用性的 Hadoop 群集上运行 Spark-submit 时出现异常



>我在具有高可用性的Hadoop集群上运行Spark-submit命令时面临异常。

以下命令在未启用 HA 的其他群集上工作正常。

spark-submit  --master yarn-client   --executor-memory 4g  --executor-cores 2    --class com.domain.app.module.mainclass   target/SNAPSHOT-jar-with-dependencies.jar

相同的命令在启用了 HA 的群集上不起作用,并引发以下异常。

Exception in thread "main" java.lang.AbstractMethodError: org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider.getProxy()Lorg/apache/hadoop/io/retry/FailoverProxyProvider$ProxyInfo

请建议我是否需要在火花会议中设置任何祝贺。

来自 http://hadoop.apache.org/docs/r2.6.0/hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabilityWithQJM.html#Configuration_details 的说明

请检查您的 hdfs 网站.xml:

<property>
  <name>dfs.nameservices</name>
  <value>mycluster</value> <-- Choose a name for your cluster
</property>
...
<property>
  <name>dfs.client.failover.proxy.provider.mycluster</name> <-- Put cluster name here
  <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
</property>

您还应该检查该页面上提到的其他设置是否已正确配置:

  • dfs.ha.namenodes.[名称服务 ID]
  • dfs.namenode.rpc-address.[名称服务 ID]。[名称节点 ID]
  • dfs.namenode.http-address.[名称服务 ID]。[名称节点 ID]
  • dfs.namenode.shared.edits.dir
  • dfs.client.failover.proxy.provider.[名称服务 ID]
  • dfs.ha.fencing.methods fs.defaultFS dfs.journalnode.edits.dir

最新更新