本文档为完全分布式大数据环境(3台虚拟机:hadoop01~hadoop03)中Hadoop组件(含HDFS、YARN、历史服务器)的独立测试教程,基于视频操作流程,结合完全分布式测试文档的规范要求,详细说明从环境准备、远程连接到服务启停、功能验证(文件操作、Web页面验证、任务提交)的全流程,适用于验证Hadoop集群的独立可用性。
一、前期准备:环境基础信息与测试前提
测试前需确认环境配置及依赖组件状态符合要求,避免因环境问题导致测试失败:
1.1 基础环境信息
- 虚拟机配置:3台虚拟机(命名为hadoop01、hadoop02、hadoop03),硬盘总配置100GB~200GB,已完成基础环境部署
- 系统账号:优先使用hertz账号(密码:hertz);特殊操作需使用root账号(密码:1)
- 工具准备:Mobaxterm远程连接工具(已安装并可正常使用)、本地浏览器(用于访问Web页面)
1.2 测试前提
- 3台虚拟机(hadoop01~hadoop03)均正常启动,已到达登录页面
- ZooKeeper服务已正常启动(分布式脚本在hadoop01执行:zk start),且状态正常(1台Leader、2台Follower)
- 确保Hadoop相关端口无占用(HDFS默认端口9870、YARN默认端口8088)
二、Hadoop测试详细步骤
步骤1:确认虚拟机启动状态
操作说明:分别检查3台虚拟机(hadoop01、hadoop02、hadoop03)的启动状态,确保每台虚拟机系统加载完成,均已到达登录页面。
预期结果:3台虚拟机均正常启动,无启动报错,各自显示系统登录界面。

步骤2:使用Mobaxterm连接虚拟机
操作说明:打开本地Mobaxterm工具,按照伪分布式部署教程中的详细步骤,分别建立与3台虚拟机(hadoop01、hadoop02、hadoop03)的SSH远程连接。
核心操作要点:
- 新建远程连接,选择SSH连接类型
- 分别输入3台虚拟机对应的正确IP地址
- 默认选择普通用户登录类型,无需额外修改
预期结果:3台虚拟机的Mobaxterm连接均成功建立,各自进入等待登录状态。

步骤3:输入账号密码完成登录
操作说明:在3台虚拟机对应的Mobaxterm连接终端中,依次完成账号和密码的输入操作。
具体操作:
- 终端提示输入账号时,输入:hertz
- 回车后,终端提示输入密码,输入:hertz(密码输入时无明文显示,直接输入后回车即可)
预期结果:3台虚拟机均登录成功,终端界面分别显示当前登录用户及主机标识,如[hertz@hadoop01 ~]、\[hertz@hadoop02 \~\]、[hertz@hadoop03 ~]$。

步骤4:启动Hadoop相关服务
操作说明:在登录成功的hadoop01节点终端中,执行Hadoop集群整体启动命令(分布式脚本统一在hadoop01执行),启动前需确认ZooKeeper服务已正常运行。
具体命令:start-all.sh
说明:该命令为Hadoop内置集群脚本,执行后可一键启动所有节点的HDFS(分布式文件系统)和YARN(资源管理器)相关进程,无需在各节点单独启动。
预期结果:终端逐步输出各节点HDFS、YARN组件的启动日志,无报错提示。

步骤5:执行jps命令验证进程状态
操作说明:启动命令执行完成后,分别在hadoop01、hadoop02、hadoop03节点的终端中输入jps命令,查看各节点Java进程运行情况。
具体命令:jps
预期结果:各节点进程符合以下要求,说明Hadoop服务启动正常:
- hadoop01节点:包含NameNode、ResourceManager、DataNode、NodeManager进程
- hadoop02~hadoop03节点:均包含DataNode、NodeManager进程


步骤6:创建HDFS测试目录
操作说明:在hadoop01节点终端中,执行HDFS目录创建命令,创建/test_hdfs测试目录。
具体命令:hdfs dfs -mkdir /test_hdfs
预期结果:命令执行报错,/test_hdfs目录已经存在(以前创建的)。

步骤7:浏览器访问HDFS页面并删除目录、 再 创建 test_hdfs 目录
操作说明:先通过本地浏览器访问HDFS Web页面验证/test_hdfs目录,手动删除后创建/test_hdfs目录。
具体操作:
- 打开本地浏览器,在地址栏输入:hadoop01:9870

- 在Web页面中找到"Browse the file system"选项,点击进入HDFS根目录,找到/test_hdfs目录,点击删除按钮手动删除该目录


