0007-如何迁移Cloudera Manager节点

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

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

1.概述

本文档讲述如何将Cloudera Manager在Kerberos环境下迁移至新的CM节点。通过本文档,您将学习到以下知识:

1.如何迁移Cloudera Manager节点

2.如何迁移MySQL元数据库

3.如何迁移Kerberos MIT KDC

文档主要分为以下几步:

1.准备Cloudera Manager新节点

2.MariaDB数据库迁移(可选)

3.迁移Kerberos MIT KDC(可选)

4.将原CM节点数据迁移至新节点

5.迁移后集群服务验证

这篇文档将着重介绍Cloudera Manager节点迁移,并基于以下假设:

1.CDH环境已搭建并正常运行

2.旧Cloudera Manager节点包含Cloudera Manager Server(即cloudera-scm-server)服务和Cloudera Management Service服务(Alert Publisher/Event Server/Host Monitor/Reports Manager/Service Monitor)

3.集群已完成MIT Kerberos的配置,并正常使用

4.集群Hadoop服务HBase/Hive/HDFS/Hue/Kafka/Oozie/Spark/Spark2/Yarn/Zookeeper正常运行

以下是本次测试环境,但不是本操作手册的硬限制:

1.操作系统:Redhat7.2

2.CM版本:CM5.11.1

3.CDH版本:CDH5.11.1

4.采用ec2-user对集群进行部署

2.准备Cloudera Manager新节点

2.1新CM主机前置条件

  1. 操作系统版本与集群操作系统版本一致(Redhat7.2)
  2. 关闭防火墙
  3. 配置时钟同步,根据当前集群时钟同步服务进行配置
  4. swap已设置为10
  5. 关闭透明大页面
  6. 关闭SElinux
  7. 配置/etc/hosts文件或者使用DNS服务
  8. 配置cm和os的yum源
  9. 创建mysql驱动的软链接

2.2新主机信息

新主机IP地址:172.31.18.97

新Hostname:ip-172-31-18-97.ap-southeast-1.compute.internal

1.主机操作系统版本

2.防火墙

3.时钟同步

4.swap信息

5.透明大页面

6.SElinux信息

7.host信息

8.Cloudera Manager和OS的yum 源

9.在/usr/share/java目录下创建mysql驱动包软链

2.3安装Cloudera Manager服务

ec2-user@ip-172-31-18-97 log$ sudo yum  -y install cloudera-manager-server cloudera-manager-agent
AI 代码解读

安装完成Cloudera Manager后暂时不要启动服务。

注意:新节点的Cloudera Manager版本必须与原Cloudera Manager版本一致;节点上不要安装CDH的其它组件;

2.4安装MariaDB数据库

由于原CM节点安装有MariaDB数据库,所以在新的CM节点也安装MariaDB数据库进行数据迁移(如果不考虑数据库迁移则可以不用安装)

ec2-user@ip-172-31-18-97  log$ sudo yum -y install mariadb-server mariadb-devel 
AI 代码解读

初始化MariaDB数据库

 ec2-user @  ip-172-31-18-97 log# sudo systemctl enable mariadb
 ec2-user@ip-172-31-18-97  log$ sudo systemctl start mariadb
 ec2-user@ip-172-31-18-97  log$ sudo /usr/bin/mysql\_secure\_installation 
AI 代码解读

3.MariaDB数据库迁移

如果不做数据库迁移可不跳过该章节

3.1备份原MariaDB数据

将需要迁移的mysql整库导出(可根据需要导出需要的库信息)

root@ip-172-31-25-3  ec2-user# mysqldump -u root -p -A >oldmysql.dump 
AI 代码解读

3.2导入备份数据至新库

1.将备份文件拷贝至新mysql服务上,进行数据导入

root@ip-172-31-18-97  ec2-user# mysql -u root -p < oldmysql.dump 
AI 代码解读

注意:数据导入成功后,需要在mysql client执行命令:FLUSH PRIVILEGES;

4.迁移Kerberos MIT KDC

4.1备份原Kerberos数据库

登录到主KDC服务器上,使用kdb5_util命令备份Kerberos数据库及配置文件

[ec2-user@ip-172-31-25-3 ~]$ sudo kdb5_util dump -verbose kerberosdb.dumpfile

