2016-07-08 108 views
1

在HighAvailability上运行Hadoop集群上的Spark-submit命令时,我面临异常。在HighAvailability上运行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 

请建议我做什么我需要设置火花配置中的任何配置。

回答

0

从上http://hadoop.apache.org/docs/r2.6.0/hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabilityWithQJM.html#Configuration_details

请检查您的HDFS-site.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。[nameservice ID]
  • dfs.namenode.rpc-address。[nameservice ID]。[name node ID]
  • dfs.namenode.http地址。[名称服务ID]。[名称节点ID]
  • dfs.namenode.shared.edits.dir
  • dfs.client.failover.proxy.provider。[名称服务ID]
  • dfs.ha.fencing.methods fs.defaultFS dfs.journalnode.edits.dir
相关问题