我爱编程

利用Cloudera Manager进行核心进程迁移

2018-01-22  本文已影响0人  shaopi0211

环境信息


利用Cloudera Manager 迁移zookeeper

注:每次迁移一台机器,迁移过程中保证一台Leader,其他全是Follower。测试环境验证可以先迁移再重启其他依赖服务。

官方文档:https://www.cloudera.com/documentation/enterprise/5-8-x/topics/cm_mc_zookeeper_service.html#ReplacingZkServerCM


利用Cloudera Manager进行HDFS核心进程迁移 (NameNode,Failover Controller,JournalNode)

准备阶段

迁移过程中:

迁移操作:

问题汇总

迁移问题

Saving namespace of NameNode on host nfjd-hadoop02-node56.jpushoa.com.
 Command aborted because of exception: Command timed-out after 90 seconds
# 执行check point超时,正常情况下无法在90s内完成check point,但是CM这步写死了只能在90秒完成,否则迁移终止(目前结论)
解决步骤
根据日志信息找到执行的hdfs.sh脚本所在位置(主机需正确)
-bash-4.1$ locate hdfs.sh
/opt/cloudera/parcels/CDH-5.6.0-1.cdh5.6.0.p0.45/lib/hadoop/libexec/init-hdfs.sh
/opt/cloudera/parcels/CDH-5.7.0-1.cdh5.7.0.p0.45/lib/hadoop/libexec/init-hdfs.sh
/opt/cloudera/parcels/CDH-5.7.3-1.cdh5.7.3.p0.5/lib/hadoop/libexec/init-hdfs.sh
/opt/cloudera/parcels/CDH-5.7.5-1.cdh5.7.5.p0.3/lib/hadoop/libexec/init-hdfs.sh
/opt/cloudera/parcels/CDH-5.8.4-1.cdh5.8.4.p0.5/lib/hadoop/libexec/init-hdfs.sh
/opt/cloudera/parcels/CDH-5.9.0-1.cdh5.9.0.p0.23/lib/hadoop/libexec/init-hdfs.sh
/usr/lib64/cmf/service/dr/snapshot-hdfs.sh
/usr/lib64/cmf/service/hdfs/hdfs.sh <--这一个
debug脚本,未发现可调超时参数(页面也无相关参数)
sh -x /usr/lib64/cmf/service/hdfs/hdfs.sh "dfsadmin" "-fs" "hdfs://nfjd-hadoop02-node27.jpushoa.com:8020" "-saveNamespace"
尝试修改脚本(务必确保最近一次check point完成,检查fsimage文件是否生成)
$ vi /usr/lib64/cmf/service/hdfs/hdfs.sh
# 在行'#!/bin/bash'后添加以下代码,执行saveNamespace命令直接退出
if [ ${4} == "-saveNamespace" ];then
    exit
fi
重新执行migrate操作

后续操作

HIVE 服务
迁移 HttpFS
迁移 NFS Gateway
迁移 Balancer
重新部署客户端配置文件
上一篇 下一篇

猜你喜欢

热点阅读