web-dev-qa-db-ja.com

AmazonEMRでsparkマスターURLを見つける方法

私はsparkに不慣れで、バージョン1.3.1のAmazonクラスターにsparkをインストールしようとしています。

SparkConf sparkConfig = new SparkConf().setAppName("SparkSQLTest").setMaster("local[2]");

それは私にとってはうまくいきますが、これはテスト目的であり、ローカルに設定できることがわかりました[2]。

クラスターモードを使おうとすると、

SparkConf sparkConfig = new SparkConf().setAppName("SparkSQLTest").setMaster("spark://localhost:7077");

これで私はエラーを下回っています

到達不能なリモートアドレス[akka.tcp:// sparkMaster @ localhost:7077]に関連付けようとしました。アドレスは5000ミリ秒間ゲートされ、このアドレスへのすべてのメッセージはデッドレターに配信されます。理由:接続が拒否されました15/06/10 15:22:21 INFO client.AppClient $ ClientActor:マスターakka.tcp:// sparkMaster @ localhost:7077/user/Masterに接続しています。

誰かがマスターURLを設定する方法を教えてもらえますか?.

11
Sam

https://github.com/awslabs/emr-bootstrap-actions/tree/master/spark のbootstrapアクションを使用している場合、構成はSpark YARNしたがって、masterをyarn-clientまたはyarn-clusterに設定するだけです。メモリとコアを備えたエグゼキュータの数を必ず定義してください。 YARNのSparkの詳細 https://spark.Apache.org/docs/latest/running-on-yarn.html

メモリとコアサイジングのエグゼキュータ設定に関する追加:

http://docs.aws.Amazon.com/ElasticMapReduce/latest/DeveloperGuide/TaskConfiguration_H2.html 、具体的にはyarn.scheduler.maximum-allocation-mbで、各タイプのデフォルトのYARNノードマネージャー設定を確認してください。コアの数は、基本的なEC2情報URL( http://aws.Amazon.com/ec2/instance-types/ )から判断できます。エグゼキュータメモリの最大サイズは、Sparkのオーバーヘッドを差し引いた最大割り当て内に256MB刻みで収まる必要があります。この計算の適切な説明は http://blog.cloudera.com/blog/2015/03/how-to-tune-your-Apache-spark-jobs-part-2/ にあります。エグゼキュータメモリの半分強をRDDキャッシュに使用できることを忘れないでください。

8
ChristopherB