2015-11-08 5 views
8

2つのインセットを持つマシンにスパーククラスタをセットアップします。クラスタ内の/ etc/hostsファイルには、クラスタ内の他のすべてのマシンの内部IPがあります。これしかし私はYARNクライアントモード(pyspark --master yarn --deploy-mode client)でpyspark経由SparkContextを要求したときFQDNYARNクラスタモードでバインドするためにspark use/etc/hostsファイルを作成する

INTERNAL_IP

、アッカバインドパブリックIPへとタイムアウトが発生します。ログから分かるように

15/11/07 23:29:23 INFO Remoting: Starting remoting 
15/11/07 23:29:23 INFO Remoting: Remoting started; listening on addresses :[akka.tcp://[email protected]_ip:44015] 
15/11/07 23:29:23 INFO util.Utils: Successfully started service 'sparkYarnAM' on port 44015. 
15/11/07 23:29:23 INFO yarn.ApplicationMaster: Waiting for Spark driver to be reachable. 
15/11/07 23:31:30 ERROR yarn.ApplicationMaster: Failed to connect to driver at yarn_driver_public_ip:48875, retrying ... 
15/11/07 23:31:30 ERROR yarn.ApplicationMaster: Uncaught exception: 
org.apache.spark.SparkException: Failed to connect to driver! 
    at org.apache.spark.deploy.yarn.ApplicationMaster.waitForSparkDriver(ApplicationMaster.scala:427) 
    at org.apache.spark.deploy.yarn.ApplicationMaster.runExecutorLauncher(ApplicationMaster.scala:293) 
    at org.apache.spark.deploy.yarn.ApplicationMaster.run(ApplicationMaster.scala:149) 
    at org.apache.spark.deploy.yarn.ApplicationMaster$$anonfun$main$1.apply$mcV$sp(ApplicationMaster.scala:574) 
    at org.apache.spark.deploy.SparkHadoopUtil$$anon$1.run(SparkHadoopUtil.scala:66) 
    at org.apache.spark.deploy.SparkHadoopUtil$$anon$1.run(SparkHadoopUtil.scala:65) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at javax.security.auth.Subject.doAs(Subject.java:422) 
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1657) 
    at org.apache.spark.deploy.SparkHadoopUtil.runAsSparkUser(SparkHadoopUtil.scala:65) 
    at org.apache.spark.deploy.yarn.ApplicationMaster$.main(ApplicationMaster.scala:572) 
    at org.apache.spark.deploy.yarn.ExecutorLauncher$.main(ApplicationMaster.scala:599) 
    at org.apache.spark.deploy.yarn.ExecutorLauncher.main(ApplicationMaster.scala) 
15/11/07 23:31:30 INFO yarn.ApplicationMaster: Final app status: FAILED, exitCode: 10, (reason: Uncaught exception: org.apache.spark.SparkException: Failed to connect to driver!) 
15/11/07 23:31:30 INFO yarn.ApplicationMaster: Unregistering ApplicationMaster with FAILED (diag message: Uncaught exception: org.apache.spark.SparkException: Failed to connect to driver!) 
15/11/07 23:31:30 INFO yarn.ApplicationMaster: Deleting staging directory .sparkStaging/application_1446960366742_0002 

、プライベートIPが完全に無視され、どのように私は、hostsファイルに指定されている糸と火花がプライベートIPアドレスを使用することができますか?

クラスタは、質問に対してAmbari(HDP 2.4)

答えて

0

これは、適切なインターフェイスにバインドする火花を取得する唯一の方法は、カスタムネームサーバを使用することで、現在のスパークで問題です。

スパークは本質的にホスト名検索を行い、見つかったIPアドレスを使用してAkkaとバインドします。回避策は、カスタムバインドゾーンを作成し、ネームサーバーを実行することです。

https://issues.apache.org/jira/browse/SPARK-5113

1

1を使用してプロビジョニングされました。

スパークはAkkaを通信に使用します。

スパークよりもAkka質問の方が多いです。

あなたが別のアドレスに、ネットワークインターフェイスをバインドする必要がある場合は

- 使用akka.remote.netty.tcp.bindホスト名と akka.remote.netty.tcp.bindポートの設定。

http://doc.akka.io/docs/akka/snapshot/additional/faq.html#Why_are_replies_not_received_from_a_remote_actor_

関連する問題