分享

从apache hadoop checkout源码的坑

pengsuyun 发表于 2014-10-25 07:31:10 [显示全部楼层] 只看大图 回帖奖励 阅读模式 关闭右栏 7 12567
前端时间按照网上的教程从svn(http://svn.apache.org/repos/asf/hadoop/common/tags/release-2.4.1)上检出了hadoop的源代码,并在linux上打包编译了,之前也简单的用了下打出来的包,没发现问题。现在问题出来了,使用编译后的hadoop包,提示:
  1. 2014-10-24 08:47:58,109 FATAL org.apache.hadoop.hdfs.server.namenode.NameNode: Exception in namenode join
  2. java.lang.Error: Unresolved compilation problems:
  3.         The import org.apache.hadoop.ha.proto cannot be resolved
  4.         The import org.apache.hadoop.security.proto cannot be resolved
  5.         The import org.apache.hadoop.security.proto cannot be resolved
  6.         The import org.apache.hadoop.ipc.proto cannot be resolved
  7.         The import org.apache.hadoop.tools.proto cannot be resolved
  8.         RefreshAuthorizationPolicyProtocolService cannot be resolved
  9.         RefreshUserMappingsProtocolService cannot be resolved
  10.         RefreshCallQueueProtocolService cannot be resolved
  11.         GetUserMappingsProtocolService cannot be resolved
  12.         HAServiceProtocolService cannot be resolved
  13.         at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.<init>(NameNodeRpcServer.java:59)
  14.         at org.apache.hadoop.hdfs.server.namenode.NameNode.createRpcServer(NameNode.java:587)
  15.         at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:561)
  16.         at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:724)
  17.         at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:708)
  18.         at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1358)
  19.         at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1424)
  20. 2014-10-24 08:47:58,115 INFO org.apache.hadoop.util.ExitUtil: Exiting with status 1
复制代码

意思就是有的模块编译出错,检查检出后的代码发现,确实有问题,有些包是没有的,有些模块少了类,导致了自己编译的hadoop存在问题。

已有(7)人评论

跳转到指定楼层
bioger_hit 发表于 2014-10-25 09:21:41
包出错的可能性不大,检查下自己是如何编译的。

回复

使用道具 举报

w123aw 发表于 2014-10-25 09:23:10

有些包是没有的,有些模块少了类,

参照的什么代码
回复

使用道具 举报

desehawk 发表于 2014-10-25 09:24:07
如果觉得有问题,可以从官网直接下载maven包,然后编译,看看是否还会出同样的问题。
最好检查下自己的环境,或则编译的时候,是否正常
回复

使用道具 举报

pengsuyun 发表于 2014-10-26 06:56:34
本帖最后由 pig2 于 2014-10-26 09:17 编辑

检出代码后,我发现少了一些java类,正因为少了这些类,就导致自己编译的hadoop包不能正常用了。比如下面图面中的问题。C:\Users\psy\Desktop\3.png

3.png

回复

使用道具 举报

bioger_hit 发表于 2014-10-26 09:25:56

进行下面操作
1.在Java环境中,为什么会产生错误,看看具体原因是什么。建议加强自己的Java基础知识
2.看到你源码中有多处错误,相信不止这些错误,首先把自己下载的源码调试正确。

还有一点:
如果包一旦编译成功,是不会有问题的,编译器是不会因人而异的。


回复

使用道具 举报

pengsuyun 发表于 2014-10-26 22:33:09
本帖最后由 pengsuyun 于 2014-10-26 22:34 编辑
bioger_hit 发表于 2014-10-26 09:25
进行下面操作
1.在Java环境中,为什么会产生错误,看看具体原因是什么。建议加强自己的Java基础知识
2. ...

已经很明显了,checkout的代码中少了一些java类,至于为什么我就不懂了。
对于这种情况,我也只能通过补充缺少的java文件来解决这个问题了。
回复

使用道具 举报

bioger_hit 发表于 2014-10-26 22:35:29
pengsuyun 发表于 2014-10-26 22:33
已经很明显了,checkout的代码中少了一些java类,至于为什么我就不懂了。
对于这种情况,我也只能通过补 ...
有些应该是通过protocol来调用的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条