温馨提示×

centos怎样测试hdfs

小樊
45
2026-08-05 03:51:45
栏目: 智能运维

CentOS 上测试 HDFS(Hadoop Distributed File System),通常分为 基本可用性测试功能测试。下面按常见场景一步步说明。


一、前提条件

确保你已经:

  • 安装并配置好 Hadoop
  • HDFS 服务已启动(NameNode / DataNode
  • 能在 CentOS 上使用 hadoop 命令

确认 Hadoop 环境变量:

echo $HADOOP_HOME
which hadoop

二、启动 HDFS(如果还没启动)

$HADOOP_HOME/sbin/start-dfs.sh

检查进程:

jps

应至少看到:

  • NameNode
  • DataNode
  • SecondaryNameNode(可选)

三、基础 HDFS 测试

1️⃣ 查看 HDFS 状态

hdfs dfsadmin -report

✅ 正常情况会显示集群容量、DataNode 数量等信息。


2️⃣ 测试 HDFS 是否能访问

hdfs dfs -ls /

✅ 不报错说明 HDFS 可用。


四、文件读写测试(最常用)

1️⃣ 创建测试目录

hdfs dfs -mkdir -p /test

2️⃣ 上传本地文件到 HDFS

echo "hello hdfs" > test.txt
hdfs dfs -put test.txt /test/

3️⃣ 查看 HDFS 文件

hdfs dfs -ls /test
hdfs dfs -cat /test/test.txt

✅ 能正常显示 hello hdfs 说明 写 + 读成功


4️⃣ 从 HDFS 下载文件

hdfs dfs -get /test/test.txt ./test_hdfs.txt
cat test_hdfs.txt

5️⃣ 删除测试文件

hdfs dfs -rm /test/test.txt
hdfs dfs -rmdir /test

五、HDFS 健康检查

1️⃣ 检查文件系统

hdfs fsck /

常见输出:

  • Status: HEALTHY
  • 无 missing blocks

2️⃣ 检查 NameNode Web UI

浏览器访问(默认端口 9870):

http://<namenode-ip>:9870

✅ 能看到 Live Nodes 说明集群正常


六、性能 / 压力测试(可选)

1️⃣ 写性能测试

hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-*-tests.jar TestDFSIO -write -nrFiles 2 -fileSize 128MB

2️⃣ 读性能测试

hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-*-tests.jar TestDFSIO -read -nrFiles 2 -fileSize 128MB

3️⃣ 清理测试数据

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

七、常见错误排查

❌ NameNode 没启动

hdfs namenode -format

⚠️ 注意:会清空 HDFS 数据,仅首次或测试环境使用


❌ 权限问题

hdfs dfs -chmod -R 777 /test

或切换用户:

sudo -u hdfs hdfs dfs -ls /

八、总结(快速测试流程)

start-dfs.sh
hdfs dfsadmin -report
hdfs dfs -mkdir /test
echo test > a.txt
hdfs dfs -put a.txt /test
hdfs dfs -cat /test/a.txt
hdfs fsck /

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

  • 单机伪分布式 还是 集群
  • CentOS 版本
  • Hadoop 版本

我可以给你更精确的测试命令和排错方案。

0