在 CentOS 上测试 HDFS 读写,通常有两种方式:
1️⃣ 使用 HDFS 自带命令(最常用)
2️⃣ 使用 TestDFSIO / 性能测试工具(压测)
下面按常见场景说明。
确保:
HADOOP_HOME 已配置hdfs dfsadmin -report
或
hadoop fs -ls /
能正常执行即说明环境 OK。
hadoop fs -put /etc/hosts /test/hosts
或
hdfs dfs -put /etc/hosts /test/hosts
hadoop fs -get /test/hosts /tmp/hosts
hadoop fs -cat /test/hosts
hadoop fs -rm /test/hosts
✅ 如果能上传、下载、查看,说明 HDFS 读写正常。
dd if=/dev/zero of=/tmp/testfile bs=1M count=500
生成 500MB 文件
time hadoop fs -put /tmp/testfile /test/testfile
time hadoop fs -get /test/testfile /tmp/testfile2
hadoop fs -rm /test/testfile
hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-*-tests.jar TestDFSIO \
-write -nrFiles 10 -fileSize 100
参数说明:
-nrFiles:文件个数-fileSize:每个文件大小(MB)hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-*-tests.jar TestDFSIO \
-read -nrFiles 10 -fileSize 100
hadoop fs -cat /benchmarks/TestDFSIO/io_write/part-00000
hadoop fs -cat /benchmarks/TestDFSIO/io_read/part-00000
hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-*-tests.jar TestDFSIO -clean
hadoop fs -mkdir /test
hadoop fs -chmod 777 /test
或切换用户:
sudo -u hdfs hadoop fs -put ...
core-site.xmlsystemctl stop firewalld
| 目的 | 方法 |
|---|---|
| 基本读写 | hadoop fs -put / -get |
| 大文件 | dd + put/get |
| 性能测试 | TestDFSIO |
如果你愿意,可以告诉我:
我可以给你更精确的测试命令。