hadoop - 如何找到最慢的数据节点?

标签 hadoop hdfs hadoop2

我安装了一个具有 15 个数据节点的 HDFS 集群。有时整个hdfs集群的写入性能很慢。

我如何找到最慢的数据节点,哪个节点会导致这个问题。

最佳答案

数据节点缓慢的最常见原因是磁盘损坏。磁盘超时错误 (EIO) 默认范围为 30 到 90 秒,因此该磁盘上的任何事件都将花费很长时间。

您可以通过查看每个数据节点的 hdfs-site.xmls 中的 dfs.datanode.data.dir 并验证提到的每个目录是否有效来检查这一点。 例如:

  • 在目录上运行ls
  • cd 进入目录
  • 在目录下创建文件
  • 写入目录下的文件
  • 读取目录下的文件内容

如果这些事件中的任何一个不起作用或需要很长时间,那就是你的问题。

您还可以在每台主机上运行 dmesg 并查找磁盘错误。

附加信息

关于hadoop - 如何找到最慢的数据节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51740267/

相关文章:

hadoop - 顶点失败错误和映射器初始化失败 - Hive

apache-spark - 根据CSV分号分隔数据在HIVE中创建表

java - NameNode没有启动start-all.sh

hadoop - shuffle 和 sort 阶段是 map 还是 reduce 阶段的一部分?

hadoop - 如何使用色调在配置单元中传递变量

hadoop - 在 HDFS 文件的一部分上运行 MR 作业

python - 我想调用 HDFS REST api 来上传文件

java - 在 Java 中尝试从 HDFS 复制 FromLocalFile 时出现 “Wrong FS… expected: file:///”

java - 如果驱动程序崩溃,则终止 MapReduce 作业

hadoop - Hadoop>是在运行Hadoop作业时工作的datanode和namenode进程