温馨提示×

centos如何测试hdfs读写

小樊
54
2026-10-09 08:31:15
栏目: 智能运维

在 CentOS 上测试 HDFS 读写,通常有两种方式:
1️⃣ 使用 HDFS 自带命令(最常用)
2️⃣ 使用 TestDFSIO / 性能测试工具(压测)

下面按常见场景说明。


一、前提条件

确保:

  • 已安装 Hadoop
  • HADOOP_HOME 已配置
  • HDFS 服务已启动(NameNode / DataNode)
  • 当前用户有 HDFS 写权限
hdfs dfsadmin -report

或

hadoop fs -ls /

能正常执行即说明环境 OK。


二、使用 HDFS 命令测试读写(最基础)

1️⃣ 写测试(上传文件)

hadoop fs -put /etc/hosts /test/hosts

或

hdfs dfs -put /etc/hosts /test/hosts

2️⃣ 读测试(下载文件)

hadoop fs -get /test/hosts /tmp/hosts

3️⃣ 查看文件

hadoop fs -cat /test/hosts

4️⃣ 删除测试文件

hadoop fs -rm /test/hosts

✅ 如果能上传、下载、查看,说明 HDFS 读写正常。


三、使用 dd + HDFS 测试大文件读写

1️⃣ 本地生成测试文件

dd if=/dev/zero of=/tmp/testfile bs=1M count=500

生成 500MB 文件

2️⃣ 写入 HDFS

time hadoop fs -put /tmp/testfile /test/testfile

3️⃣ 从 HDFS 读回

time hadoop fs -get /test/testfile /tmp/testfile2

4️⃣ 清理

hadoop fs -rm /test/testfile

四、使用 TestDFSIO 进行 HDFS 性能测试(推荐)

1️⃣ 写性能测试

hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-*-tests.jar TestDFSIO \
-write -nrFiles 10 -fileSize 100

参数说明:

  • -nrFiles:文件个数
  • -fileSize:每个文件大小(MB)

2️⃣ 读性能测试

hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-*-tests.jar TestDFSIO \
-read -nrFiles 10 -fileSize 100

3️⃣ 查看测试结果

hadoop fs -cat /benchmarks/TestDFSIO/io_write/part-00000
hadoop fs -cat /benchmarks/TestDFSIO/io_read/part-00000

4️⃣ 清理测试数据

hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-*-tests.jar TestDFSIO -clean

五、常见问题排查

❌ Permission denied

hadoop fs -mkdir /test
hadoop fs -chmod 777 /test

或切换用户:

sudo -u hdfs hadoop fs -put ...

❌ Cannot connect to NameNode

  • 检查 core-site.xml
  • 检查防火墙
systemctl stop firewalld

六、总结

目的 方法
基本读写 hadoop fs -put / -get
大文件 dd + put/get
性能测试 TestDFSIO

如果你愿意,可以告诉我:

  • Hadoop 版本
  • 是否 HA
  • 是单节点还是集群

我可以给你更精确的测试命令。

0 踩