假设namenode是yy8,备份节点是yy9,计划把namenode迁移到yy9,备份节点迁移到yy10
停止集群
停止整个集群
su hadoop /usr/local/hadoop/bin/stop-all.sh
更新配置信息
同步集群hosts文件
修改
192.168.20.9 yynamenode 192.168.20.10 yysecondary 192.168.20.9 yyjobtracker 192.168.20.9 hivemysqlserver 192.168.20.9 yyhbasemaster
批量同步hosts文件到集群
修改接口机的/etc/hosts文件,指向新的主节点
修改hadoop slaves配置
同步集群全部hadoop配置
清理新namenode 8的crontab和启动脚本
停止namenode 8的hadoop用户的crontab
去掉namenode 8 nfs自动挂载服务
卸载namenode 8 nfs目录
umount /web/hadoop/backup
清理namenode 9的crontab和启动脚本
关闭新namenode 9 hadoop用户的crontab
关闭新namenode 9的nfs服务
/etc/init.d/nfs-kernel-server stop
初始化namenode 9的环境
启动新备份节点10的nfs服务
修改新备份节点10的启动项
/etc/init.d/nfs-kernel-server start
修改新namenode 9 nfs自动挂载服务
vim /etc/rc.local
mount -t nfs -o soft 192.168.20.10:/web/nfshadoop /web/hadoop/backup
在新namenode 9上恢复最新的元数据
rm -rf /web/hadoop/hdfs/name/* (use mv backup?) cp -rf /web/nfshadoop/nfsname/* /web/hadoop/hdfs/name/
在新namenode 9上挂载新的nfs目录
加载新namenode 9 nfs自动挂载服务
vim /etc/rc.local mount -t nfs -o soft 192.168.20.10:/web/nfshadoop /web/hadoop/backup
恢复集群
启动新namenode 9
su hadoop /usr/local/hadoop/bin/hadoop-daemon.sh start namenode
!!!!!启动后,查看下hdfs文件信息,确保hdfs数据齐全,可以按照hive表的分区来查看,如果数据不齐全,再启动datanode,多余的数据块会被删除,造成不可恢复的丢失数据
启动hadoop集群
su hadoop /usr/local/hadoop/bin/start-all.sh
检查hadoop集群,检查集群状态
在新namenode上恢复hive
source hive_databases.sql
在任意节点上测试hive,看运行是否成功
修改启动脚本,hadoop运维脚本,hadoop crontab脚本
mapred log的rsync同步
检查数据备份和报警
 
                     
                    
                 
                    
                 

 
         
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号