一、场景描述
在采用Cloudera-Manager安装cdh时,通常使用内嵌的PostgreSQL数据库。
Cloudera-Manager除了保存CDH集群的配置元数据的scm数据库外,还为Activity Monitor(活动监控)、Service Monitor(服务监控)、Report Manager(报告管理)、Host Monitor(主机监控)、Cloudera Navigator(Cloudera导航)等信息分别创建数据amon、smon、rmon、hmon、nav相应的数据。
如果你运行了Hive服务,Cloudera-Manager还会创建hive数据库用于保存hive metastore即建表的元数据等。
二、数据库的密码位置:
scm数据库的用户名,密码 more /etc/cloudera-scm-server/db.properties 其他数据库(如amon,hmon,smon,rman,nav)的用户名、密码 more /etc/cloudera-scm-server/db.mgmt.properties 数据库管理者(相当于oracle DBA)cloudera-scm的用户名、密码 /var/lib/cloudera-scm-server-db/data/generated_password.txt hive数据库的用户名、密码 You can find the databaes admin(cloudera-scm) password in /var/lib/cloudera-scm-server-db/data/generated_password.txt.If you start the Hive Metastore Server, the hive password will be in its hive-site.xml. You can see this file by clicking on your Hive Metastore Server, then clicking on Processes, expanding Show, and clicking on hive-site.xml.
http://xxxx:7180/cmf/process/808/config?filename=hive-site.xml 即hive数据库的密码可以在hive-site.xml中发现。
验证数据库连接
/usr/share/cmf/schema/scm_prepare_database.sh mysql -uroot -p --scm-host localhost scm scm scm_password
main(){ parse_arguments "$@" # Before making destructive changes, check # some preconditions: locate_java_home check_config_writable #create_user_and_database #write_config_file test_db_connection # This is the important bit! echo "All done, your SCM database is configured correctly!"}
三、针对数据库的管理
1:连接数据库
psql --host=localhost --port=7432 --username=scm --dbname=postgres -v ON_ERROR_STOP=1
psql --host=localhost --port=7432 --username=hmon --dbname=hmon -v ON_ERROR_STOP=1 psql --host=localhost --port=7432 --username=hive --dbname=hive -v ON_ERROR_STOP=1 psql --host=localhost --port=7432 --username=cloudera-scm -W=Cl5y3a3i6C --dbname=postgres -v ON_ERROR_STOP=1输入用户口令后即可进入数据库
显示数据库列表 \l 切换数据库\c test 退出 \q 列表表、视图、序列 \d2:数据查询
注意在查看hive数据库中表中的数据时,可以由于hive数据库在建表时,表的定义使用了大小写混合拼写的方式,在PostgreSQL中使用双引号来界定标识符使您的具体大小写混合的拼写。否则会报下图中的错误:
ERROR: relation "dbs" does not exist
3、数据导出
pg_dump -h localhost -p 7432 -U scm > /tmp/scm_server_db_backup.$(date +%Y%m%d)