【赫兹威客】伪分布式Hadoop测试教程

本文档为伪分布式大数据环境(1台虚拟机:hadoop)中Hadoop组件的功能测试教程,涵盖Hadoop服务启停、HDFS文件操作、MapReduce任务运行等核心测试场景。严格遵循视频操作流程,详细说明每个步骤的操作要点、执行命令及预期结果,助力高效完成Hadoop组件可用性及核心功能验证。

一、前期准备:环境基础信息

测试前需确认环境配置符合要求,避免因基础环境问题导致测试流程中断:

  • 虚拟机配置:1台虚拟机(命名为hadoop),已完成伪分布式Hadoop部署
  • 系统账号:优先使用hertz账号(密码:hertz);特殊操作需使用root账号(密码:1)
  • 工具准备:Mobaxterm远程连接工具(已安装并可正常使用)、本地浏览器(如Chrome、Edge)

二、Hadoop测试详细步骤

步骤1:确认虚拟机启动状态

操作说明:启动虚拟机,等待系统加载完成,直至出现登录页面。

预期结果:虚拟机正常启动,显示系统登录界面,无启动报错。

步骤2:使用Mobaxterm连接虚拟机

操作说明:打开本地Mobaxterm工具,按照伪分布式部署教程中的详细步骤建立与虚拟机的远程连接。

核心操作要点:

  • 新建远程连接,选择SSH连接方式
  • 输入虚拟机IP地址(需提前确认正确)
  • 选择登录账号类型(默认为普通用户)

预期结果:Mobaxterm连接成功,进入连接等待登录状态。

步骤3:输入账号密码完成登录

操作说明:在Mobaxterm连接成功后的登录界面,依次完成账号和密码输入。

具体操作:

  • 当终端显示账号输入提示时,输入:hertz
  • 回车后,终端显示密码输入提示,输入:hertz(密码输入时默认不显示明文)
  • 再次回车确认

预期结果:登录成功,终端界面显示当前登录用户及主机信息(如[hertz@hadoop ~]$)。

步骤4:启动Hadoop相关服务

操作说明:在登录成功的Mobaxterm终端中,执行Hadoop服务启动命令,启动HDFS和YARN相关服务。

具体命令:

预期结果:终端无报错提示,依次显示各服务(NameNode、DataNode、ResourceManager、NodeManager等)的启动日志信息。

步骤5:执行jps命令验证进程状态

操作说明:服务启动完成后,在终端中输入jps命令,查看当前运行的Java进程。

具体命令:jps

预期结果:终端输出进程列表,包含以下核心进程,说明Hadoop服务启动正常:

  • NameNode
  • DataNode
  • SecondaryNameNode
  • ResourceManager
  • NodeManager

步骤6:创建HDFS输入目录

操作说明:在终端中执行HDFS命令,创建/input目录,用于后续存储待处理文件。

具体命令:hdfs dfs -mkdir /input

预期结果:命令执行无报错,/input目录在HDFS根路径下创建成功。

步骤7:浏览器访问HDFS WebUI验证目录

操作说明:打开本地浏览器,输入HDFS WebUI访问地址,查看刚创建的/input目录。

具体操作:

  • 打开浏览器(如Chrome)
  • 地址栏输入:hadoop:9870
  • 进入页面后,点击左侧「Utilities」→「Browse the file system」

预期结果:浏览器成功加载HDFS文件系统页面,可在根路径下看到创建的/input目录。

步骤8:创建测试文本文件

操作说明:在终端中执行命令,先删除已存在的word.txt文件(若有),再创建新的word.txt并写入测试内容。

具体命令:rm -f word.txt && echo "hello hadoop" >> word.txt && echo "hello word" >> word.txt

说明:该命令通过&&串联,依次完成删除旧文件、写入两行文本的操作。

预期结果:命令执行无报错,在当前用户目录下成功创建word.txt文件,且文件包含两行测试文本。

步骤9:上传测试文件至HDFS输入目录

操作说明:执行HDFS上传命令,将本地创建的word.txt文件上传至HDFS的/input目录。

具体命令:hdfs dfs -put word.txt /input

预期结果:命令执行无报错,word.txt文件成功上传至HDFS的/input目录。

步骤10:浏览器验证文件并下载

操作说明:回到浏览器的HDFS WebUI页面,查看/input目录下是否新增word.txt文件,并下载该文件验证内容。

具体操作:

  • 在HDFS WebUI的/input目录页面,确认显示word.txt文件
  • 点击word.txt文件名称,选择「Download」下载文件至本地
  • 打开下载后的文件

预期结果:

  • 浏览器/input目录下成功显示word.txt文件
  • 下载后的文件打开后,包含"hello hadoop"和"hello word"两行文本

