背景:

新集群 Datanode 使用两个 SSD 做 raid 1 作为根磁盘,12 个 SAS 单独做 raid 0 作为数据盘,在机器部署完毕后,缺发现 PD slot 4 和 slot 5 丢失了 VD,然后挂载目录默认使用了VD初始化,但是挂载目录和 PD 对应不上,这样将会给后续维护集群磁盘带来不少麻烦。

处理手段:

修改 Linux lable, 使挂载目录和 PD 再对应上

具体命令(python 代码展示):

""" tune2fs -L /%s /dev/sd%s1 """ %( label , device )

然后使用 mount -L 将修改了的 lable 挂载到挂载目录上

具体原理是 : PD <--使用 Mega --> VD <--操作系统--> device 分区  <--对应--> lable <--挂载--> 目录 <--规范对应--> PD

好吧,单盘做 raid 0 ,转了一个圈重新回来。。。

做操作的使用要相当注意:

1. 确实服务完全停止了,不要被 puppet 之类的服务带起

2. 修复好了后不要急着启动 服务,否则 datanode 的 Threads Waiting 会大量增加

3. 在 jobtracker 和 nn 的 web 界面时刻观察修复后的 dn 的情况,有任何不对停止服务

但愿剩下的 39 台修复能顺利......

嗯,手动和自动修复下,所有的机器缺失 VD 已经修复成功

过程中做的一些事情,给 新集群的磁盘自动化完善还是很有帮助的

下面这条命令可以用于新集群的 自动 repair

tune2fs -l /dev/sdl1

Hadoop Datanode 机器缺失 VD 问题修复尝试的更多相关文章

  1. Hadoop Datanode节点无法启动(All directories in dfs.data.dir are invalid)

    Hadoop Datanode节点无法启动(All directories in dfs.data.dir are invalid) java.io.IOException: All director ...

  2. Hadoop DataNode不能正常工作的原因

    在把Hadoop环境搭建成功,并且也Hadoop的各个组件都正常工作.在重启过几次Hadoop后发现DataNode不能正常工作,打开Hadoop 的后台http://localhost:50030和 ...

  3. hadoop datanode 和 tasktracker起不来

    本篇文章主要介绍了"hadoop datanode 和 tasktracker起不来.",主要涉及到hadoop datanode 和 tasktracker起不来.方面的内容,对 ...

  4. 【Hadoop】Hadoop DataNode节点超时时间设置

    hadoop datanode节点超时时间设置 datanode进程死亡或者网络故障造成datanode无法与namenode通信,namenode不会立即把该节点判定为死亡,要经过一段时间,这段时间 ...

  5. hadoop datanode启动失败

    问题导读: 1.Hadoop出现问题时,该如何入手查看问题?2.datanode无法启动,我们该怎么解决?3.如何动态加入DataNode或TaskTracker? 一.问题描述当我多次格式化文件系统 ...

  6. 记一次hadoop datanode进程问题分析

    症状:datanode进程还在,但是在web ui接口发现该节点已经被置为dead节点.监测datanode进程日志,开始时一直狂刷很忙,后来停止刷新日志. 分析datanode进程日志,发现如下一些 ...

  7. hadoop DataNode实现分析

    在前面说hadoop整体实现的时候, 说过DataNode的需要完成的首要任务是K-V存储.                                            第二个功能是 完成和 ...

  8. Hadoop datanode无法启动的错误

    在启动Hadoop分布式部署的过程中,发现datanode没有正常启动,查看了一下日志发现报错: java.io.IOException: Incompatible clusterIDs in /op ...

  9. hadoop datanode 启动出错

    FATAL org.apache.hadoop.hdfs.server.datanode.DataNode: Initialization failed for block pool Block po ...

随机推荐

  1. 验证视图状态 MAC 失败,解决方法

    错误信息 今天调试一个带cookie表单提交的页面时,浏览器中报错提示:验证视图状态 MAC 失败.如果此应用程序由网络场或群集承载,请确保 <machineKey> 配置指定了相同的 v ...

  2. Android学习-应用程序管理

    在前段时间,公司要求做一个Android系统的应用程序管理,要实现卸载程序.清除数据.停止正在运行的服务这几大模块,现在将代码粗略总结如下: 主要运用到的类有 PackageManager Activ ...

  3. 《linux内核完全剖析》笔记03-进程创建

    根据一下问题来看笔记 进程占多大的线形地址空间 进程实际分配多少物理内存 创建进程的开销在哪里 一. 从fork系统调用开始 kernel/sys_call.s第222行 _sys_fork: cal ...

  4. DroidPlugin插件化开发

    360手机助手使用的 DroidPlugin,它是360手机助手团队在Android系统上实现了一种插件机制.它可以在无需安装.修改的情况下运行APK文件,此机制对改进大型APP的架构,实现多团队协作 ...

  5. Smallest multiple

    problem 5:Smallest multiple 题意:求最小的正数,使得其可以被1-20整除 代码如下: #ifndef PRO5_H_INCLUDED #define PRO5_H_INCL ...

  6. tab切换☆☆☆☆☆

    <!doctype html><html lang="en"><head> <meta charset="UTF-8" ...

  7. private static

    static: 静态成员,不能实例化,在你运行的时候他自己在内存中开辟了块空间,不用new, 有点像全局变量 private static  和  public static 都是静态变量,在类加载时 ...

  8. Socket编程中 setsockopt的作用

    功能描述: 获取或者设置与某个套接字关联的选 项.选项可能存在于多层协议中,它们总会出现在最上面的套接字层.当操作套接字选项时,选项位于的层和选项的名称必须给出.为了操作套接字层的选项,应该 将层的值 ...

  9. expressJS - 准备活动

    安装 nodeJS 1. package.json 2. CommonJS, AMD, ES6 3. Babel

  10. Hololens文件读写

    unity 内勾选 RemovableStorage 选项或 Package.appxmanifest 勾选 可移动存储 选项 uwp app IO操作用 StreamReader 会提示没有权限,如 ...