EMR设置配置json导致未创建conf文件

时间:2016-10-04 08:29:15

标签: apache-spark pyspark emr amazon-emr

通常情况下,我在EMR上创建一个火花星团后,@Trim文件中有一个spark-defaults.conf文件。

如果我没有提供自定义配置,您会发现/etc/spark/conf愉快地坐在conf目录中:

spark-defaults.conf

按照http://docs.aws.amazon.com//ElasticMapReduce/latest/ReleaseGuide/emr-configure-apps.html的说明,我正在尝试向驱动程序和执行者extraClassPath属性添加jar。

[hadoop@ip-x-x-x-x ~]$ 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":[ ] } ] 文件永远不会出现。

enter image description here

这里是spark-defaults.conf,显示文件系统中不存在该文件:

ls

我做错了什么?

1 个答案:

答案 0 :(得分:1)

所以我刚刚在EMR上对此进行了测试,问题是你的类路径规范前面有一个:

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

需要

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

请注意,AWS还会通过设置extraClassPath将内容添加到类路径中,并且您在extraClassPath中指定的内容将覆盖而不会附加到该路径。换句话说,您应该确保您的spark.xxx.extraClassPath包含AWS默认放置的内容。