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

2023年 8月 13日 44.7k 0

之前在安装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。

--CentOS6yum -y install mysql-server service mysqld start chkconfig mysqld on

--CentOS7yum -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 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 root123JAVA_HOME=/usr/java/jdk1.8.0_171-amd64Verifying that we can write to /etc/cloudera-scm-serverCreating SCM configuration file in /etc/cloudera-scm-serverExecuting: /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驱动包。

————————————————版权声明:本文为CSDN博主「post_yuan」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/Post_Yuan/article/details/81235436

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论