hadoop伪分布式java.net.connectexception:虚拟机上的连接被拒绝

piok6c0g  于 2021-06-02  发布在  Hadoop
关注(0)|答案(5)|浏览(538)

我已经在运行virtualbox的ubuntu上安装了hadoop。当我第一次安装hadoop时,我可以毫无问题地启动hdfs并创建目录。
但是在我重新启动虚拟机之后,当我尝试在hdfs上运行ls命令时,出现了“connectiondenied”错误。然后我在hadoop cluster setup-java.net.connectexception:connection densed now的sshd\u config中添加了“port 9000”,得到了“ls:failed on local exception:com.google.protobuf.invalidprotocolbufferexception:protocol message tag had invalid wire type;”。;主机详细信息:本地主机为:“hadoop/127.0.1.1”;目的主机为:“localhost”:9000

2ledvvac

2ledvvac1#

----etc/hadoop/hdfs-site.xml文件

u0sqgete

u0sqgete2#

好 啊。我解决了。我运行jps发现namenode启动失败。当我试图找出问题所在时,我一直在看“hadoopnamenodehadoop.out”,它几乎没有有用的信息。因此,我查看了“hadoop namenode hadoop.log”,它清楚地显示了错误“org.apache.hadoop.hdfs.server.common.inconsistentfsstateexception:directory/tmp/hadoop /dfs/name处于不一致状态:存储目录不存在或不可访问。”
做了更多的研究,我发现默认情况下hadoop会把namenode和datanode文件放在system temp目录下。当我重新启动时,目录被删除了。所以我要做的就是更改“hdfs site.xml”并添加“dfs.namenode.name.dir”和“dfs.namenode.data.dir”属性。当我尝试启动hdfs时,我得到了“地址已经在使用中”。我使用的端口是9000,重新启动后它与“tcp 0 0*:9000”绑定,因此我将core-site.xml中的“fs.defaultfs”改为使用9001。现在一切都可以开始了。
希望这能有所帮助。

kkbh8khc

kkbh8khc3#


<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>
yhqotfr8

yhqotfr84#


<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>
4dc9hkyq

4dc9hkyq5#

----etc/hadoop/core-site.xml文件

相关问题