Cloudera Manager還是比較耗資源的,想把Cloudera Manager,移動到比較好的機器上。
在這篇文章中,Cloudera Manager安裝在bigserver1上面,bigserver1是奔騰雙核的CPU。
1,Cloudera Manager占資源比較多
cloudera manager占資源挺多
停止cdh,以及cloudera manager
2,從bigserver1導出數據庫,copy到新機器
# mysqldump -u cdh6 -pCdh6_123 scm -h 10.0.40.237 > scm.sql
#?mysqldump -u cdh6 -pCdh6_123 amon -h 10.0.40.237 > amon.sql
#?mysqldump -u cdh6 -pCdh6_123 rman -h 10.0.40.237 > rman.sql
#?mysqldump -u cdh6 -pCdh6_123 hue -h 10.0.40.237 > hue.sql
#?mysqldump -u cdh6 -pCdh6_123 metastore -h 10.0.40.237 > metastore.sql
#?mysqldump -u cdh6 -pCdh6_123 sentry -h 10.0.40.237 > sentry.sql
#?mysqldump -u cdh6 -pCdh6_123 nav -h 10.0.40.237 > nav.sql
#?mysqldump -u cdh6 -pCdh6_123 navms -h 10.0.40.237 > navms.sql
#?mysqldump -u cdh6 -pCdh6_123 oozie -h 10.0.40.237 > oozie.sql
# scp *.sql root@bigserver5:/root/cdh6/
3,在bigserver5(新機器)創建數據并導入
CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
use scm;
source /root/cdh6/scm.sql;
CREATE DATABASE amon DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
use amon;
source /root/cdh6/amon.sql;
CREATE DATABASE rman DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
use rman;
source /root/cdh6/rman.sql;
CREATE DATABASE hue DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
use hue;
source /root/cdh6/hue.sql;
CREATE DATABASE metastore DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
use metastore;
source /root/cdh6/metastore.sql;
CREATE DATABASE sentry DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
use sentry;
source /root/cdh6/sentry.sql;
CREATE DATABASE nav DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
use nav;
source /root/cdh6/nav.sql;
CREATE DATABASE navms DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
use navms;
source /root/cdh6/navms.sql;
CREATE DATABASE oozie DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
use oozie;
source /root/cdh6/oozie.sql;
grant all privileges on *.* TO cdh6@'10.%' IDENTIFIED BY 'Cdh6_123';
flush privileges;
第二,第三步,非必須。把數據庫放在bigserver1(老機器)也是可以的。
4,bigserver5新機器安裝cloudera-manager-server
# yum clean all && yum makecache
# yum install cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server
這里的bigserver5,是集群中新增的一個datanode節點,怎么添加節點,請參考:cdh6 增加 datanode
5,將bigserver1文件同步到bigserver5
# scp -r /var/lib/cloudera-scm-server/* root@bigserver5:/var/lib/cloudera-scm-server/
# chown -R cloudera-scm:cloudera-scm /var/lib/cloudera-scm-server/
# scp -r /opt/cloudera/parcel-repo root@bigserver5:/opt/cloudera/
# chown -R cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo
5,bigserver5上面,創建數據庫配置
[root@bigserver5 ~]# /opt/cloudera/cm/schema/scm_prepare_database.sh -h bigserver5 mysql scm cdh6 Cdh6_123
JAVA_HOME=/usr/local/jdk1.8.0_231
Verifying that we can write to /etc/cloudera-scm-server
Creating SCM configuration file in /etc/cloudera-scm-server
Executing: /usr/local/jdk1.8.0_231/bin/java -cp :/opt/cloudera/cm/schema/../lib/* com.cloudera.enterprise.dbutil.DbCommandExecutor /etc/cloudera-scm-server/db.properties com.cloudera.cmf.db.
[ main] DbCommandExecutor INFO Unable to find JDBC driver for database type: MySQL
[ main] DbCommandExecutor ERROR JDBC Driver com.mysql.jdbc.Driver not found.
[ main] DbCommandExecutor ERROR Exiting with exit code 3
--> Error 3, giving up (use --force if you wish to ignore the error)
找不到mysql的jar包,/opt/cloudera/cm/schema/../lib/* ,根bigserver1上面的mysql-connector-java.jar包位置不一樣。
解決辦法:
# wget https://cdn.mysql.com//archives/mysql-connector-java-5.1/mysql-connector-java-5.1.47.tar.gz
# tar zxvf mysql-connector-java-5.1.47.tar.gz
# cd mysql-connector-java-5.1.47
# cp mysql-connector-java-5.1.47-bin.jar /opt/cloudera/cm/lib/mysql-connector-java.jar
注意:mysql-connector-java不要帶有版本號。
6,在bigserver5啟動Cloudera Management Service
# systemctl start cloudera-scm-server
如果用新的數據庫,需要改數據連接,所有組件都要改
cloudera 數據庫連接修改
Activity Monitor 數據庫測試失敗
如果報:不能測試狀態不佳的主機的數據庫連接。
解決辦法:
# cd /var/lib/cloudera-scm-agent/
# rm -f cm_guid
# service cloudera-scm-agent restart
Cloudera Management Service啟動后,在啟動cdh,至此遷移結束。