如何 运行 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 中的说明选项)
检查客户端使用的主机名是否正确。
检查客户端尝试与之通信的 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 的配置是空的。
我发现配置存在一些问题。你说的存储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>
按照 "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 中的说明选项)
检查客户端使用的主机名是否正确。
检查客户端尝试与之通信的 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 的配置是空的。
我发现配置存在一些问题。你说的存储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>