@xtccc
2016-01-22T17:47:27.000000Z
字数 2021
阅读 4354
Cloudera
参考
根据官方的参考文档,如果在另外一个节点上新建一个供Cloudera Manager使用的数据库,需要把原来的数据库的内容进行back up,然后在新的数据库中进行restore。然而,怎样restore,确实语焉不详。
Cloudera Manager可以使用多种数据库,如PostgreSQL、MySQL、Oracle等。同时,它也可以使用external database或者embedded database。这里,我们以embedded PostgreSQL database为例。
本步骤在原来的数据库节点上进行操作。
登录到该节点上
获取Cloudera Manager Database的name/user/password
这些信息在文件 /etc/cloudera-scm-server/db.properties
中。
# Auto-generated by initialize_embedded_db.sh
#
# 20141212-164925
#
# These are database settings for CM Manager
#
com.cloudera.cmf.db.type=postgresql
com.cloudera.cmf.db.host=localhost:7432
com.cloudera.cmf.db.name=scm
com.cloudera.cmf.db.user=scm
com.cloudera.cmf.db.password=jFTDfcNqmL
导出数据
以root用户执行以下命令:
pg_dump -h localhost -p 7432 -U scm > /tmp/scm_server_db_backup.$(date +%Y%m%d)
该命令会要求输入密码,密码就在上面步骤2的文件中。
现在,我们已经将原来的数据库内容导出到一个文件中了。下面,将把这些导出的数据恢复到一个新建的PostgreSQL数据库中。
对于PostgreSQL而言,它有一个用于恢复数据库的命令,就是:
psql database < dumpfile
这里要求输入需要恢复的数据库的名称。
但是实际上我们之前是把所有的数据库的内容全部导出了,因此我们不用这个命令,而是用另一个命令:
psql -h localhost -p 7432 -U scm < dumpfile
这样就会恢复所有的数据库内容。
执行上面的命令时,会要求输入密码,这里的密码保存在新安装的PostgreSQL所在节点的/etc/cloudera-scm-server/db.properties
文件中。
安装Cloudera Manager的embedded PostgreSQL,可以通过如下命令进行:
yum install cloudera-manager-server-db-2
安装好后,不同的用户会有各自的密码。
用户cloudera-scm
的密码
在文件 /var/lib/cloudera-scm-server-db/data/generated_password.txt 中,其内容为:
wKojqDE2uw
The password above was generated by /usr/share/cmf/bin/initialize_embedded_db.sh (part of the cloudera-manager-server-db package)
and is the password for the user 'cloudera-scm' for the database in the current directory.
Generated at 20141212-164925.
用户scm
的密码
在文件 /etc/cloudera-scm-server/db.properties 中,其内容为:
# Auto-generated by initialize_embedded_db.sh
#
# 20141212-164925
#
# These are database settings for CM Manager
#
com.cloudera.cmf.db.type=postgresql
com.cloudera.cmf.db.host=localhost:7432
com.cloudera.cmf.db.name=scm
com.cloudera.cmf.db.user=scm
com.cloudera.cmf.db.password=jFTDfcNqmL
使用命令
psql -h localhost -p 7432 -U scm
<输入密码>
\l
可以看出,在数据库中有如下的几个database。