专栏首页Hadoop实操如何在CDH集群中为数据节点热插拔硬盘

如何在CDH集群中为数据节点热插拔硬盘

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。

Fayson的github: https://github.com/fayson/cdhproject

提示:代码块部分可以左右滑动查看噢

1.文档编写目的


在集群使用的过程中会遇到数据节点的磁盘故障,在不停数据节点的情况下,如何为数据节点进行热插拔换盘操作。

  • 测试环境

1.CM和CDH版本为5.14.3

2.格式化磁盘及挂载

3.刷新数据节点的数据目录

4.总结

2.注意事项


1.CDH5.4或更高版本

2.热插拔只能添加空数据目录的磁盘

3.通过CM移除磁盘不会将数据从磁盘移除,这个操作可能导致数据丢失

4.不要同时在多个数据节点上进行磁盘热插拔操作

3.在CM上看到的告警信息


4.换盘处理流程


这里我们没有办法直接模拟数据盘坏掉的操作,以cdh03.fayson.com数据节点为例,该节点的数据目录配置为/data/disk3/dfs/dn目录,假设/data/disk1盘坏掉,需要将重新挂载一块磁盘在/data/disk1目录下。

登录cdh03.fayson.com节点的操作系统上,以root用户进行如下操作

1.查看磁盘是否已插入物理机上,执行如下命令查看

[root@cdh03 ~]# fdisk -l

(可左右滑动)

如上图所示可以看到磁盘已插入到/dev/vdb盘符下。

2.执行磁盘格式化操作,命令如下:

parted -s /dev/vdb mklabel gpt mkpart gpt2t xfs 0% 100%; \
sleep 1; \
mkfs.xfs -f /dev/vdb1

(可左右滑动)

3.将/dev/vdb1挂载到/data/disk1目录下并写入到/etc/fstab文件中

mkdir -p /data/disk1; \
echo "/dev/vdb1 /data/disk1 auto defaults,noatime 0" >> /etc/fstab; \
mount -a ; \
df -h

(可左右滑动)

这里磁盘已成功挂载到/data/disk1目录下,需要确认/data/disk1目录的磁盘目录属主及权限:

如果目录权限及属主错误则执行如下命令修改

[root@cdh03 data]# chmod -R 755 /data/disk1
[root@cdh03 data]# chown -R root. /data/disk1/

(可左右滑动)

5.CM上操作


1.登录CM界面,修改cdh03.fayson.com节点的数据目录

2.执行刷新数据目录操作

刷新成功

3.也可以通过命令行的方式刷新DataNode的数据目录,操作如下:

[root@cdh03 416-hdfs-DATANODE]# kinit -kt hdfs.keytab hdfs/cdh03.fayson.com@FAYSON.COM
[root@cdh03 416-hdfs-DATANODE]# klist
[root@cdh03 416-hdfs-DATANODE]# hdfs dfsadmin -reconfig datanode cdh03.fayson.com:50020 start

(可左右滑动)

查看是否执行成功

[root@cdh03 416-hdfs-DATANODE]# hdfs dfsadmin -reconfig datanode cdh03.fayson.com:50020 status

(可左右滑动)

这里是在Kerberos环境下执行的命令,如果非Kerberos环境,则直接使用如下命令:

sudo -u hdfs hdfs dfsadmin -reconfig datanode cdh03.fayson.com:50020 start
sudo -u hdfs hdfs dfsadmin -reconfig datanode cdh03.fayson.com:50020 status

(可左右滑动)

6.总结


1.在本篇文章中的操作步骤更类似于加盘操作,磁盘坏掉如果磁盘的盘符未变更则只需要将磁盘格式化挂载在原来的目录下,不需要在CM上重新配置,只需要在该节点上执行刷新数据目录操作即可。

2.完成以上操作后执行hdfs fsck /命令检查HDFS健康状况,查看缺失数据是否已恢复正常。

提示:代码块部分可以左右滑动查看噢

为天地立心,为生民立命,为往圣继绝学,为万世开太平。 温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。

推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。

原创文章,欢迎转载,转载请注明:转载自微信公众号Hadoop实操

本文分享自微信公众号 - Hadoop实操(gh_c4c535955d0f)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-06-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 如何指定Spark2作业中Driver和Executor使用指定范围内端口

    在CDH集群中提交Spark作业,大家也都知道Spark的Driver和Executor之间通讯端口是随机的,Spark会随选择1024和65535(含)之间的...

    Fayson
  • 如何使用Java API访问HDFS为目录设置配额

    Fayson
  • 如何在非安全的CDH集群中部署多用户JupyterHub服务并集成Spark2

    Fayson在前一篇文章《如何在非安全的CDH集群中部署Jupyter并集成Spark2》中介绍了Jupyter Notebook的部署与Spark2集成。Ju...

    Fayson
  • 权力的游戏使用Tensorflow中的LSTM和Recurrent单元生成剧集脚本

    权力的游戏第8季确实令人失望,似乎导演无法学习前几季的模式,但担心的是,LSTM从不会错过任何模式,并会帮助提供一个更好的脚本,一个AI生成的脚本。

    代码医生工作室
  • Facebook:70万用户行为数据测试情绪传染

    大数据文摘
  • 将 WPF、UWP 以及其他各种类型的旧 csproj 迁移成基于 Microsoft.NET.Sdk 的新 csproj

    发布于 2018-01-15 16:04 更新于 2018-09...

    walterlv
  • 嫦娥四号传回“旅行照”,全球首张照片值得一声“哇”!

    其实,在传回照片的前一天,玉兔二号还调皮的发了一条朋友圈,称“今天,我有点想家。”,随后,便向“家里”发送了一张“旅行照”。

    镁客网
  • XML外部实体(XXE)注入原理解析及实战案例全汇总

    XML全称“可扩展标记语言”(extensible markup language),XML是一种用于存储和传输数据的语言。与HTML一样,XML使用标签和数据...

    Jayway
  • 基于Tensorflow实现FFM

    github:https://github.com/sladesha/deep_learning

    用户1332428
  • 基于Tensorflow实现FFMFFM理论代码实现论文结论总结

    没错,这次登场的是FFM。各大比赛中的“种子”算法,中国台湾大学Yu-Chin Juan荣誉出品,美团技术团队背书,Michael Jahrer的论文的fiel...

    sladesal

扫码关注云+社区

领取腾讯云代金券

玩转腾讯云 有奖征文活动