如何 运行 Hadoop 在本地(独立)模式下没有 ConnectionRefused 异常?

How to run Hadoop in Local (Standalone) Mode without ConnectionRefused Exception?

按照 "Hadoop: Setting up a Single-Node Cluster" 教程 (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;

随后是一个长堆栈跟踪,以及 link 到 http://wiki.apache.org/hadoop/ConnectionRefused我应该如何避免这个异常?


或者,我如何执行以下 3 个步骤?(它们是上述 link 中的说明选项)

  1. 检查客户端使用的主机名是否正确。

  2. 检查客户端尝试与之通信的 IP 地址,主机名是否正确。

  3. 确保异常中的目标地址不是 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 的配置是空的。

我发现配置存在一些问题。你说的存储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>