记一次替换HadoopHDFSHBASE的磁盘

记一次替换HadoopHDFSHBASE的磁盘,第1张

记一次替换Hadoop/HDFS/HBASE的磁盘 记一次替换Hadoop/HDFS/Hbase的磁盘 1. 需求

公司近几个月业务增长很快,数据量也大幅增长,但是存储数据的磁盘眼看就要满载,因此主管让我迁移数据,并且给我提了一下几个需求:

  1. 由于用的云服务器,磁盘是要收钱的,所以原来的盘腾出来不再续费,只用替换的是10p的云存储。
  2. 线上数据是不断流动的,不能停服务,不能影响线上数据的正常查询,动态替换。
  3. 数据一致性必须保证。
2. 方案

参考了(百度了)很多资料后的解决思路:
利用Hadoop副本的机制,集群的副本数是3,先停一个节点的datanode,因为其他两个副本都在其他节点上,不影响hadoop的正常运行,然后修改datanode的磁盘存储目录重启,最后进行副本补全,等副本100%补全后进行下一台节点的磁盘替换。

3. 测试环境实施
  1. 首先准备一块磁盘格式化后挂载到需要替换磁盘的机器上。
  2. 强制停止该节点datanode。kill -9 PID(datanode)
  3. 修改该节点Hadoop中的hdfs-site.xml配置文件,更换成新磁盘数据存储路径
 
  dfs.datanode.data.dir
  file:///xdata/hadoop/hdfs/data

  1. 启动datanode hadoop-daemon.sh start datanode
  2. 检验磁盘是否成功替换:http://ip:50070
  3. 运行hadoop fs -setrep -w 3 -R /, 重新生成副本,执行完后不断刷新上面的页面就会发现新磁盘的占用量不断上升。
  4. 通过观察http://ip:50070/fsck这个网页来确保副本是否同步完成。如果遇到访问某个目录被拒绝,就执行hdfs dfs -chmod -R 755 目录给文件授权并重新执行第6步的命令,直到网页的所有副本同步完成,即下图的平均副本数达到3。
  5. 等上面数据恢复完后替换下一个节点的磁盘,重复上面的步骤。
4. 参考资料

从Hadoop集群中移除一块磁盘的 *** 作

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5624801.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存