我有Hadoop 0.20,我开始运行$ HADOOP / bin / start-all.sh。 每个恶魔运行,但datanode它抛出错误
localhost:无法识别的选项:-jvm
localhost:错误:无法创buildJava虚拟机。
localhost:错误:发生致命exception。 程序将会退出。
但是我已经安装了java。
[root @ ulhshr1ld1 bin]#java -version
Java版本“1.7.0_01”Java™SE运行时环境(build 1.7.0_01-b08)
Java HotSpot(TM)服务器虚拟机(构build21.1-b02,混合模式)
我也可以访问http:// localhost:50070 / dfshealth.jsp和http:// localhost:50030 / jobtracker.jsp
任何人都可以请指导我最新的是什么问题?
以root身份运行时,这是Hadoop中的一个错误。 它已在新版本中得到修复。 这是JIRA 。 使用最新版本的Hadoop。
Root可以完全访问系统。 创建一个单独的用户并启动守护进程。 为什么以root身份启动守护进程?
另外,Apache 建议使用Oracle的Java 6。 看起来您正在运行Java 7. Java 7的Hadoop尚未经过彻底测试。
当我们启动一个安全的数据节点的时候,-jvm选项应该被传递给jsvc,但是当安全数据节点被禁用的时候,当它运行start-dfs.sh的时候它仍然会传递给java。
这是一个bin / hdfs.或bin / hadoop的错误。
应用以下补丁。
HDFS-1943补丁。
diff –git bin / hdfs bin / hdfs index 76ff689..ce9dc0a 100755 — bin / hdfs +++ bin / hdfs @@ -71,7 +71,7 @@ elif [“$ COMMAND”=“secondarynamenode” ]; 那么> HADOOP_OPTS =“$ HADOOP_OPTS $ HADOOP_SECONDARYNAMENODE_OPTS”elif [“$ COMMAND”=“datanode”]; 然后
CLASS ='org.apache.hadoop.hdfs.server.datanode.DataNode' – if [[$ EUID -eq 0]]; 那么+ if [“$ start_secure_dn”=“true”]; 那么HADOOP_OPTS =“$ HADOOP_OPTS -jvm服务器$ HADOOP_DATANODE_OPTS”否则HADOOP_OPTS =“$ HADOOP_OPTS -server $ HADOOP_DATANODE_OPTS”
将上面的文件复制到一个名为HDFS.patch的文件中
patch -p0 </ path / to / patch / file / path / to / file / to / be / patched
/ path / to / file / to / be / patched将是../bin/hadoop或… / bin / hdfs