这里我在Ubuntu 12.04 Server,64位版本中面临非常奇怪的问题。我手动安装了java 7 JDK(在/ usr / lib / jvm中复制粘贴了jdk文件夹并完成了大量配置来管理java,javac和jps命令正常工作)。 通过 -
格式化名称节点时hadoop namenode -format
我的shell显示:
$HADOOP_HOME is deprecated
然后突然返回shell而不格式化namenode。 在启动hadoop守护进程之后:
start-all.sh
他们首先显示以下消息:
Warning: $HADOOP_HOME is deprecated.
starting namenode, logging to /usr/local/hadoop-1.2.1/libexec/../logs/hadoop-ubuntu1-namenode-jci1.out
jci1: starting datanode, logging to /usr/local/hadoop-1.2.1/libexec/../logs/hadoop-ubuntu1-datanode-jci1.out
jci1: starting secondarynamenode, logging to /usr/local/hadoop-1.2.1/libexec/../logs/hadoop-ubuntu1-secondarynamenode-jci1.out
starting jobtracker, logging to /usr/local/hadoop-1.2.1/libexec/../logs/hadoop-ubuntu1-jobtracker-jci1.out
jci1: starting tasktracker, logging to /usr/local/hadoop-1.2.1/libexec/../logs/hadoop-ubuntu1-tasktracker-jci1.out
但是当我尝试通过“jps”查看进程时,输出如下:
9351 -- main class information unavailable
9184 -- main class information unavailable
9520 -- main class information unavailable
9612 -- process information unavailable
9831 Jps
经过一段时间后,jps只显示了jps进程:
9831 Jps
我无法弄清楚为什么守护进程在启动后就停止了。这是java问题吗? 请告诉我如何解决这个问题。
答案 0 :(得分:1)
最后解决了这个问题,因为java是hadoop的核心,所以JDK应该是兼容的并且具有hadoop运行时所需的所有必需文件。在我的情况下,罪魁祸首是另一个openjdk-6,它与Oracle_JDK 1.7并行,所以我清除了以前的安装并安装了oracle-java作为唯一的java替代品。 现在我的namenode格式没有任何问题,同时查看hadoop守护进程的日志文件解决了我的另一个问题。