文章写得很详细,很长所以这里分成了7个部分
这里是第六部分,主要讲配置Mysql作为Cloudera Manager及CDH组件的数据库
操作的话建议从第一部分开始不知道为什么后面的几个部分的阅读量比前言大得多,强烈建议从第一部分开始操作,文章验证过好多次了,各部分之间都是相互依赖的,只看中间某一篇的话很可能出错
第一部分:前言
第二部分:环境准备1
第三部分:环境准备2
第四部分:安装Mysql数据库
第五部分:安装Cloudera Manager主服务
第六部分:配置Mysql数据库
第七部分:浏览器安装ClouderaManager
注意
1. **所有步骤如无特别说明都是要在所有服务器上都执行一遍 **
2. 所有的准备工作都要做,不要漏了或者错了,不然后面出现各种问题再改都是轻的,由此引发的其他的问题就严重多了
3. **所有操作均在root用户下进行 **
为Cloudera Manager配置外部的数据库需要对此外部数据库进行一些配置
第一步:ClouderaManager官网对Mysql配置的翻译,
大致意思是:
1) 需要配置Mysql的搜索引擎为InnoDB
2) Mysql安装好以后默认分配的缓冲区和内存比较小,ClouderaManager会非常频繁地连接Mysql需要配置一下,具体根据你集群的大小配置最大连接数
3) 二进制日志对于ClouderaManager不是必须的,但是对Mysql有好处,这个你随意
然后官网在下面给了一个my.cnf配置的例子,然后说只要你的大数据集群在50个节点以内都可以使用下面的这个配置
[mysqld]
transaction-isolation = READ-COMMITTED
# Disabling symbolic-links is recommended to prevent assorted security risks;
# to do so, uncomment this line:
# symbolic-links = 0
key_buffer_size = 32M
max_allowed_packet = 32M
thread_stack = 256K
thread_cache_size = 64
query_cache_limit = 8M
query_cache_size = 64M
query_cache_type = 1
max_connections = 550
#expire_logs_days = 10
#max_binlog_size = 100M
#log_bin should be on a disk with enough free space. Replace '/var/lib/mysql/mysql_binary_log' with an appropriate path for your system
#and chown the specified folder to the mysql user.
log_bin=/var/lib/mysql/mysql_binary_log
# For MySQL version 5.1.8 or later. For older versions, reference MySQL documentation for configuration help.
binlog_format = mixed
read_buffer_size = 2M
read_rnd_buffer_size = 16M
sort_buffer_size = 8M
join_buffer_size = 8M
# InnoDB settings
innodb_file_per_table = 1
innodb_flush_log_at_trx_commit = 2
innodb_log_buffer_size = 64M
innodb_buffer_pool_size = 4G
innodb_thread_concurrency = 8
innodb_flush_method = O_DIRECT
innodb_log_file_size = 512M
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
sql_mode=STRICT_ALL_TABLES
第二步:全局搜索Mysql的配置文件my.cnf
find / -name my.cnf
my.cnf路径一般是/etc/my.cnf没有的话创建,其他地方有的话修改
第三步:修改Mysql的配置文件my.cnf
把官网给的例子粘贴上去,
第四步:重启Mysql服务
service mysql restart
第五步:测试是否配置成功
在Mysql中随便创建一个表执行命令
show table status
第一步:执行脚本scm_prepare_database.sh
/usr/share/cmf/schema/scm_prepare_database.sh mysql -uroot -p123123 scm scm scm
如果Mysql与安装的cloudera-scm-server不在同一台服务器,比如说
Mysql在cm01.spark.com,cloudera-scm-server在cm02.spark.com
使用命令:
# 在cm02.spark.com的服务器执行命令
/usr/share/cmf/schema/scm_prepare_database.sh mysql -h cm01.spark.com -uroot -p123123 --scm-host cm02.spark.com scm scm scm
这一步如果执行失败,找不到Mysql驱动的话极有可能是因为配置Mysql驱动的那一步你做得不对
这个命令的意思是:
为Cloudera Manager指定数据库为Mysql
通过用户名为root,密码为123123,连接cm01.spark.com上的Mysql数据库。
为在cm02.spark.com的cloudera-scm-server服务,创建一个名叫scm的数据库(第一个scm),并为这个数据库创建一个用户,用户名为scm(第二个scm),密码也为scm(第三个scm)
第二步:停止ClouderaManager服务
service cloudera-scm-server stop
service cloudera-scm-server-db stop
第三步:删除内嵌的默认数据库PostgreSQL的配置
rm -f /etc/cloudera-scm-server/db.mgmt.properties
第四步:启动ClouderaManager服务
service cloudera-scm-server start
注意
Centos6离线安装CDH5.14.2最全详细教程-7浏览器安装ClouderaManager