文档首页/ MapReduce服务 MRS/ 组件操作指南(安卡拉区域)/ 使用HDFS/ HDFS常见问题/ 当dfs.datanode.data.dir中定义的磁盘数量等于dfs.datanode.failed.volumes.tolerated的值时,DataNode启动失败
更新时间:2024-11-29 GMT+08:00

当dfs.datanode.data.dir中定义的磁盘数量等于dfs.datanode.failed.volumes.tolerated的值时,DataNode启动失败

问题

“dfs.datanode.data.dir”中定义的磁盘数量等于“dfs.datanode.failed.volumes.tolerated”的值时,DataNode启动失败。

回答

默认情况下,单个磁盘的故障将会引起HDFS DataNode进程关闭,导致NameNode为每一个存在DataNode上的block调度额外的副本,在没有故障的磁盘中引起不必要的块复制。

为了防止此情况,用户可以通过配置DataNodes来承受dfs.data.dir目录的故障。登录Manager,选择“集群 > 服务 > HDFS > 配置 > 全部配置”搜索参数“dfs.datanode.failed.volumes.tolerated”。例如:如果该参数值为3,DataNode只有在4个或者更多个目录故障之后才会出现故障。该值会影响到DataNode的启动。

如果想要DataNode不出现故障,配置的“dfs.datanode.failed.volumes.tolerated”一定要小于所配置的卷数,也可以将“dfs.datanode.failed.volumes.tolerated”设置成-1,相当于设置该值为n-1(n为卷数),那样DataNode就不会出现启动失败。