11.3hadoop 维护:备份、委任解除节点、升级
1.1 维护
1.1.1 日常管理过程
(1) namenode元数据备份
使用dfsadmin下载最新的fsimage镜像文件
hdfs dfsadmin –fetchImage fsimage.backup
(2) 数据备份
hadoop复本机制仍然可能导致重要数据丢失,所以要将优先级高的数据进行备份。distcp工具可以并行的将备份文件存储到其他的集群或文件系统中。
(3) 快照
快照是对文件系统中每个文件的元数据(文件属性)和块列表,并不保存实际的数据。
1.1.2 委任和解除节点
(1) 委任新节点
在hdfs-site.xml中去配置,指向namenode,配置yarn-site,xml指向资源管理器,启动datanode和资源管理器守护进程。允许连接namenode的所有datanode放在dfs.hosts属性指向的文件中。文件在namenode的本地文件系统中。可以连接资源管理器的各个节点管理器保存在yarn.resourcemanager.nodes.include-path属性指定的文件中,通常是用一个文件include文件。具体步骤
1)新节点加入include文件
2)运行hdfs dfsadmin –refreashNodes命令,将datanode集合更新到namenode。
3)运行yarn rmadmin –refreshNodes 将节点管理器信息更新到资源管理器。
4)将新节点添加到slaves文件中,hadoop后续操作会带上新节点。
5)启动datanode和节点管理器。
6)检查datanode和节点管理器是否在网页中。
(2) 解除节点
不能随意终止datanode,同时关闭不同机架上的三个datanode,数据丢失概率很大。在ds.hosts.exclude属性指定要解除的节点,yarn.resourcemanager.nodes.exclude-path属性指向的文件,通常都指向exclude文件。具体解除步骤
1)解除的节点添加到exculde文件,不更新include文件。
2)执行hdfs dfsadmin –refreshNodes 更新namenode。
3)执行yarn rmadmin –refreshNode更新资源管理器。
4)转到网页查看datanode是否是正在解除,解除完毕,表示datanode中的数据块已经被复制到其他datanode中。
5)从include文件中删除节点,然后在执行命令更新namenode和资源管理器;
6)从slaves文件中删除节点。
1.1.3 升级
升级存在数据丢失风险,需要对数据和元数据进行备份。升级需要考虑API兼容性,数据兼容性(主要考虑持久数据和元数据的格式),和链接兼容性(RPChe HTTP链接协议,要求客户端和服务器中间主版本号相同,2.0不能连接3.0)。如果
(1)文件系统布局不变情况
安装新版本hadoop,关闭旧的守护进程,升级配置文件,启动新的守护进程。升级之后移除旧的安装和配置,在代码和配置文件中针对被弃用的警告进行修改。
(2)文件系统布局发生变化
升级可以回滚到上一个版本,还原所有升级操作。回滚不能跨版本,升级成功后,需要删除前一版本,称为定妥升级(finalizeing the upgrade)。升级前要执行fsck检测工具,保证文件系统健康状态。具体步骤
1)执行升级之前确保前一升级定妥
2)关闭yarn和mapreduce的守护进程
3)关闭hdfs,备份namenode目录
4)在集群和客户端安装新的hadoop。
5)使用$NEW_HADOOP_HOME/bin/start-dfs.sh -update选项升级HDFS。
6)等待直到升级完成。$NEW_HADOOP_HOME/bin/hdfs dfsadmin –upgradeProgress status查看升级进度
7)检测HDFS是否正常
8)启动YARN和mapreduce守护进程。
(3) 升级回滚
升级后无法使用,在定妥之前可以回滚到旧版本。
1)关闭新的守护进程$NEW_HADOOP_HOME/bin/stop-dfs.sh
2)使用rollback选项回滚$NEW_HADOOP_HOME/bin/start-dfs.sh –rollback.
(4) 定妥升级
升级成功后,新版本的HDFS正常,可以确定升级成功,移出datanode和namenode旧版本存储目录。无法再回滚。在执行新的升级之前要定妥。只保留一个版本备份。
$NEW_HADOOP_HOME/bin/hdfs dfsadmin –finalizeUpgrade
$NEW_HADOOP_HOME/bin/hdfs dfsadmin –upgradeProgress status
自己开发了一个股票智能分析软件,功能很强大,需要的点击下面的链接获取:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
2019-03-11 Spring框架基础
2019-03-11 final关键字
2019-03-11 servelet基础
2019-03-11 Servelet开发步骤和生命周期
2019-03-11 Idea搭建servlet开发过程