我有一个带有Yarn的SPARK集群,我想将我的工作的jar放入与S3 100%兼容的Object Store中。如果我想提交工作,我会从google搜索,看起来就像这样:火花提交-主纱-部署模式簇<...> s3:// my_ bucket / jar_file但是,S3对象存储需要用户名和密码才能访问。那么,如何配置这些凭据信息以让SPARRK从S3下载jar?非常感谢!
您可以使用Default Credential Provider Chain
中的AWS docs:
export AWS_ACCESS_KEY_ID=your_access_key
export AWS_SECRET_ACCESS_KEY=your_secret_key
./bin/spark-submit \
--master local[2] \
--class org.apache.spark.examples.SparkPi \
s3a://your_bucket/.../spark-examples_2.11-2.4.6-SNAPSHOT.jar
我需要从Maven下载以下jar,并将其放在Spark jar目录中,以便允许在s3a
中使用spark-submit
模式(注意,您可以使用--packages
指令从jar内部引用这些依赖项,但不是来自spark-submit
本身):
// build Spark `assembly` project
sbt "project assembly" package
cd assembly/target/scala-2.11/jars/
wget https://repo1.maven.org/maven2/com/amazonaws/aws-java-sdk/1.7.4/aws-java-sdk-1.7.4.jar
wget https://repo1.maven.org/maven2/org/apache/hadoop/hadoop-aws/2.7.7/hadoop-aws-2.7.7.jar