搜索
查看: 2672|: 3

hadoop 2.2.0 导入eclipse 有错误

[复制链接]

152

主题

47

回帖

3015

积分

管理员

积分
3015
发表于 2014-12-10 14:26:30 | 显示全部楼层 |阅读模式
过程

1. $ cd hadoop-maven-plugins
   $ mvn install
2. $ mvn eclipse:eclipse -DskipTests
编译成功后导入Eclipse
3. [File] > [Import] > [Existing Projects into Workspace]
但是有50多个错误。就解释
最好有一个详细的教程!!!
大数据中国(http://www.bigdatas.cn),以数据的力量改变生活!

152

主题

47

回帖

3015

积分

管理员

积分
3015
 楼主| 发表于 2014-12-10 14:26:55 | 显示全部楼层
你是把hadoop-maven-plugins导入了Eclipse?貌似不应该这样哦~

首先,使用以下命令安装Elicpse插件hadoop-maven-plugins:
$ cd ${HADOOP_HOME}/hadoop-maven-plugins
$ mvn install
然后生成Eclipse工程文件:
$ cd ${HADOOP_HOME}
$ mvn eclipse:eclipse -DskipTests
最后在Eclipse中按照以下流程导入源代码:“File” → “Import”→ “Existing Projects into Workspace”。

152

主题

47

回帖

3015

积分

管理员

积分
3015
 楼主| 发表于 2014-12-10 14:28:02 | 显示全部楼层

是不是56个错误,我解决了、

下面是某个博客写的错误,其中我只遇到了几个,我在最后贴出我遇到的错误

Error#1. hadoop-streaming里面的build path有问题,显示/root/workspace/hadoop-2.2.0-src/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/conf(missing)

解决办法,remove掉引用就好。


Error#2. hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestDFSClientFailover.java中报sun.net.spi.nameservice.NameService错误,这是一个需要import的包,存在于openjdk中,在Oracle Jdk中没找到,需要下载一个。NameService是一个接口,在网上找一个NameService放到该包中就好。http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/7u40-b43/sun/net/spi/nameservice/NameService.java#NameService


Error#3. /hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/offlineEditsViewer/XmlEditsVisitor.java里面显示
import com.sun.org.apache.xml.internal.serialize.OutputFormat;
import com.sun.org.apache.xml.internal.serialize.XMLSerializer;
失败,这是由于Eclipse的强检查原则,打开Java -> Compiler -> Errors/Warnings and under "Deprecated and restricted API" change the setting of "Forbidden reference (access rules)" 将error级别调整到warning级别就好。


Error#4. /hadoop-common/src/test/java/org/apache/hadoop/io/serializer/avro/TestAvroSerialization.java显示没有AvroRecord类,在网上搜索到AvroRecord类放入到同级包中就行了。  http://grepcode.com/file/repo1.maven.org/maven2/org.apache.hadoop/hadoop-common/2.2.0/org/apache/hadoop/io/serializer/avro/AvroRecord.java#AvroRecord


Error#5. org.apache.hadoop.ipc.protobuf包是空的,需要在/hadoop-common/target/generated-sources/java中找到profobuf拷贝到/hadoop-common/src/test/java中就好了. 同时包里面还缺少了以下三个引用,在GrepCode上找一下,把hadoop-common2.2.0的相应文件下下来导入。

org.apache.hadoop.ipc.protobuf.TestProtos.EchoRequestProto;
org.apache.hadoop.ipc.protobuf.TestProtos.EchoResponseProto;
org.apache.hadoop.ipc.protobuf.TestRpcServiceProtos.TestProtobufRpcProto;


Error#6. /hadoop-auth/org/apache/hadoop/security/authentication/client/AuthenricatorTestCase.java中显示server.start()和server.stop()错误,还没找到原因所在,待检查~~~

-----------------------------------------分界线-------------------------------------------------

我遇到的错误提示56个,其实主要就3个问题

  • 同上Error#1. hadoop-streaming里面的build path有问题,显示/root/workspace/hadoop-2.2.0-src/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/conf(missing)
    解决办法,remove掉引用就好,具体右键右边出错项目->properties->左边Java Build Path->Source->选定错误项->右边Remove

  • 同上Error#4,解决方法同上
  • 同上Error#5,解决方法同上

然后应该就没错了


大数据中国(http://www.bigdatas.cn),以数据的力量改变生活!

191

主题

18

回帖

694

积分

高级会员

积分
694
发表于 2014-12-10 14:29:26 | 显示全部楼层
你是不是没有导入hadoop安装目录,以及lib目录下面的所有的jar包? 感觉是没有找到configuration的类
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

大数据中国微信

QQ   

版权所有: Discuz! © 2001-2013 大数据.

GMT+8, 2024-12-22 20:12 , Processed in 0.085946 second(s), 29 queries .

快速回复 返回顶部 返回列表