登 录
注 册
< 大 数 据
Flink
Hadoop
Spark
Hive
HBase
Kafka
其他框架
Kerberos服务介绍与部署
Hadoop HA简介
HDFS手动故障转移
HDFS手动故障转移示例
HDFS自动故障转移
YARN自动故障转移
Hadoop白名单与扩容
HDFS存储优化-纠删码
HDFS冷热存储分离
HDFS慢磁盘监控
HDFS小文件归档
源码分析-NN启动(一)
源码分析-NN启动(二)
源码分析-NN启动(三)
热门推荐>>>
中台架构
中台建设与架构
HBase
HBased对接Hive
Linux
Nginx高可用
Python
数据导出工具
Flink
3分钟搭建Flink SQL测试环境
Kafka
Kafka对接Flume
深度学习
卷积神经网络
数据结构与算法
选择合适的算法
MySQL
数据备份恢复
计算机系统
信号量同步线程
Hive
Hive调优参数大全
其他框架
Azkaban Flow1.0与2.0
ClickHouse
表引擎-其他类型
技术成长
最好的职业建议
精选书单
技术成长书单—机器学习
技术资讯
数据在线:计算将成为公共服务
开发工具
IntelliJ IDEA 20年发展回顾(二)
系统工具
Mac命令行工具
虚拟化
内存虚拟化概述
云原生
云原生构建现代化应用
云服务
一文搞懂公有云、私有云...
Java
Spring Boot依赖注入与Runners
Go
Go函数与方法
SQL
SQL模板
安全常识
一文读懂SSO
当前位置:
首页
>>
Hadoop
>>
HDFS慢磁盘监控
HDFS慢磁盘监控
2021-07-25 10:44:21 星期日 阅读:1262
慢磁盘指的时写入数据非常慢的一类磁盘。其实慢性磁盘并不少见,当机器运行时间长了,上面跑的任务多了,磁盘的读写性能自然会退化,严重时就会出现写入数据延时的问题。 ####如何发现慢磁盘? 正常在HDFS上创建一个目录,只需要不到1s的时间。如果你发现创建目录超过1分钟及以上,而且这个现象并不是每次都有。只是偶尔慢了一下,就很有可能存在慢磁盘。可以采用如下方法找出是哪块磁盘慢: ##### 一、通过上一次心跳时间 一般出现慢磁盘现象,会影响到DataNode与NameNode之间的心跳。正常情况心跳时间间隔是3s。超过3s说明有异常。 这个时间可在hdfs web监控页面查看到 ![](/static/images/article_images/1627180412.40481.jpeg) ##### 二、测试磁盘的读写性能 这里主要用到Linux的fio命令 > **顺序读测试** ```shell sudo fio -filename=/opt/service/hadoop/data/test.log -direct=1 -iodepth 1 -thread -rw=read -ioengine=psync-bs=16k -size=2G -numjobs=10 -runtime=60 -group_reporting -name=test_r ``` 一般来说,如果是固态硬盘,大概在300 - 500MB左右的速度 Run status group 0 (all jobs):READ: bw=**360MiB/s (378MB/s)**, 360MiB/s-360MiB/s (378MB/s-378MB/s), io=20.0GiB (23.15GB), run=56885-56885msec > **顺序写测试** ```shell sudo fio -filename=/opt/service/hadoop/data/test.log -direct=1 -iodepth 1 -thread -rw=write -ioengine=psync-bs=16k -size=2G -numjobs=10 -runtime=60 -group_reporting -name=test_w ``` > **随机写测试** ```shell sudo fio -filename=/opt/service/hadoop/data/test.log -direct=1 -iodepth 1 -thread -rw=randwrite -ioengine=psync-bs=16k -size=2G -numjobs=10 -runtime=60 -group_reporting -name=test_randw ``` > **混合随机读写测试** ```shell sudo fio -filename=/opt/service/hadoop/data/test.log -direct=1 -iodepth 1 -thread -rw=randrw -rwmixread=70 -ioengine=psync -bs=16k -size=2G -numjobs=10 -runtime=60 -group_reporting -name=test_r_w -ioscheduler=noop ``` **`一般来说,顺序读 > 顺序写 > 随机写 > 混合随机读写`**,在生产中可定制监控脚本,设置阈值,每天监控集群所有节点的磁盘健康状态