编辑
2025-12-20
大数据
00

目录

一、hdfs测试
HDFS 基础操作(验证存储功能)
MapReduce 经典 WordCount(验证计算功能)
二、hdfs伪分布模式

一、hdfs测试

HDFS 基础操作(验证存储功能)

核心验证:HDFS 能创建目录、上传 / 下载文件、查看文件内容、删除文件,代表 HDFS 存储链路正常。

js
# 在HDFS根目录下创建test目录(HDFS路径以/开头) hadoop fs -mkdir /test # 验证目录创建成功 hadoop fs -ls / # 输出中能看到 drwxr-xr-x - root supergroup 0 2025-12-20 05:00 /test
js
# 在本地(服务器)创建一个文本文件,写入测试内容 echo "Hello Hadoop Hello MapReduce Hello YARN Hadoop is cool" > /tmp/test.txt # 查看本地文件内容(确认无误) cat /tmp/test.txt # 把本地/tmp/test.txt上传到HDFS的/test目录下 hadoop fs -put /tmp/test.txt /test/ # 验证上传成功 hadoop fs -ls /test # 输出:-rw-r--r-- 1 root supergroup 56 2025-12-20 05:01 /test/test.txt # 读取HDFS中test.txt的内容(验证能正常读取) hadoop fs -cat /test/test.txt # 输出和本地文件一致: # Hello Hadoop # Hello MapReduce # Hello YARN # Hadoop is cool # 先删除本地/tmp/test_download.txt(避免冲突) rm -rf /tmp/test_download.txt # 从HDFS下载/test/test.txt到本地/tmp/test_download.txt hadoop fs -get /test/test.txt /tmp/test_download.txt # 验证下载的文件内容 cat /tmp/test_download.txt # 内容和原文件一致则正常

MapReduce 经典 WordCount(验证计算功能)

核心验证:YARN 资源调度正常、MapReduce 计算框架能运行,代表 Hadoop 计算链路正常(这是 Hadoop 最经典的入门案例,统计文本中单词出现次数)。

js
# 1. 本地创建更丰富的测试文件 echo "apple banana apple banana orange apple orange grape" > /tmp/wordcount.txt # 2. 重新创建HDFS目录并上传文件 hadoop fs -mkdir /wordcount hadoop fs -put /tmp/wordcount.txt /wordcount/ # 3. 验证上传成功 hadoop fs -cat /wordcount/wordcount.txt

执行 WordCount 计算(调用 Hadoop 自带的示例 Jar 包)

js
# 核心命令:hadoop jar <示例Jar包路径> <WordCount类名> <输入路径> <输出路径> hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar wordcount /wordcount/wordcount.txt /wordcount/output # 执行过程会输出大量日志,关键看最后是否有 "Job job_xxxx completed successfully" 提示

注意

输出路径 /wordcount/output 必须不存在(Hadoop 禁止覆盖已有目录,否则报错);

若报错 “找不到 Jar 包”,检查 Jar 包路径:ls $HADOOP_HOME/share/hadoop/mapreduce/ 确认 hadoop-mapreduce-examples-3.3.6.jar 存在。

查看 WordCount 计算结果

js
# 查看输出目录下的结果文件(MapReduce的输出会拆分成part-r-00000) hadoop fs -cat /wordcount/output/part-r-00000 # 正常输出(单词+出现次数): apple 3 banana 2 grape 1 orange 2

image.png

二、hdfs伪分布模式

HDFS 伪分布式(Pseudo-Distributed)是单节点模拟分布式 HDFS 集群的部署模式 —— 所有 HDFS 核心进程(NameNode、DataNode、SecondaryNameNode)都运行在同一台服务器上,但进程间通过网络通信、按分布式逻辑协作(区别于 “单机模式” 的单进程运行)。

本文作者:松轩(^U^)

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!

Document