HTTP/ip-172-31-18-97.ap-southeast-1.compute.internal@CLOUDERA.COM

HTTP/ip-172-31-19-209.ap-southeast-1.compute.internal@CLOUDERA.COM

….

zookeeper/ip-172-31-28-67.ap-southeast-1.compute.internal@CLOUDERA.COM

[ec2-user@ip-172-31-25-3 ~]$
AI 代码解读
/etc/krb5.conf

/var/kerberos/krb5kdc/kdc.conf

/var/kerberos/krb5kdc/kadm5.acl
AI 代码解读

4.2恢复备份数据至新库

1.在新节点安装Kerberos服务:

yum -y install krb5-server krb5-libs krb5-auth-dialog krb5-workstation

将4.1备份的数据拷贝到新节点上,通过如下操作将数据还原到Kerberos数据库

2.修改krb5.conf文件,将该文件覆盖/etc目录下的krb5.conf

将上述标红部分修改为当前主机ip或者hostname

3.将kdc.conf和kadm5.acl文件拷贝至/var/kerberos/krb5kdc目录下进行覆盖

yum -y install krb5-server krb5-libs krb5-auth-dialog krb5-workstation
AI 代码解读

4.恢复kerberos数据库,在krb5kdc和kadmin服务停止的情况下进行如下操作

注意:此处需要创建kerberos数据库,然后在做数据导入否则krb5kdc和kadmin服务不能正常启动;

启动krb5kdc和kadmin服务

ec2-user@ip-172-31-18-97 kerberos\_bak$ sudo  systemctl restart krb5kdc

ec2-user@ip-172-31-18-97 kerberos\_bak$ sudo  systemctl stop krb5kdc
AI 代码解读

验证Kerberos是否正常,使用导入的user_r进行测试

4.3更新集群的krb5.conf配置

将KDC主服务器上的/etc/krb5.conf文件拷贝至集群中所有的节点,并验证Kerberos是否正常。

5.将原CM节点数据迁移至新节点

5.1备份原CM节点数据

主要备份CM的监控数据和管理信息,数据目录包括:

/var/lib/cloudera-host-monitor

/var/lib/cloudera-service-monitor

/var/lib/cloudera-scm-server

/var/lib/cloudera-scm-eventserver

/var/lib/cloudera-scm-headlamp

注意:将备份命令压缩传输,防止目录的属主和权限变化

5.2修改CM的数据库配置信息

修改新CM的数据库配置文件/etc/cloudera-scm-server/db.properties,配置文件内容

根据自己的配置信息对标红部分进行修改

5.3CM备份数据导入新节点

将原CM上备份的数据拷贝到新CM节点上

通过如下命令将备份数据还原至对应目录

5.4更新集群所有节点的CM Server指向

修改集群所有节点上/etc/cloudera-scm-agent/config.ini文件中server_host值为新CM节点的hostname

5.5将原CM节点的Cloudera Management Service角色迁移至新节点

启动新CM节点的cloudera-scm-server和cloudera-scm-agent服务

ec2-user@ip-172-31-18-97 253back# sudo systemctl  start cloudera-scm-serve

ec2-user@ip-172-31-18-97 253back# sudo systemctl  start cloudera-scm-agent
AI 代码解读

注意:在新CM节点上启动cloudera-scm-agent服务后,会将CM节点的信息添加到cm库的HOSTS表中,查看新CM节点对应的HOSTS_ID

登录mysql数据库将,查看cm.HOSTS表中的Cloudera Manager的host信息

未迁移前可以通过CM管理界面看到新CM节点是没有任何角色

通过如下命令,将旧CM的角色迁移至新CM节点上

update ROLES set HOST_ID=11 where NAME like 'mgmt%';
AI 代码解读

执行操作后,原CM节点的角色被迁移至新CM节点

通过CM管理界面将原CM节点从集群删除

将原CM节点删除

由于集群配置了Kerberos,则需要更新Kerberos的server,如果Kerberos未迁移则不需要考虑此步

如果集群启用Kerberos,则需要为新CM节点生成keytab(如果未启用集群则跳过此步)

通过CM管理界面启动Cloudera Management Service

由于做了数据库迁移,所以需要修改hive/hue/oozie对应的数据库配置(未做数据库迁移可跳过此步)

