启动hadoop Job Tracker时出错

sta*_*ser 9 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)
Run Code Online (Sandbox Code Playgroud)

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

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>
Run Code Online (Sandbox Code Playgroud)

SSa*_*ker 13

问题是mapred-site.xml和NOT hdfs-site.xml中应该有以下几行,

<property> 
<name>mapred.job.tracker</name> 
<value>localhost:9101</value> 
</property>
Run Code Online (Sandbox Code Playgroud)

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

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

<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9100</value>
</property>
Run Code Online (Sandbox Code Playgroud)

  • 为什么想要在Windows上运行Hadoop是不合理的,除了这样做之外,针对Hadoop社区持续盲目的世界观,这表明只有一个可接受的操作系统? (8认同)
  • 因为尽管可以在Windows上运行Hadoop,但代码完全是在Linux环境中开发的,因此在Windows上运行它将引入不期望的变量,并导致已经非常复杂的事情的进一步复杂化.Hadoop执行大量文件操作,虽然Java可能在Windows上运行,但并非所有本机操作都完全相同,尤其是文件系统操作.它在Windows上运行完全是一个奇迹.问题不是你为什么要在Windows上运行它,这就是为什么你想要未知的痛苦. (6认同)