2016-10-04 6 views
0

通常、EMRでスパーククラスタを作成した後、/etc/spark/confにあるspark-defaults.confファイルがあります。EMRの設定config jsonの結果が作成されません。

私はカスタムコンフィグを提供しない場合、あなたはconfディレクトリに喜んで座っspark-defaults.confを見つけることができます:、私はドライバとエグゼキュータextraClassPathにjarファイルを追加しようとしているhttp://docs.aws.amazon.com//ElasticMapReduce/latest/ReleaseGuide/emr-configure-apps.htmlから命令を

[[email protected] ~]$ ls -la /etc/spark/conf/ 
total 64 
drwxr-xr-x 2 root root 4096 Oct 4 08:08 . 
drwxr-xr-x 3 root root 4096 Oct 4 07:41 .. 
-rw-r--r-- 1 root root 987 Jul 26 21:56 docker.properties.template 
-rw-r--r-- 1 root root 1105 Jul 26 21:56 fairscheduler.xml.template 
-rw-r--r-- 1 root root 2373 Oct 4 07:42 hive-site.xml 
-rw-r--r-- 1 root root 2024 Oct 4 07:42 log4j.properties 
-rw-r--r-- 1 root root 2025 Jul 26 21:56 log4j.properties.template 
-rw-r--r-- 1 root root 7239 Oct 4 07:42 metrics.properties 
-rw-r--r-- 1 root root 7239 Jul 26 21:56 metrics.properties.template 
-rw-r--r-- 1 root root 865 Jul 26 21:56 slaves.template 
-rw-r--r-- 1 root root 2680 Oct 4 08:08 spark-defaults.conf 
-rw-r--r-- 1 root root 1292 Jul 26 21:56 spark-defaults.conf.template 
-rwxr-xr-x 1 root root 1563 Oct 4 07:42 spark-env.sh 
-rwxr-xr-x 1 root root 3861 Jul 26 21:56 spark-env.sh.template 

後プロパティ。

[ 
    { 
    "Classification": "spark-defaults", 
    "Properties": { 
     "spark.driver.extraClassPath": ":/usr/lib/hadoop-lzo/lib/*:/usr/lib/hadoop/hadoop-aws.jar:/usr/share/aws/aws-java-sdk/*:/usr/share/aws/emr/emrfs/conf:/usr/share/aws/emr/emrfs/lib/*:/usr/share/aws/emr/emrfs/auxlib/*:/usr/share/aws/emr/security/conf:/usr/share/aws/emr/security/lib/*:/home/hadoop/mysql-connector-java-5.1.39-bin.jar", 
     "spark.executor.extraClassPath": ":/usr/lib/hadoop-lzo/lib/*:/usr/lib/hadoop/hadoop-aws.jar:/usr/share/aws/aws-java-sdk/*:/usr/share/aws/emr/emrfs/conf:/usr/share/aws/emr/emrfs/lib/*:/usr/share/aws/emr/emrfs/auxlib/*:/usr/share/aws/emr/security/conf:/usr/share/aws/emr/security/lib/*:/home/hadoop/mysql-connector-java-5.1.39-bin.jar" 
    }, 
    "Configurations":[ 

    ] 
    } 
] 

私は、クラスタの作成時にすべてのエラーを参照していけないが、私は、この設定を追加するときspark-defaults.confファイルが表示されません。私は間違って何をやっている

[[email protected] ~]$ ls -la /etc/spark/conf/ 
total 64 
drwxr-xr-x 2 root root 4096 Oct 4 08:08 . 
drwxr-xr-x 3 root root 4096 Oct 4 07:41 .. 
-rw-r--r-- 1 root root 987 Jul 26 21:56 docker.properties.template 
-rw-r--r-- 1 root root 1105 Jul 26 21:56 fairscheduler.xml.template 
-rw-r--r-- 1 root root 2373 Oct 4 07:42 hive-site.xml 
-rw-r--r-- 1 root root 2024 Oct 4 07:42 log4j.properties 
-rw-r--r-- 1 root root 2025 Jul 26 21:56 log4j.properties.template 
-rw-r--r-- 1 root root 7239 Oct 4 07:42 metrics.properties 
-rw-r--r-- 1 root root 7239 Jul 26 21:56 metrics.properties.template 
-rw-r--r-- 1 root root 865 Jul 26 21:56 slaves.template 
-rw-r--r-- 1 root root 1292 Jul 26 21:56 spark-defaults.conf.template 
-rwxr-xr-x 1 root root 1563 Oct 4 07:42 spark-env.sh 
-rwxr-xr-x 1 root root 3861 Jul 26 21:56 spark-env.sh.template 

enter image description here

、ここではlsは、ファイルがファイルシステムに存在しないことを示しているのか?

答えて

1

だから私はちょうどEMRでこれをテストし、問題は、あなたのクラスパスの指定の前に:を持っているということです。

"spark.driver.extraClassPath": ":/usr/lib/hadoop-lzo/... 

は、AWSでも物事を置くこと

"spark.driver.extraClassPath": "/usr/lib/hadoop-lzo/.... 

注意する必要がありますextraClassPathを設定し、extraClassPathに指定した項目をに設定して、それを上書きしないでください。を追加しないでください。つまり、spark.xxx.extraClassPathにAWSがデフォルトで設定するものが含まれていることを確認する必要があります。

+0

送信時に '--spark.driver.extraClassPath'を使用すると、extraClassPathの設定が上書きされるため、既存の文字列+私の設定でこの問題が発生します。それは単にそれが最初に追加されていないそのような失業者。これをチェックしていただきありがとうございます。また、先頭のコロンは、最初に設定を見たときにEMRが文字列をどのように設定するかです。 – Kristian

+1

あなたは本当に間違っていません。しかし、Glennieは最初の ":"が問題の原因であることは間違いありません。これは、実際には、顧客が提供する構成分類の解析と処理に非常に奇妙なバグであり、結果としてファイルが作成されないことになります。私はこの問題が最新のemr-4.xリリース(emr-4.8.0)で修正されるかもしれないと思うが、まだEMR-5.xのラインにはないと思う。 emr-4.8.0で修正されていない場合は、次のemr-4.xおよびemr-5.xリリースで修正されます。 –

+0

@JonathanKelly非常に洞察力のある、この情報にどうやって来たのですか? – Kristian

関連する問題