Amazon ec2 在EC2上使用Spark创建群集时分发文件

Amazon ec2 在EC2上使用Spark创建群集时分发文件,amazon-ec2,amazon,apache-spark,Amazon Ec2,Amazon,Apache Spark,我正在与Spark合作开发亚马逊的EC2基础设施。在执行Spark应用程序之前,我需要将一个自定义文件(本机库,在我的示例中)分发并发送到所有工作节点。我正在寻找类似于Amazon的Elastic MapReduce(EMR)提供的引导功能的东西,开发人员可以在引导阶段在每个节点上运行自定义脚本 到目前为止,我使用了Spark提供的copy dir脚本(位于Spark-ec2文件夹中),该脚本将确定的文件复制到集群中可用的所有节点中,其工作方式如下: spark-ec2/ > sh cop

我正在与Spark合作开发亚马逊的EC2基础设施。在执行Spark应用程序之前,我需要将一个自定义文件(本机库,在我的示例中)分发并发送到所有工作节点。我正在寻找类似于Amazon的Elastic MapReduce(EMR)提供的引导功能的东西,开发人员可以在引导阶段在每个节点上运行自定义脚本

到目前为止,我使用了Spark提供的
copy dir
脚本(位于
Spark-ec2
文件夹中),该脚本将确定的文件复制到集群中可用的所有节点中,其工作方式如下:

spark-ec2/ > sh copy-dir my/file/location/myLib.so
假设一个本机库(
myLib.so
)需要存在于所有节点中。第一步是将文件定位在我们希望通过集群传播的确切目录中。之后,我们可以按如下方式运行
copy dir
脚本:

spark-ec2/ > sh copy-dir my/file/location/myLib.so

但是,这种方法只能在创建集群后使用,我想知道是否存在引导可能性。

查看sc.addFile()。这可用于将文件分发到所有工作节点,以便将代码从主节点分发到工作节点/从节点 使用copy dir脚本并提及要分发的文件/目录的路径。 示例-如果我在/root/目录中有一个wordcount.py文件,下面的代码将该文件分发给工作节点/从属节点

sudo /root/spark-ec2/copy-dir /root/wordcount.py 
RSYNC'ing /root/wordcount.py to slaves...
ec2-54-175-163-32.compute-1.amazonaws.com

谢谢你的回答,但我不是在寻找你提到的。相反,我需要在Spark执行之前(在群集创建时)分发一个文件,用于不包括Spark应用程序的其他目的。
Spark-ec2
中的
--用户数据
选项可能就是您要找的。感谢您的回答@Chaitanya,但是你提到的解决方案已经包含在问题中了。啊,是的,是执行同一脚本的另一种方式。赖特