2016-07-08 12 views
1

HighAvailabilityを持つHadoop Clusterで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 

私は、スパークconf内に任意の構成を設定する必要があることを提案してください。

答えて

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。[ネームサービスID]
  • dfs.namenode.rpc-address。[ネームサービスID]。[ネーム・ノードID]
  • dfs.namenode.httpアドレス[ネームサービスのID] [名ノードID]
  • dfs.client.failover.proxy.provider
  • dfs.namenode.shared.edits.dir。[ネームサービスのID]
  • dfs.ha.fencing.methods fs.defaultFS dfs.journalnode.edits.dir
関連する問題