CDH5.14使用MySQL存储元数据

2018-09-03  本文已影响0人  cyclone_29

CDH使用cloudera-manager-installer.bin安装时默认安装了postgresql用来存储cloudera manager运行所需要的状态,但是一般生产环境使用外部数据库,这里介绍以下如何在cdh中使用MySQL

配置Mysql数据库

为Cloudera Manager配置外部的数据库需要对此外部数据库进行一些配置

1) 需要配置Mysql的搜索引擎为InnoDB

2) Mysql安装好以后默认分配的缓冲区和内存比较小,ClouderaManager会非常频繁地连接Mysql需要配置一下,具体根据你集群的大小配置最大连接数

3) 二进制日志对于ClouderaManager不是必须的,但是对Mysql有好处,这个你随意

然后官网在下面给了一个my.cnf配置的例子,然后说只要你的大数据集群在50个节点以内都可以使用下面的这个配置

    # For advice on how to change settings please see
    # http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html

    [mysqld]

    # Remove leading # and set to the amount of RAM for the most important data
    # cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
    # innodb_buffer_pool_size = 128M

    # Remove leading # to turn on a very important data integrity option: logging
    # changes to the binary log between backups.
    # log_bin
    # Remove leading # to set options mainly useful for reporting servers.
    # The server defaults are faster for transactions and fast SELECTs.
    # Adjust sizes as needed, experiment to find the optimal values.
    # join_buffer_size = 128M
    # sort_buffer_size = 2M
    # read_rnd_buffer_size = 2M
    validate_password = off
    datadir=/var/lib/mysql
    socket=/var/lib/mysql/mysql.sock

    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

    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,将原来的/etc/my.cnf备份,新建/etc/my.cnf并将上面的内容进行复制。
下载MySQL驱动包,上传到主节点的/usr/share/java目录,该目录需要手动进行创建,下载的驱动包的版本不要太高,以免出现连接错误,我下载的版本是5.1.35,下载完成之后,重命名,上传到创建的/usr/share/java目录

    mv mysql-connector-java-5.1.35.jar mysql-connector-java.jar

安装CDH过程中,执行cloudera-manager-installer.bin可执行文件后,先不要进入浏览器端,等待cloudera-scm-server启动完成之后,按照下面的命令依次停止cloudera-scm-server-db和cloudera-scm-server进程

    service  cloudera-scm-server-db stop
    service  cloudera-scm-server stop

配置 CM Server 的数据库(主节点)

cd /usr/share/cmf/schema
./scm_prepare_database.sh mysql -hmaster -ucyclone -p123456 --scm-host master scm scm scm

这个脚本就是用来创建和配置CMS需要的数据库的脚本。各参数是指:
mysql:数据库用的是mysql,如果安装过程中用的oracle,那么该参数就应该改为oracle。
-hmaster:数据库建立在master主机上面
-ucyclone:数据库用户名为cyclone
-p123456:数据库的密码为123456
--scm-host:CM server的主机,一般是和mysql安装的主机是在同一个主机上。
最后三个参数是:数据库名,数据库用户名,数据库密码。
初始化完成之后,启动cloudera-scm-server服务即可

    service cloudera-scm-server start

另外一个是内置的数据库服务,就不需要启动了,启动完成就可以在网页端进行登陆,进行节点分配和服务安装,如果网页上没有警告说使用了内置的数据库,就说明配置成功。

上一篇下一篇

猜你喜欢

热点阅读