我尝试使用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)