步骤11:查看HDFS输入目录文件列表

操作说明:在终端中执行HDFS命令,查看/input目录下的文件列表,再次验证文件上传情况。

具体命令:hdfs dfs -ls /input

预期结果:终端输出/input目录下的文件信息,包含word.txt文件的名称、大小、修改时间等。

步骤12:查看HDFS中测试文件内容

操作说明:在终端中执行HDFS命令,查看HDFS上/input/word.txt文件的内容。

具体命令:hdfs dfs -cat /input/word.txt

预期结果:终端输出文件内容,显示"hello hadoop"和"hello word"两行文本,与本地文件内容一致。

步骤13:浏览器访问YARN WebUI

操作说明:打开本地浏览器,输入YARN WebUI访问地址,查看YARN服务状态。

具体操作:

  • 打开浏览器(可新建标签页)
  • 地址栏输入:hadoop:8088

预期结果:浏览器成功加载YARN WebUI页面,显示集群节点、资源使用等信息,无服务异常提示。

步骤14:验证HDFS中output目录已存在

操作说明:回到浏览器的HDFS WebUI页面,查看根路径下是否已存在/output目录(若为重复测试,该目录可能残留)。

预期结果:浏览器HDFS根路径下可看到/output目录。

步骤15:删除HDFS中已存在的output目录

操作说明:在终端中执行HDFS删除命令,删除已存在的/output目录,避免影响后续MapReduce任务执行(MapReduce任务要求输出目录不存在)。

具体命令:hdfs dfs -rm -r /output

预期结果:命令执行无报错,HDFS根路径下的/output目录及其内容被彻底删除。

步骤16:执行MapReduce单词计数任务

操作说明:在终端中执行Hadoop自带的单词计数示例程序,对/input目录下的word.txt文件进行单词计数,输出结果至/output目录。

具体命令:hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar wordcount /input /output

说明:

  • $HADOOP_HOME为Hadoop安装目录,通过环境变量自动获取
  • *.jar通配符匹配当前Hadoop版本对应的示例程序jar包
  • wordcount为单词计数任务名称,/input为输入目录,/output为输出目录

预期结果:终端持续输出任务执行日志,最终显示"Successfully completed"等成功提示,MapReduce任务执行完成。

步骤17:查看MapReduce任务结果

操作说明:在终端中执行HDFS命令,查看/output目录下的任务结果文件内容。

具体命令:hdfs dfs -cat /output/*

预期结果:终端输出单词计数结果,显示各单词及其出现次数,即:hello 2、hadoop 1、word 1。

步骤18:下载任务结果文件并验证

操作说明:回到浏览器的HDFS WebUI页面,进入/output目录,下载任务结果文件并打开验证内容。

具体操作:

  • 在HDFS WebUI中进入/output目录,确认显示part-r-00000等结果文件
  • 点击结果文件名称,选择「Download」下载至本地
  • 打开下载后的结果文件

预期结果:下载的结果文件中包含正确的单词计数信息,与终端查看的结果一致。

步骤19:关闭Hadoop相关服务

操作说明:测试完成后,在终端中执行Hadoop服务停止命令,关闭所有相关服务。

具体命令:

预期结果:终端无报错提示,依次显示各服务的停止日志信息。

相关推荐
秦苒&2 小时前
【脉脉】AI 创作者 xAMA 知无不言:在浪潮里,做会发光的造浪者
大数据·c语言·数据库·c++·人工智能·ai·操作系统
Mangguo52082 小时前
国内好用的跨境电商ERP有哪些?深度技术解析
大数据
a努力。2 小时前
国家电网Java面试被问:分布式Top K问题的解决方案
java·开发语言·分布式·oracle·面试·职场和发展·kafka
_ziva_2 小时前
分布式(三)深入浅出理解PyTorch分布式训练:nn.parallel.DistributedDataParallel详解
人工智能·pytorch·分布式
江南小书生2 小时前
非标制造行业装配报工工时不准?缺料干扰+标准缺失如何破局?
大数据·人工智能
是垚不是土2 小时前
基于OpenTelemetry实现分布式链路追踪
java·运维·分布式·目标跟踪·系统架构
组合缺一2 小时前
Solon AI Remote Skills:开启分布式技能的“感知”时代
java·人工智能·分布式·agent·langgraph·mcp
jiunian_cn2 小时前
【Redis】Redis入门——分布式架构演进及Redis基本特性初识
redis·分布式·架构
阿白逆袭记2 小时前
Git原理与使用详解(二):初探Git仓库与核心工作流程
大数据·git·elasticsearch