在Windows子系统(wsl)Ubuntu18.4中安装了Hadoop3.2.2版本,然后启动那么namenode和datanode,通过jps发现服务正常,但是访问namenode的web界面却访问不了。
首先我们来看看子系统用的是哪个ip
再看看Windows的ip,可以看出两个ip是一致的,所以子系统可以访问外网
修改core-site.xmlwe
文件:
<configuration>
<!--指定hdfs的唯一入口,以及namenode的地址-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://2.0.0.1:8020</value>
</property>
<!--配置hadoop的临时目录-->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/software/hadoop-3.2.2/datas</value>
</property>
</configuration>
修改hdfs-site.xml
文件
<configuration>
<!--配置hdfs中文件块的副本数-->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
在hadoop-env.sh
文件中添加JAVA-HOME
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
启动namenode
和datanode
在Windows中查看8020端口是否启动成功(并没有看到启动50070端口)
测试hdfs是否可用
访问namenode的web页面发现访问不了
其实在windows上查看端口时就没有看到2.0.0.1地址启动50070端口,访问不了就很正常了。
怎么解决这个问题呢?
先停止datanode和namenode(注意先后顺序,先停datanode再停namenode,不然会丢数据并且导致重启服务时服务异常)
然后在hdfs-site.xml
文件中添加以下配置指定hdfs地址和端口
<property>
<name>dfs.http.address</name>
<value>2.0.0.1:50070</value>
</property>
再重启namenode和datanode服务
在到windows的cmd中查看端口启用情况
再访问web页面,可以访问了
上图现象解释及解决办法
hadoop 异常 问题解决:NameNode is still loading. Redirecting to the Startup Progress page