我安装了一个具有 15 个数据节点的 HDFS 集群。有时整个hdfs集群的写入性能很慢。
我如何找到最慢的数据节点,哪个节点会导致这个问题。
最佳答案
数据节点缓慢的最常见原因是磁盘损坏。磁盘超时错误 (EIO) 默认范围为 30 到 90 秒,因此该磁盘上的任何事件都将花费很长时间。
您可以通过查看每个数据节点的 hdfs-site.xmls 中的 dfs.datanode.data.dir
并验证提到的每个目录是否有效来检查这一点。
例如:
- 在目录上运行
ls
cd
进入目录- 在目录下创建文件
- 写入目录下的文件
- 读取目录下的文件内容
如果这些事件中的任何一个不起作用或需要很长时间,那就是你的问题。
您还可以在每台主机上运行 dmesg
并查找磁盘错误。
附加信息
- HDFS DataNode Scanners and Disk Checker Explained
- HDFS-7430 - 重写 BlockScanner 以使用 O(1) 内存并使用多线程
- https://superuser.com/questions/171195/how-to-check-the-health-of-a-hard-drive
关于hadoop - 如何找到最慢的数据节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51740267/