cloudera manager 更换MySQL机器

 
更换存储cm元数据的MySQL的位置  n1机器更换到n2
 
由于我只安装了下边四个服务,这四个不涉及到MySQL,所以不用更改他们的配置,也不用停止这四个服务。
 
如果所安装的集群使用到MySQL,并且需要一起迁移到新的MySQL,则需要停止这些服务并更改相应的配置。
 
 cloudera manager 更换MySQL机器
 

一、停止相关的所有服务

 
我这里只停止cloudera manager  server就可以了
 
   cloudera manager 更换MySQL机器

 二、备份原数据库

 
mysqldump -uroot -p -hn1 --opt --databases --routines --events --flush-logs --single-transaction --default-character-set=utf8 scm | gzip > /tmp/scm.sql.gz
 

三、新MySQL环境准备

 

 1、创建scm用户并授权

 
这里scm用户和之前MySQL中的scm用户要一致,如果之前的mysql中找不到scm用户,可以去配置 /opt/cloudera-manager/cm-5.14.0/etc/cloudera-scm-server/db.properties 文件中查看一下之前创建的用户是什么
 
 cloudera manager 更换MySQL机器
type        数据库类型
 
host        数据库机器(这里要改为新地址)
 
name    数据库名
 
user        数据库用户名
 
password    数据库密码
 
在新数据库中创建用户scm  并把数据授权给改用户(**这里的scm就是上边配置文件中的数据库用户名和密码,要一致**)
 
grant all on *.* to 'scm'@'%' identified by 'scm' with grant option;
 
要保证scm用户可以被机器机器远程登录,否则启动cm server时有可能导致整个集群识别不出来
 
select host,user from mysql.user;
 
 cloudera manager 更换MySQL机器
 
修改远程登录语句
 
update mysql.user set host='%' where user='scm' and host='localhost';
 
到cm server机器上远程登录这台mysql测试一下是否更改成功
 

2、更改配置文件

 
更改cm server机器上的配置文件
 
/opt/cloudera-manager/cm-5.14.0/etc/cloudera-scm-server/db.properties
 
 cloudera manager 更换MySQL机器
这里改为新数据库地址
 

四、导入备份数据到新数据库

 
bin/mysql -uroot -p < /opt/scm.sql
 
 cloudera manager 更换MySQL机器
 
数据已经导入进来准备启动cm server
 

五、启动cm server

 
 cloudera manager 更换MySQL机器
 
查看日志启动正常,打开7180监控页面服务正常
 

 六、检测是否切换成功

 
停掉之前的MySQL服务,查看cm是否正常工作,如果正常说明数据库切换成功