我试着在使用Windows-Cygwin的hadoop上运行一个简单的程序。启动hadoop Job Tracker时出错
我可以启动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>
为什么是不合理的要在Windows不是运行Hadoop的,其他反对他们表明世界的Hadoop社区的持续的狭隘观点这样一个运行,只有一个可接受的操作系统 – 2013-03-19 16:45:25
通常Hadoop的人认为Windows机器是一个孩子的视频游戏。没有任何严重的事情。我觉得当他们厌倦了工作时,他们会使用windows机器的墙纸。 – 2013-12-16 09:17:55
因为虽然可能在Windows上运行Hadoop,但代码完全是在Linux环境中开发的,因此在Windows上运行它将引入不期望的变量,并导致已经非常复杂的事情的进一步复杂化。 Hadoop执行大量文件操作,而Java可能在Windows上运行,但并非所有本机操作都是相同的,特别是文件系统操作。它在窗户上运行都是奇迹。问题是你为什么要在Windows上运行它,这是为什么你想要未知的痛苦。 – AaronM 2014-03-08 21:05:55