前段时间我在我的电脑上安装并配置了 Hadoop,它一直运行良好。但是,我现在尝试连接到 hdfs,但出现错误:
Call From USER-MacBook-Air.local/192.168.0.174 to localhost:8020 failed on connection exception: java.net.ConnectException: Connection refused;
我对core-site.xml的配置是:
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/Cellar/hadoop/hdfs/tmp</value>
<description>A base for other temporary directories</description>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:8020</value>
</property>
</configuration>
hdfs-site.xml 的配置:
<configuration>
<property>
<name>fs.default.name</name>
<value>localhost:8020</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
当我尝试检查我的 Namenode 时:
bin/hadoop namenode -format
STARTUP_MSG: Starting NameNode
STARTUP_MSG: host = USER-MacBook-Air.local/192.168.0.174
STARTUP_MSG: args = [-format]
STARTUP_MSG: version = 3.3.0
我不知道为什么,但我认为问题出在大量 NameNode 上。但我不确定如何解决它以及它应该如何解决。我正在使用 Java 15 在 mac 上工作。目前我非常困惑。任何有关如何解决问题的建议将不胜感激。谢谢。
答案 0 :(得分:0)
尝试使用以下 1 个节点更改您的配置:
hdfs-site.xml
<configuration>
<property>
<name>dfs.datanode.max.transfer.threads</name>
<value>4096</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
core-site.xml:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/yourpath/hadoop-3.x.x/dirdata</value>
</property>
</configuration>
确保您可以毫无问题地执行 'ssh localhost' 或询问密码(请参阅 this)。