在“Hadoop:设置单节点群集”教程(https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/SingleCluster.html#YARN_on_Single_Node)之后,我尝试在本地(独立)模式下运行Hadoop,但我收到了ConnectionRefused异常。当我尝试运行此命令时:
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar grep input output 'dfs[a-z.]+'
我收到以下消息:
java.net.ConnectException: Call From 4295i/127.0.1.1 to localhost:9000 failed on connection exception: java.net.ConnectException: Connection refused;
此后会出现一个长堆栈跟踪,以及指向http://wiki.apache.org/hadoop/ConnectionRefused的链接。 我应该如何避免此异常?
或者,如何执行以下3个步骤?(它们是上述链接中的指令选项)
检查客户端使用的主机名是否正确。
检查客户端尝试与之通话的IP地址是否正确。
确保异常中的目标地址不是0.0.0.0 - 这意味着您实际上没有为客户端配置真实地址。
这是我在core-site.xml中的配置:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
这是我在hdfs-site.xml中的配置:
<configuration>
<property>
<name>dfs.name.dir</name>
<value>/home/USERNAME/pseudo/dfs/name</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/home/USERNAME/pseudo/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
我对mapred-site.xml.template和yarn-site.xml的配置为空。
答案 0 :(得分:1)
我发现配置存在一些问题。您提到的用于存储namenode和datanode数据的路径不是绝对的。它应该以斜杠(/)开头。我做了更改,下面给出了更新的配置。 另一个建议是将这个目录保存在用户主目录之外。
<configuration>
<property>
<name>dfs.name.dir</name>
<value>/home/USERNAME/pseudo/dfs/name</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/home/USERNAME/pseudo/dfs/data</value>
</property>