问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Hadoop伪分布式环境Web界面无法访问的解决方案

创作时间:
作者:
@小白创作中心

Hadoop伪分布式环境Web界面无法访问的解决方案

引用
CSDN
1.
https://blog.csdn.net/Yaoyao2024/article/details/137166074

一、问题描述

在启动Hadoop服务时,使用以下命令:

cd /usr/local/hadoop/
./sbin/stop-all.sh
./sbin/start-all.sh

通过jps命令查看当前Hadoop进程,看似没有问题。但是尝试访问http://localhost:9870http://localhost:8088时,发现无法连接。

二、解决方法和问题分析

2.1 缺少NameNode进程

核心问题在于NameNode进程没有正确启动。需要先执行以下命令初始化NameNode:

hdfs namenode -format

然后重新启动Hadoop服务(注意:再次启动前需要先停止之前启动的进程,否则会报错):

./sbin/stop-all.sh
./sbin/start-all.sh

重启后,再次访问http://localhost:9870即可成功访问。

2.2 缺少ResourceManager和NodeManager

原因在于只使用了start-dfs.sh命令,该命令只会启动部分进程。应该使用start-all.sh命令,该命令是start-dfs.shstart-yarn.sh的合并,可以启动所有必要的进程:

./sbin/start-all.sh

这样可以确保启动6个关键进程:Namenode、DataNode、SecondaryNameNode、ResourceManager、NodeManager和JPS。

2.3 HistoryServer未启动

如果需要查看已完成的Job日志,需要手动启动HistoryServer:

mr-jobhistory-daemon.sh start historyserver

关闭命令:

mr-jobhistory-daemon.sh stop historyserver

三、配置文件优化

hdfs-site.xml中进行如下配置:

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/usr/local/hadoop/tmp/dfs/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/usr/local/hadoop/tmp/dfs/data</value>
    </property>
    <property>
        <name>dfs.namenode.http-address</name>
        <value>0.0.0.0:9870</value>
    </property>
</configuration>

确保环境变量配置正确,可以参考相关教程进行配置。

通过以上步骤,可以解决Hadoop伪分布式环境下常见的Web界面无法访问问题。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号