【赫兹威客】伪分布式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服务停止命令,关闭所有相关服务。

具体命令:

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

相关推荐
冻感糕人~15 分钟前
收藏备用|小白&程序员必看!AI Agent入门详解(附工业落地实操关联)
大数据·人工智能·架构·大模型·agent·ai大模型·大模型学习
ai_xiaogui18 分钟前
【开源前瞻】从“咸鱼”到“超级个体”:谈谈 Panelai 分布式子服务器管理系统的设计架构与 UI 演进
服务器·分布式·架构·分布式架构·panelai·开源面板·ai工具开发
蓝眸少年CY22 分钟前
Hadoop2-HDFS文件系统
大数据·hadoop·hdfs
凯子坚持 c28 分钟前
如何基于 CANN 原生能力,构建一个支持 QoS 感知的 LLM 推理调度器
分布式
Web3VentureView30 分钟前
SYNBO Protocol AMA回顾:下一个起点——什么将真正推动比特币重返10万美元?
大数据·人工智能·金融·web3·区块链
老金带你玩AI34 分钟前
CC本次更新最强的不是OPUS4.6,而是Agent Swarm(蜂群)
大数据·人工智能
Hello.Reader39 分钟前
Flink Plugins 机制隔离 ClassLoader、目录结构、FileSystem/Metric Reporter 实战与避坑
大数据·flink
飞升不如收破烂~40 分钟前
Redis 分布式锁+接口幂等性使用+当下流行的限流方案「落地实操」+用户连续点击两下按钮的解决方案自用总结
数据库·redis·分布式
无心水43 分钟前
分布式定时任务与SELECT FOR UPDATE:从致命陷阱到优雅解决方案(实战案例+架构演进)
服务器·人工智能·分布式·后端·spring·架构·wpf