1

我正在使用 GCS 连接器使用 Google Cloud Storage for Hadoop 2.3.0。

我已将 GCS.jar 添加到我的 hadoop 安装的 lib 目录中,并在hadoop-env.sh文件中添加了 GCS 连接器的路径:

export HADOOP_CLASSPATH=${HADOOP_CLASSPATH:"/share/hadoop/common/lib/gcs_connector"} 

我还core-site.xml对 Hadoop 安装文件进行了更改:

   <property>
   <name>fs.defaultFS</name>
   <value>hdfs://127.0.0.1:9000</value>
   </property>
   <property>
   <name>fs.gs.impl</name>
   <value>com.google.cloud.hadoop.fs.gcs.GoogleHadoopFileSystem</value>
   <description>The FileSystem for gs: (GCS) uris.</description>
   </property>
   <property>
   <name>fs.AbstractFileSystem.gs.impl</name>
   <value>com.google.cloud.hadoop.fs.gcs.GoogleHadoopFS</value>
   <description>The AbstractFileSystem for gs: (GCS) uris. Only necessary for use with Hadoop 2.
  </description>
  </property>
  <property>
  <name>fs.gs.impl</name>
  <value>com.google.cloud.hadoop.fs.gcs.GoogleHadoopFileSystem</value>
  </property>
  <property>
  <name>fs.gs.project.id</name>
  <value>1113</value>
  </property>
  <property>
  <name>fs.gs.system.bucket</name>
  <value>hadoop1</value>
  </property>
  <property>
  <name>fs.gs.working.dir</name>
  <value>/</value>
  </property>
  <property>
  <name>fs.gs.auth.service.account.enable</name>
  <value>true</value>
  </property>
  <property>
  <name>fs.gs.auth.service.account.email</name>
  <value>7168543aovnjqaf1e7sumil@developer.gserviceaccount.com</value>
  </property>
  <property>
  <name>fs.gs.auth.service.account.keyfile</name>
  <value>C://hadoop-2.3.0/etc/hadoop/gcskey.p12</value>
  </property>
  <property>
  <name>fs.gs.auth.client.id</name>
  <value>7168543aovnjqaf1e7sumil.apps.googleusercontent.com</value>
   </property>

我创建的项目的计费帐户也已启用。

我创建了一个桶,桶的内容对我来说是可见的:

hadoop fs -ls gs://hadoop1 

我曾尝试为 Hadoop 和 VM 实例创建主节点和工作节点的 Hadoop click-to-deploy 选项。

我已经安装了 gcloud 以进行身份​​验证登录。还创建了 Git 存储库。

我关注了 Google 上发布的 MapReduce 文章,但它对完整的指导没有帮助。

问题:我想使用部署在云上的 Hadoop 运行用 Java 开发的 MapReduce 程序?我在我的程序中为输入和输出文件提供什么路径?

我的程序在我系统上的 Hadoop 平台上运行良好。

4

0 回答 0