Hadoop伪分布式部署踩坑


在上Hadoop分布式存储课时首先让我们部署一个简单的伪分布式存储系统,但是实机安装和机房老师已经弄好的快照还是十分不同的,踩了一些坑。

1. 启动namenode时,自动关闭

查询 log (日志) 可以发现如下错误代码:

1
2
3
hadoop-root-namenode-localhost.localdomain.log

Call From hadoop to null:0 failed on socket exception:java.net.SocketException: Unresolved address

解决方法:

  • 修改etc/hadoop目录下的core-site.xml,把hdfs://hadoop:9000中的hadoop改为本机ip。
  • 或在namenode主机 hosts (主机) 将hadoop代理到本机ip。

2. namenode启动成功,关闭防火墙后无法访问50070端口

解决方法:

  • 先查看端口开放情况
    netstat -ant

  • 50070端口显示为
    127.0.0.1:50070

  • 将绑定IP改为0.0.0.0,而不是本地回环IP,这样,就能够实现外网访问本机的50070端口。
    在hdfs-site.xml中修改添加如下代码:

    1
    2
    3
    4
    5
    6
    hdfs-site.xml

    <property>
    <name>dfs.http.address</name>
    <value>0.0.0.0:50070</value>
    </property>

评论