EsgynDB安装系列之配置MySQL作为CDH元数据库

之前在安装CDH时,一般都使用CM自带的cloudera-manager-server-db-xxxx.rpm包来作为CDH后台的元数据库,用于存储相关的元数据信息,这个rpm对应PostgreSQL数据库。不过安装完后,CDH会显示一个警告信息,即不建议生产环境用自带的PostgeSQL作为元数据库,建议使用外部的数据库如MySQL、Oracle,我想主要可能是考虑可管理性和稳定性因素。

那么如何使用MySQL作为元数据库来存储和管理CDH相关的服务呢?主要配置步骤如下,

1 首先选择集群的一台机器用于安装MySQL数据库,一般选择NameNode节点,可以使用YUM的方式安装MySQL,如果是离线的环境,操作系统中可能没有相关的包,建议先上传一个操作系统版本对应的ISO文件并作为本地YUM源。
另外,CentOS6和CentOS7上安装MySQL使用的包是不同的,CentOS6是安装mysql-server,而CentOS7是安装mariadb-server。

--CentOS6
yum -y install mysql-server 
service mysqld start 
chkconfig mysqld on 

--CentOS7
yum -y install mariadb-server 
service mariadb start 
chkconfig mariadb on 

2 设置MySQL中root用户的密码

mysqladmin -uroot password 'root123'

3 准备MySQL JDBC包,需要准备一个和当前MySQL版本相同的JDBC包,上传到MySQL所在节点,并放到/usr/share/java/目录。

cp mysql-connector-java-5.1.34.jar /usr/share/java/mysql-connector-java.jar

4 在MySQL创建相应的数据库和用户并授予权限

mysql -u root --password='root123' -e 'create database hive default character set utf8;' 
mysql -u root --password='root123' -e "CREATE USER 'hive'@'%' IDENTIFIED BY 'root123'" 
mysql -u root --password='root123' -e "GRANT ALL PRIVILEGES ON hive. * TO 'hive'@'%'" 
mysql -u root --password='root123' -e "create user 'amon'@'%' identified by 'root123'"
mysql -u root --password='root123' -e 'create database amon default character set utf8'
mysql -u root --password='root123' -e "grant all privileges on amon.* to 'amon'@'%'"
mysql -u root --password='root123' -e "create user 'rman'@'%' identified by 'root123'"
mysql -u root --password='root123' -e 'create database rman default character set utf8' 
mysql -u root --password='root123' -e "grant all privileges on rman.* to 'rman'@'%'"
mysql -u root --password='root123' -e "create user 'cm'@'%' identified by 'root123'"
mysql -u root --password='root123' -e 'create database cm default character set utf8' 
mysql -u root --password='root123' -e "grant all privileges on cm.* to 'cm'@'%'" 

5 开始安装Cloudera Manager Server服务,如果是离线环境,需先准备好相关的rpm包并创建本地YUM源

yum -y install cloudera-manager-daemons cloudera-manager-server

6 为Cloudera管理器配置外部数据库

/usr/share/cmf/schema/scm_prepare_database.sh -h <db_host_ip> mysql cm cm root123

7 启动Cloudera Manager Server服务

service cloudera-scm-server start

注:
安装遇到的问题1

[root@master01 ~]# /usr/share/cmf/schema/scm_prepare_database.sh -h xxx.xxx.xxx.xxx mysql cm cm root123
JAVA_HOME=/usr/java/jdk1.8.0_171-amd64
Verifying that we can write to /etc/cloudera-scm-server
Creating SCM configuration file in /etc/cloudera-scm-server
Executing:  /usr/java/jdk1.8.0_171-amd64/bin/java -cp /usr/share/java/mysql-connector-java.jar:/usr/share/java/oracle-connector-java.jar:/usr/share/java/postgresql-connector-java.jar:/usr/share/cmf/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)

原因:
错误显示”ERROR JDBC Driver com.mysql.jdbc.Driver not found.”,这是因为上述步骤的第3步没有做,导到配置外部数据库无法找到对应的MySQL JDBC驱动包。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数据源的港湾

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值