我正在实现需要hbase的hadoop程序。我使用的是Hadoop2.5.1和HBase 0.20.6(我最初使用的是0.94.8,但在遇到问题后,我只是尝试更改为0.20.6,因为我原始源代码的文档告诉我,不幸的是,这并没有解决问题。)
在使用"javac"编译代码并运行jar文件后,作业停留在映射67%(%根据输入而变化)。
https://dl.dropboxusercontent.com/u/51053996/Pics/map_stuck.jpg
我试图通过注释代码的部分来调查这个问题,并发现HTable启动在某种程度上是正确的。
https://dl.dropboxusercontent.com/u/51053996/Pics/htable.jpg
仍然有一些线索,我不知道它是否涉及:
当我尝试使用"sudo"运行"hadoop jar…"时出现了权限问题(然而,我已经通过发出一些命令解决了这个问题,比如"sudo-u hduser hadoop fs-chown…和-chmod…")
https://dl.dropboxusercontent.com/u/51053996/Pics/hbase_permission.jpg
启动hbase后运行的"jps":我需要发出"sudo jps",这样我就可以看到H.进程(如果没有,我只会看到hadoops),运行hadoop后,一些进程(如HMaster)就会消失。
https://dl.dropboxusercontent.com/u/51053996/Pics/jps.jpg
如有任何帮助,我们将不胜感激:)
顺便说一句,我解决了这个问题。通过重新安装Hadoop和HBase,同时仔细检查兼容性(你可以在apache官方网站上搜索它们)。在我的情况下,现在我使用Hadoop 2.5.1和HBase 0.98.11
希望这能在以后对某人有所帮助。