【发布时间】:2014-08-14 14:50:23
【问题描述】:
我正在尝试使用 bdutil 脚本从部署在 Google Cloud 中的 Hadoop 集群访问 Google Storage 存储桶。如果存储桶访问是只读的,则会失败。
我在做什么:
-
使用
部署集群bdutil deploy -e datastore_env.sh -
在主人身上:
vgorelik@vgorelik-hadoop-m:~$ hadoop fs -ls gs://pgp-harvard-data-public 2>&1 | head -10 14/08/14 14:34:21 INFO gcs.GoogleHadoopFileSystemBase: GHFS version: 1.2.8-hadoop1 14/08/14 14:34:25 WARN gcsio.GoogleCloudStorage: Repairing batch of 174 missing directories. 14/08/14 14:34:26 ERROR gcsio.GoogleCloudStorage: Failed to repair some missing directories. java.io.IOException: Multiple IOExceptions. java.io.IOException: Multiple IOExceptions. at com.google.cloud.hadoop.gcsio.GoogleCloudStorageExceptions.createCompositeException(GoogleCloudStorageExceptions.java:61) at com.google.cloud.hadoop.gcsio.GoogleCloudStorageImpl.createEmptyObjects(GoogleCloudStorageImpl.java:361) at com.google.cloud.hadoop.gcsio.GoogleCloudStorageImpl.createEmptyObjects(GoogleCloudStorageImpl.java:372) at com.google.cloud.hadoop.gcsio.GoogleCloudStorageImpl.listObjectInfo(GoogleCloudStorageImpl.java:914) at com.google.cloud.hadoop.gcsio.CacheSupplementedGoogleCloudStorage.listObjectInfo(CacheSupplementedGoogleCloudStorage.java:455)
看GCS Java source code,Google Cloud Storage Connector for Hadoop 似乎需要空的“目录”对象,如果桶是可写的,它可以自己创建;否则失败。设置fs.gs.implicit.dir.repair.enable=false 会导致“检索对象时出错”错误。
是否可以以某种方式使用只读存储桶作为 MR 作业输入?
我使用gsutil 进行文件上传。文件上传时可以强制创建这些空对象吗?
【问题讨论】:
标签: hadoop google-cloud-storage gsutil google-cloud-platform google-hadoop