我正尝试将Google Cloud VM上运行的Hadoop连接到Google云端存储。我有:Hadoop无法连接到Google云端存储
- 修改了核心的site.xml包括fs.gs.impl和 fs.AbstractFileSystem.gs.impl
- 下载的特性,并参考了 GCS-连接器最新-hadoop2。 jar生成hadoop-env.sh
- 通过gcloud auth登录使用我的个人帐户 (而不是服务帐户)进行身份验证。
我能够透过gsutil -ls GS运行:// mybucket /没有任何问题,但是当我执行
hadoop fs -ls gs://mybucket/
我得到的输出:
14/09/30 23:29:31 INFO gcs.GoogleHadoopFileSystemBase: GHFS version: 1.2.9-hadoop2
ls: Error getting access token from metadata server at: http://metadata/computeMetadata/v1/instance/service-accounts/default/token
想知道哪些步骤我很想让Hadoop能够看到Google Storage?
谢谢!
感谢您的信息丹尼斯!由于实例是使用我自己的gmail帐户创建的,因此如何确定我的ClientID和密钥是什么?我尝试使用我的gmail地址和由“gcloud auth login”生成的验证码,但它给了我一个不同的错误消息:ls:没有FileSystem for方案:gs – 2014-10-01 04:19:14
因此,客户端ID和客户端密钥实际上不归属于gmail帐户,而是附加到*项目*;在这种情况下,“已安装的应用程序”流程意味着“客户端机密”有点用词不当。我提供的文字32555940559.apps.googleusercontent.com/ZmssLNjJy2998hD4CTg2ejr2归因于与Google云端SDK相关联的Google管理的项目,这也是认证流程提到“Google Cloud SDK想要访问......”的原因。它不涉及实际的访问控制或计费,因此将这些值用作最适合的实用目的。 – 2014-10-01 18:59:38
为了使用特定于您的项目的客户端ID和客户端密钥,您将转到您正在使用的项目下的cloud.google.com/console,找到“APIs&auth” - >“Credentials”,找到一个框表示“本机应用程序的客户端ID”,或者如果它不存在,请点击“安装的应用程序”作为类型的“创建新的客户端ID”按钮,然后使用提供的client_id和client_secret。 – 2014-10-01 19:01:31