启动hadoop Job Tracker时出错

时间:2012-04-08 00:59:52

标签: hadoop

我尝试使用Windows-Cygwin在hadoop中运行一个简单的程序。

我可以启动namenode。

但是,jobtracker启动失败,但有例外:

FATAL mapred.JobTracker: java.lang.IllegalArgumentException: Does not contain a valid host:port authority: local
        at org.apache.hadoop.net.NetUtils.createSocketAddr(NetUtils.java:162)
        at org.apache.hadoop.net.NetUtils.createSocketAddr(NetUtils.java:128)
        at org.apache.hadoop.mapred.JobTracker.getAddress(JobTracker.java:2560)
        at org.apache.hadoop.mapred.JobTracker.<init>(JobTracker.java:2200)
        at org.apache.hadoop.mapred.JobTracker.<init>(JobTracker.java:2192)
        at org.apache.hadoop.mapred.JobTracker.<init>(JobTracker.java:2186)
        at org.apache.hadoop.mapred.JobTracker.startTracker(JobTracker.java:300)
        at org.apache.hadoop.mapred.JobTracker.startTracker(JobTracker.java:291)
        at org.apache.hadoop.mapred.JobTracker.main(JobTracker.java:4978)

我尝试了所有可能的方法来解决这个问题,但是徒劳无功。任何指针都会对我有很大帮助。

Hdfs-site.xml配置:

 <configuration><br>
   <property>
     <name>fs.default.name< /name>
     <value>hdfs://localhost:9100</value>
   </property>
   <property>
     <name>mapred.job.tracker< /name>
     <value>localhost:9101< /value>
   </property>
   <property>
     <name>dfs.replication< /name>
     <value>1</value>
   </property> 
 </configuration>

2 个答案:

答案 0 :(得分:13)

问题是以下行应该进入 mapred-site.xml 而不是hdfs-site.xml,

<property> 
<name>mapred.job.tracker</name> 
<value>localhost:9101</value> 
</property>

顺便问一下你为什么要在Windows中运行Hadoop?为了发展?你没有Linux机器或者不愿意安装它?

还有一件事,你通常把这个属性放在core-site.xml而不是hdfs-site.xml,

<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9100</value>
</property>

答案 1 :(得分:0)

在处理此页面上的“Pseudo Distributed”示例时遇到了同样的问题:http://hadoop.apache.org/docs/r1.1.2/single_node_setup.html#PseudoDistributed

原来,hadoop根本没有拿起我的conf文件。上面链接中的示例假设您正在安装hadoop(即/Usr/jane/hadoop-1.1.2)。我试图在另一个目录中运行示例。我确定你可以配置hadoop来识别其他'conf'目录,但是我采用了简单的路径并且刚开始在我的hadoop目录中运行。

这个帖子让我弄明白了:https://issues.apache.org/jira/browse/HDFS-2515