进行以上修改后重启集群

6.迁移后集群服务验证

原CM的运行界面,历史监控数据

登录CM管理平台,查看集群状态正常

迁移后可以查看正常查看集群的历史监控数据

Hue访问及操作正常

HDFS访问及操作正常

HBase通过hue和shell正常操作

7.常见问题分析

1.问题一

问题现象:

问题原因:

由于cloudera-scm-agent服务于supervisord之间通信异常导致。

解决方法:

将告警节点上的supervisord进程杀死,然后重启agent服务

2.问题二

问题现象:

问题原因:

由于在CM迁移时,未迁移/opt/cloudera/csd目录导致。

解决方法:

将原CM节点上/opt/cloudera/csd目录拷贝至新CM节点对应的目录

重启cloudera-scm-server服务

[ec2-user@ip-172-31-18-97 253back]# sudo systemctl start cloudera-scm-server
AI 代码解读

3.问题三

问题现象:

Service Monitor启动失败,异常信息如下

问题原因:

由于CM迁移时,/var/lib/cloudera-service-monitor目录的文件缺失导致

解决方法:

将/var/lib/cloudera-service-monitor目录的数据重新覆盖

4.问题四

现象描述:

在集群迁移完成后,集群启动后做了高可用服务的NameNode和ResourceManager服务均不能正常显示主备节点,HDFS的汇总信息无法正常显示

问题原因:

由于集群配置了kerberos,新CM节点未生成keytab导致

解决方法:

将CM节点的所有服务停掉,然后生成该主机的keytab

8.扩展

如何在不停止集群服务的情况下进行Cloudera Manager迁移,需要满足如下条件:

  1. 新CM节点的hostname与IP地址与旧CM节点一致;
  2. 如果需要迁移数据库,则新数据库的hostname与IP地址与原数据库一致,且需要将原数据库的数据导入到新库中;
  3. 如果需要迁移Kerberos MIT KDC,则新MIT KDC所在节点与旧MIT KDC节点的hostname与IP地址一致,且需要将旧MIT KDC数据库数据导入新MIT KDC数据库中;

注意:如果只做第1步操作,则不需要重启hadoop集群相关服务,并且不会影响hadoop集群现有作业;如果进行2、3步操作会对集群作业造成短暂影响,但不需要重启hadoop集群相关服务;

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
打赏
0
0
0
0
9
分享
相关文章
利用 member update 实现 etcd 灾难恢复 [也可实现 etcd 集群迁移]
利用 member update 实现 etcd 灾难恢复 [也可实现 etcd 集群迁移]
1357 0
Cloudera Manager环境搭建【二】
默认的方式下linux会把文件访问的时间atime做记录,文件系统在文件被访问、创建、修改等的时候记录下了文件的一些时间戳,比如:文件创建时间、最近一次修改时间和最近一次访问时间;这在绝大部分的场合都是没有必要的。
366 0
Cloudera Manager环境搭建【二】
Cloudera Manager主机管理
Cloudera Manager 提供了多种功能来管理集群中的主机
Cloudera Manager主机管理
Cloudera Manager 进程管理
本文主要介绍了使用 Cloudera Manager 启动和停止进程。
Cloudera Manager 进程管理
Cloudera Manager 管理控制台
Cloudera Manager 管理控制台是基于 Web 的界面,可用于配置、管理和监控 Cloudera Runtime。
Cloudera Manager 管理控制台
使用 Replication Manager 迁移到CDP 私有云基础
Replication Manager 可用于将 Hive、Impala 和 HDFS 工作负载迁移到 CDP私有云基础.
使用 Replication Manager 迁移到CDP 私有云基础
Cloudera Manager简介
Hadoop家族 整个Hadoop家族由以下几个子项目组成: Hadoop Common: Hadoop体系最底层的一个模块,为Hadoop各子项目提供各 种工具,如:配置文件和日志操作等。 HDFS: 是Hadoop应用程序中主要的分布式储存系统, HDFS集群包含了一个NameNo
28054 1
Cloudera Edge Manager简述
一.Description CDF(Cloudera DataFlow)源自HDF(Hortonworks DataFlow),HDF是一个可缩放的实时流分析平台,它可以提取、组织和分析数据,以获得关键洞察和即时的可操作情报。
2133 0