我的英语不好,对不起,但我真的需要帮助。我使用spark-2.0.0-bin-hadoop2.7和hadoop2.7.3。从s3中读取日志,并将结果写入本地hdfs。并且我可以使用独立模式成功地运行spark driver。但是当我在yarn模式下运行相同的驱动程序时。这是投掷
17/02/10 16:20:16 ERROR ApplicationMaster: User class threw exception: java.io.IOException: No FileSystem for scheme: s3n我添加了hadoop-env.sh
export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$HADOOP_HOME/share/hadoop/tools/lib/*
run hadoop fs -ls s3n://xxx/xxx/xxx, can list files.我想应该是找不到aws-java-sdk-1.7.4.jar and hadoop-aws-2.7.3.jar
怎么能做到。
发布于 2017-02-10 17:17:56
我使用的版本与您的不同,但下面是让s3a正常工作所必需的spark_path/conf/spark-defaults.conf文件的摘录:
# hadoop s3 config
spark.driver.extraClassPath [path]/guava-16.0.1.jar:[path]/aws-java-sdk-1.7.4.jar:[path]/hadoop-aws-2.7.2.jar
spark.executor.extraClassPath [path]/guava-16.0.1.jar:[path]/aws-java-sdk-1.7.4.jar:[path]/hadoop-aws-2.7.2.jar
spark.hadoop.fs.s3a.impl org.apache.hadoop.fs.s3a.S3AFileSystem
spark.hadoop.fs.s3a.access.key [key]
spark.hadoop.fs.s3a.secret.key [key]
spark.hadoop.fs.s3a.fast.upload true或者,您可以在作业提交时使用--jars选项以逗号分隔的格式指定jars的路径:
--jars [path]aws-java-sdk-[version].jar,[path]hadoop-aws-[version].jar备注:
发布于 2017-02-14 02:13:59
SPARK_HOME/lib中,剩下的spark bits.spark.hadoop.fs.s3a.impl org.apache.hadoop.fs.s3a.S3AFileSystem就不需要了;这个JAR会被自动扫描并拾取。fast.output.enabled,除非你知道自己在做什么,并准备调优一些线程池选项。在没有该选项的情况下启动。发布于 2018-02-26 18:00:20
将这些jars添加到$SPARK_HOME/jars
ws-java-sdk-1.7.4.jar,hadoop-aws-2.7.3.jar,jackson-annotations-2.7.0.jar,jackson-core-2.7.0.jar,jackson-databind-2.7.0.jar,joda-time-2.9.6.jarhttps://stackoverflow.com/questions/42155186
复制相似问题