私は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を設定する方法を教えてもらえますか?.
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キャッシュに使用できることを忘れないでください。