2016-07-06 43 views
0

我已经在运行于virtualbox上的ubuntu上安装了hadoop。当我第一次安装hadoop时,我可以启动hdfs并创建没有问题的目录。Hadoop伪分布式java.net.ConnectException:在虚拟框上拒绝连接

但是,当我尝试在hdfs上运行ls命令时,我重新启动虚拟机时,出现“连接被拒绝”错误。然后,我在sshd_config基础上添加了“Port 9000”Hadoop cluster setup - java.net.ConnectException: Connection refused,现在我得到了“ls:本地异常失败:com.google.protobuf.InvalidProtocolBufferException:协议消息标记具有无效的线路类型;主机详细信息:本地主机为:” hadoop/127.0.1.1“;目标主机是:”localhost“:9000;

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

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

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

<configuration> 
    <property> 
     <name>dfs.replication</name> 
     <value>1</value> 
    </property> 
</configuration> 
+0

这是否问题的帮助:http://stackoverflow.com/questions/31849433/hadoop-protocol-message-tag-had-invalid-wire-type –

+0

这是不同的问题。 – zhumingvictor

回答

0

好的。我解决了它。 我运行jps,发现namenode无法启动。然后,当我试图弄清楚什么是错误时,我一直在看“hadoop-xxx-namenode-hadoop.out”,它几乎没有任何有用的信息。所以我看着“hadoop-xxx-namenode-hadoop.log”,它清楚地显示错误“org.apache.hadoop.hdfs.server.common.InconsistentFSStateException:Directory/tmp/hadoop-xxx/dfs/name is在不一致的状态下:存储目录不存在或不可访问

我做了更多研究,默认情况下,Hadoop会将namenode和datanode文件放在系统临时目录中。当我重新启动时,目录被删除。所以我必须做的是更改“hdfs-site.xml”并添加“dfs.namenode.name.dir”和“dfs.namenode.data.dir”属性。然后当我尝试启动hdfs时,我得到了“地址已被使用”。我使用的端口是9000,重新启动后它绑定了“tcp 0 0 *:9000”,所以我改变了core-site.xml中的“fs.defaultFS”以代替使用9001。现在一切都可以开始。

希望这可以帮助。

相关问题