windows下利用eclipse+maven连接虚拟机上的hadoop

按照以下链接,在windows上搭建eclipse+maven连接虚拟机上的hadoop时,出现一些问题。

http://blog.fens.me/hadoop-maven-eclipse/

问题1:

按照文章步骤,采用hadoop-core 1.0.3登陆远程Hadoop 2.0.0-cdh4.1.1时出现Server IPC version 7 cannot communicate with client version 4问题,原因是本地的hadoop-core版本太低,因此需要重新配置pom.xml

主要是需要以下两个依赖包:
需要在pom.xml里面配置cloudera的repo和相关的jar包
hadoop-common-2.0.0-cdh4.1.1.jar
hadoop-core-2.0.0-mr1-cdh4.1.1.jar

相关网站:
http://www.cloudera.com/documentation/archive/cdh/4-x/4-7-1/CDH-Version-and-Packaging-Information/cdhvd_topic_8.html
http://www.cloudera.com/documentation/archive/cdh/4-x/4-7-1/CDH-Version-and-Packaging-Information/cdhvd_topic_8.html

pom.xml配置文件如下:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0modelVersion>
  <groupId>org.conan.myhadoop.mrgroupId>
  <artifactId>recommendartifactId>
  <version>1.0-SNAPSHOTversion>
  <packaging>jarpackaging>
  <name>recommendname>
  <url>http://maven.apache.orgurl>
  <properties>
    <project.build.sourceEncoding>UTF-8project.build.sourceEncoding>
  properties>

  <repositories>
    <repository>
      <id>clouderaid>
      <url>https://repository.cloudera.com/artifactory/cloudera-repos/url>
    repository>
  repositories>

  <dependencies>
      <dependency>
          <groupId>org.apache.hadoopgroupId>
          <artifactId>hadoop-coreartifactId>
          <version>2.0.0-mr1-cdh4.1.1version>
      dependency>

      <dependency>
          <groupId>org.apache.hadoopgroupId>
          <artifactId>hadoop-hdfsartifactId>
          <version>2.0.0-cdh4.1.1version>
      dependency>
      <dependency>
          <groupId>org.apache.hadoopgroupId>
          <artifactId>hadoop-commonartifactId>
          <version>2.0.0-cdh4.1.1version>
      dependency>     
      <dependency>
          <groupId>org.apache.hadoopgroupId>
          <artifactId>hadoop-mapreduce-client-coreartifactId>
          <version>2.0.0-cdh4.1.1version>
      dependency>     

    <dependency>
      <groupId>junitgroupId>
      <artifactId>junitartifactId>
      <version>3.8.1version>
      <scope>testscope>
    dependency>
  dependencies>
project>

问题2:

运行时出现,Exception in thread “main” Java.io.IOException: Cannot run program “cygpath”: CreateProcess error=2, ϵͳÕҲ»μ½ָ¶
原因是尽管连接的hadoop平台是在Linux上面,但是我们的eclipse调试环境是在windows,我们需要安装一个linux模拟器“cygwin”来支持程序的运行

问题3:

在windows上的eclipse跑hadoop时,显示hdfs.DFSClient: Failed to connect to /127.0.0.1:50010,
google了好久,最后在stackoverflow上找到类似问题,提示时hosts配置问题
原因是用的是CDH的Quick Start VM,/etc/hosts 下面把localhost与127.0.0.1地址绑定,需要把/etc/hosts改为

192.168.56.101 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6

重启后即可在eclipse中调试

你可能感兴趣的:(hadoop)