- 返回hadoop01节点终端,执行命令:hdfs dfs -mkdir /test_hdfs,创建/test_hdfs目录


预期结果:
- 浏览器可正常打开Hadoop HDFS页面(端口9870),无访问失败提示
- /test_hdfs目录手动删除成功,执行hdfs dfs -mkdir /test_hdfs命令后无报错,/test_hdfs目录重新创建成功
步骤8:本地创建测试文件
操作说明:在hadoop01节点终端中,执行echo命令创建本地测试文件test.txt,并写入测试内容。
具体命令:echo "hadoop test" > test.txt
预期结果:命令执行无报错,在当前用户目录下生成test.txt文件,文件内容为"hadoop test"。

步骤9:上传本地测试文件到HDFS
操作说明:在hadoop01节点终端中,执行HDFS文件上传命令,将本地创建的test.txt文件上传到HDFS的/test_hdfs目录(需先重新创建/test_hdfs目录,命令:hdfs dfs -mkdir /test_hdfs)。
具体命令:hdfs dfs -put test.txt /test_hdfs
预期结果:命令执行无报错,test.txt文件成功上传到HDFS的/test_hdfs目录下。

步骤10:浏览器验证文件并下载打开
操作说明:再次打开本地浏览器访问Hadoop HDFS页面(hadoop01:9870),验证文件上传情况并下载文件。
具体操作:
- 进入HDFS Web页面的"Browse the file system",导航到/test_hdfs目录
- 查看目录下是否存在test.txt文件,确认文件存在后,点击文件对应的下载按钮,将文件下载到本地
- 打开本地下载的test.txt文件,查看内容
预期结果:
- 浏览器中/test_hdfs目录下可看到test.txt文件,文件大小与本地文件一致
- 文件下载成功,打开后内容为"hadoop test",无乱码或内容缺失



步骤11:查看HDFS文件内容
操作说明:在hadoop01节点终端中,执行HDFS文件读取命令,查看/test_hdfs目录下test.txt文件的内容。
具体命令:hdfs dfs -cat /test_hdfs/test.txt
预期结果:命令执行无报错,终端输出"hadoop test",与文件原始内容一致。

步骤12:浏览器访问YARN Web页面
操作说明:打开本地浏览器,访问Hadoop YARN的Web管理页面,验证YARN服务运行状态。
具体操作:在浏览器地址栏输入:hadoop01:8088
预期结果:浏览器可正常打开YARN Web页面,无访问失败提示,页面显示集群相关信息。

步骤13:删除遗留输出目录
操作说明:在hadoop01节点终端中,执行HDFS目录删除命令,删除之前可能存在的/test_hdfs_output目录(避免遗留数据干扰后续词频统计任务执行)。
具体命令:hdfs dfs -rm -r /test_hdfs_output
预期结果:若目录存在,命令执行后显示删除成功;若目录不存在,终端提示"rm: `/test_hdfs_output': No such file or directory",均不影响后续操作。


步骤14:提交词频统计任务
操作说明:在hadoop01节点终端中,执行Hadoop内置的词频统计示例任务,以HDFS上/test_hdfs目录下的test.txt为输入文件,/test_hdfs_output为输出目录。
具体命令:hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar wordcount /test_hdfs /test_hdfs_output
说明:$HADOOP_HOME为Hadoop安装目录的环境变量,命令中"*"为通配符,可自动匹配对应版本的示例jar包;wordcount为词频统计任务类名。
预期结果:终端逐步输出任务提交、MapReduce阶段运行日志,无报错提示,最终显示任务执行成功(含成功完成的Map数、Reduce数)。


步骤15:查看词频统计结果
操作说明:在hadoop01节点终端中,执行HDFS文件读取命令,查看词频统计任务的输出结果。
具体命令:hdfs dfs -cat /test_hdfs_output/*
预期结果:命令执行无报错,终端输出词频统计结果:hadoop 1、test 1,与输入文件内容匹配。

步骤16:关闭Hadoop服务
操作说明:任务验证完成后,在hadoop01节点终端中执行Hadoop集群整体停止命令,关闭所有节点的HDFS和YARN相关服务。
具体命令:stop-all.sh
说明:若后续无需使用ZooKeeper服务,可在Hadoop服务停止后,执行zk stop命令关闭ZooKeeper集群。
预期结果:终端逐步输出各节点HDFS、YARN组件的停止日志,无报错提示。
