使文件可用于工作节点

时间:2015-02-25 14:03:54

标签: apache-spark google-cloud-storage google-compute-engine

我对GCE和火花很新。我有一个带有挂载磁盘的spark-master-instance(/ mnt / spark-data),其中包含我想在spark-cluster中处理的许多文件。 问题:我的工作节点如何访问这些文件?有没有解决方案,我只需要在我的java-app中将path-String添加到文件位置?

我也考虑过这个问题:将文件从/ mnt / spark-data /复制到Google云端存储中的新存储桶 - 但有两个问题: 1)我的Master-instance没有存储的写权限,因此我无法将文件复制到存储桶中,是吗? 2)如果我在文件夹中有文件:如何在我的Java应用程序中访问它们?

1 个答案:

答案 0 :(得分:3)

永久磁盘只能作为只读挂载到多个GCE VM实例,因此您将无法写入它。您可以考虑使用NFS文件共享系统在VM实例之间共享文件。

如果您打算使用Google云端存储,那么

我对你的第一个问题的回答: 您需要创建具有对Google云端存储的完全或写入权限的GCE实例。要执行此操作,在使用Developers Console创建VM实例时,请单击“显示高级选项”并选择“完整”或“读取/写入存储”。如果您使用gcloud命令创建VM实例,则可以通过以下方式指定对Google Cloud Storage的完全访问权限:

$ gcloud compute instances创建INSTANCE --scopes storage-full

有关此命令的更多信息,请查看以下链接:

https://cloud.google.com/sdk/gcloud/reference/compute/instances/create

我对你的第二个问题的回答: GCS客户端库允许您的Java应用程序从Google云存储(GCS)中读取文件并将文件写入存储桶。有关Google云端存储Java客户端库的详细信息,请查看以下链接:

https://cloud.google.com/appengine/docs/java/googlecloudstorageclient/

相关问题