我从 .deb 包在 ubuntu 上安装了 Hadoop,当我运行 start-all.sh 时,出现此错误,我为 hdfs:localhost:9001 配置了 core-site.xml,但出现错误。我认为问题出在 hadoop-env.sh 中的 conf 目录的路径上,我将路径设置为 /usr/shar/hadoop/templates/conf 并尝试了 /etc/hadoop/conf,我将目录复制到此位置,但出现错误,请帮助我。我的大学项目需要它,我花了半个学期的时间试图解决这个问题,但没有成功。
错误 org.apache.hadoop.hdfs.server.datanode.DataNode:java.lang.IllegalArgumentException:不包含有效的主机:端口权限:file:/// at org.apache.hadoop.net.NetUtils.createSocketAddr(NetUtils.java:164) at org.apache.hadoop.hdfs.server.namenode.NameNode.getAddress(NameNode.java:201) at org.apache.hadoop.hdfs.server.namenode.NameNode.getAddress(NameNode.java:231) at org.apache.hadoop.hdfs.server.namenode.NameNode.getServiceAddress(NameNode.java:225) at org.apache.hadoop.hdfs.server.datanode.DataNode.startDataNode(DataNode.java:347) at org.apache.hadoop.hdfs.server.datanode.DataNode.(DataNode.java:309) 在 org.apache.hadoop.hdfs.server.datanode.DataNode.makeInstance(DataNode.java:1651) 在 org.apache.hadoop.hdfs.server.datanode.DataNode.instantiateDataNode(DataNode.java:1590) 在 org.apache.hadoop.hdfs.server.datanode.DataNode.createDataNode(DataNode.java:1608) 在 org.apache.hadoop.hdfs.server.datanode.DataNode.secureMain(DataNode.java:1734) 在 org.apache.hadoop.hdfs.server.datanode.DataNode.main(DataNode.java:1751)
致命的 org.apache.hadoop.mapred.JobTracker:java.lang.IllegalArgumentException:不包含有效的主机:端口权限:本地 at org.apache.hadoop.net.NetUtils.createSocketAddr(NetUtils.java:164) at org.apache.hadoop.net.NetUtils.createSocketAddr(NetUtils.java:130) at org.apache.hadoop.mapred.JobTracker.getAddress(JobTracker.java:2312) at org.apache.hadoop.mapred.JobTracker。(JobTracker.java:2070) at org.apache.hadoop.mapred.JobTracker。(JobTracker.java:1889) at org.apache.hadoop.mapred.JobTracker。(JobTracker.java:1883) org.apache.hadoop.mapred.JobTracker.startTracker(JobTracker.java:312)位于 org.apache.hadoop.mapred.JobTracker.startTracker(JobTracker.java:303)位于 org.apache.hadoop.mapred.JobTracker.startTracker(JobTracker.java:298)
在 org.apache.hadoop.mapred.JobTracker.main(JobTracker.java:4791)
错误 org.apache.hadoop.hdfs.server.namenode.NameNode:java.lang.IllegalArgumentException:不包含有效的主机:端口权限:file:/// at org.apache.hadoop.net.NetUtils.createSocketAddr(NetUtils.java:164) at org.apache.hadoop.hdfs.server.namenode.NameNode.getAddress(NameNode.java:201) at org.apache.hadoop.hdfs.server.namenode.NameNode.getAddress(NameNode.java:231) at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:265) at org.apache.hadoop.hdfs.server.namenode.NameNode。(NameNode.java:536) org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1410)位于 org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1419)
线程“main”中的异常java.lang.IllegalArgumentException:不包含有效的主机:端口权限:file:/// at org.apache.hadoop.net.NetUtils.createSocketAddr(NetUtils.java:164) at org.apache.hadoop.hdfs.server.namenode.NameNode.getAddress(NameNode.java:201) at org.apache.hadoop.hdfs.server.namenode.NameNode.getAddress(NameNode.java:231) at org.apache.hadoop.hdfs.server.namenode.NameNode.getServiceAddress(NameNode.java:225) at org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode.initialize(SecondaryNameNode.java:167) at org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode.(SecondaryNameNode.java:135) 在 org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode.main(SecondaryNameNode.java:650)
错误 org.apache.hadoop.mapred.TaskTracker:无法启动任务跟踪器,因为 java.lang.IllegalArgumentException:不包含有效的主机:端口权限:本地 在 org.apache.hadoop.net.NetUtils.createSocketAddr(NetUtils.java:164) 在 org.apache.hadoop.net.NetUtils.createSocketAddr(NetUtils.java:130) 在 org.apache.hadoop.mapred.JobTracker.getAddress(JobTracker.java:2312) 在 org.apache.hadoop.mapred.TaskTracker。(TaskTracker.java:1532) 在 org.apache.hadoop.mapred.TaskTracker.main(TaskTracker.java:3906)
答案1
要启动 NameNode 和 DataNode,请尝试在 core-site.xml 中的 fs.default.name 属性下进行一些更改:hdfs://master:9000/tmp(尝试添加文件夹路径;本例中为 tmp)