五、CDH5.16.2集群之集群的安装配置

说明:

  1. 【一、CDH5.16.2集群之VMware-workstation-14安装】
  2. 【二、CDH5.16.2集群之三台虚拟机安装】
  3. 【三、CDH5.16.2集群之三台虚拟机配置网络配置】
  4. 【四、CDH5.16.2集群之XShell连接虚拟机】

一、集群前期配置

1、安装JAVA(三台虚拟机都执行)
  • 卸载自带的Java
    执行:rpm -qa | grep -i java
    在这里插入图片描述
  • 执行如下命令卸载上图中箭头所指的四个jdk
    rpm -e --nodeps java-1.8.0-openjdk-1.8.0.65-3.b17.el7.x86_64
    rpm -e --nodeps java-1.7.0-openjdk-1.7.0.91-2.6.2.3.el7.x86_64
    rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.91-2.6.2.3.el7.x86_64
    rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.65-3.b17.el7.x86_64
    在这里插入图片描述
  • 安装自己下载的Java
  1. 上传下载的Java到目录:/usr/lib/java
  2. 解压Java的tar包
    cd /usr/lib/java
    tar -xzvf jdk-8u172-linux-x64.tar.gz
    在这里插入图片描述
  3. 配置环境变量到文件**/etc/profile**最后
    # Java1.8
    export JAVA_HOME="/usr/lib/java/jdk1.8.0_172"
    JRE_HOME=" J A V A H O M E / j r e " C L A S S P A T H = " . : {JAVA_HOME}/jre" CLASSPATH=".: JAVAHOME/jre"CLASSPATH=".:{JAVA_HOME}/lib: J R E H O M E / l i b " P A T H = " {JRE_HOME}/lib" PATH=" JREHOME/lib"PATH="{PATH}: H O M E / b i n : {HOME}/bin: HOME/bin:{JAVA_HOME}/bin"
    export PATH
  4. 生效配置文件:source /etc/profile,并查看Java版本:java -version
    在这里插入图片描述
2、安装NTP,同步时间
  • NTP_Server端设置**(只需在cdh1上操作)**
  1. 安装NTP
    yum install -y ntp ntpdate
  2. 配置ntp.conf
    备份/etc/ntp.conf:
    cp /etc/ntp.conf /etc/ntp.conf_bak
    配置/etc/ntp.conf,添加如下配置:
    # 27.127.1.0 代表自身
    server 127.127.1.0
    fudge 127.127.1.0 stratum 10
    在这里插入图片描述
  3. 设置中国时间
    timedatectl set-timezone Asia/Shanghai
  4. 修改启动参数,增加-g -x参数,允许ntp服务在系统时间误差较大时也能正常工作:
    echo ‘OPTIONS="-x"’ >> /etc/sysconfig/ntpd
  5. 设置为开机自启动
    chkconfig --level 345 ntpd on
  6. 设置为enable
    systemctl enable ntpd
  7. 启动NTP服务
    systemctl start ntpd
  8. 查看NTP服务状态
    systemctl status ntpd
    在这里插入图片描述
  • NTP_Client端设置**(只需在cdh2、cdh3上操作)**
  1. 安装NTP
    yum install -y ntp ntpdate
  2. 配置ntp.conf
    备份/etc/ntp.conf:
    cp /etc/ntp.conf /etc/ntp.conf_bak
    配置/etc/ntp.conf,添加如下配置:
    # NTP_Server的IP地址
    server 192.168.100.101
    在这里插入图片描述
  3. 设置中国时间
    timedatectl set-timezone Asia/Shanghai
  4. 修改启动参数,增加-g -x参数,允许ntp服务在系统时间误差较大时也能正常工作:
    echo ‘OPTIONS="-x"’ >> /etc/sysconfig/ntpd
  5. 设置为开机自启动
    chkconfig --level 345 ntpd on
  6. 设置为enable
    systemctl enable ntpd
  7. 启动NTP服务
    systemctl start ntpd
  8. 查看NTP服务状态
    systemctl status ntpd
    在这里插入图片描述
  • 客户端NTP同步服务器端的时间
  1. 停止客户端的NTP服务(只需在cdh2、cdh3上操作)
    systemctl stop ntpd
  2. 同步服务端时间(只需在cdh2、cdh3上操作)
    ntpdate 192.168.100.101
    在这里插入图片描述
  3. 所有节点启动时间同步(三台虚拟机)
    timedatectl set-ntp yes
3、安装MySQL(只在cdh1上操作)
  1. 用root用户,安装mysql-7.5
    上传下载的MySQL文件
    把mysql-cluster-gpl-7.5.10-linux-glibc2.12-x86_64.tar.gz文件上传到目录:/data/mysql/data/
    解压并修改文件夹名称
    mkdir -p /data/mysql/data/
    cd /data/mysql/data/
    tar -xzvf mysql-cluster-gpl-7.5.10-linux-glibc2.12-x86_64.tar.gz
    mv mysql-cluster-gpl-7.5.10-linux-glibc2.12-x86_64 mysql-7.5
  2. 使用root创建组,用户,mysql相关目录
    创建用户
    useradd mysqluser
    passwd mysqluser //密码 ‘1qaz@WSX’
    创建目录
    mkdir -p /data/mysql/data/mysql-7.5/3306/data/
    mkdir -p /data/mysql/data/mysql-7.5/3306/general_query
    mkdir -p /data/mysql/data/mysql-7.5/3306/slow_query
    mkdir -p /data/mysql/data/mysql-7.5/3306/tmp
    mkdir -p /data/mysql/data/mysql-7.5/3306/error
    mkdir -p /data/mysql/binlog/relaylog/
    更改目录权限
    chown -R mysqluser: /data/mysql/
    环境变量
    su mysqluser
    vi ~/.bashrc
    #####增加####
    export PATH="$PATH:/data/mysql/data/mysql-7.5/bin"
    生效配置
    source ~/.bashrc
  3. 初始化数据库(su mysqluser)mysqluser用户执行
    mysqld --initialize --user=mysqluser --datadir=/data/mysql/data/mysql-7.5/3306/data --basedir=/data/mysql/data/mysql-7.5
    注:标注的红框是自动生成的密码:ekL!ifwMC6si
    在这里插入图片描述
  4. 修改my.cnf配置文件(mysqluser用户执行)
    cd /data/mysql/data/mysql-7.5
    vi my.cnf
####配置文件####
#MYSQL CLIENT
[client]
#数据库监听端口
port=3306
#用于客户端连接的socket文件位置
socket =/data/mysql/data/mysql-7.5/3306/mysql.sock

#MYSQL
[mysql]
#默认字符编码,建议设置为utf8
default-character-set = utf8

#MYSQL SERVER
[mysqld]
#不区分表名的大小写
lower_case_table_names=1
port = 3306
user = mysql
#数据库安装位置
basedir = /data/mysql/data/mysql-7.5
#用于客户端连接的socket文件位置
socket = /data/mysql/data/mysql-7.5/3306/mysql.sock
#数据库进程pid文件位置
pid-file = /data/mysql/data/mysql-7.5/3306/mysql.pid
#数据库数据文件位置
datadir = /data/mysql/data/mysql-7.5/3306/data
#数据库临时文件位置
tmpdir = /data/mysql/data/mysql-7.5/3306/tmp
#server id  每台mysql唯一
server-id=79
open_files_limit = 10240
explicit_defaults_for_timestamp
sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

#replication
auto_increment_increment=2
auto_increment_offset=1
relay-log=/data/mysql/binlog/relaylog/m1-relaylog
log_slave_updates=on
relay_log_recovery=on
slave-skip-errors=1032

#MTS
slave-parallel-type=LOGICAL_CLOCK
slave-parallel-workers=16

#multile
master_info_repository=TABLE
relay_log_info_repository=TABLE

#Buffer
max_allowed_packet = 256M
max_heap_table_size = 256M
net_buffer_length = 8K
sort_buffer_size = 2M
join_buffer_size = 4M
read_buffer_size = 16M
read_rnd_buffer_size = 16M
query_cache_size = 0

#Charaset
#默认字符集
character_set_server = utf8
#字符比较规则
collation_server = utf8_bin

#Log
#重做日志
log_bin = /data/mysql/binlog/mysql-bin
binlog_cache_size = 16M
max_binlog_cache_size = 2048M
max_binlog_size = 1024M
binlog_format = mixed
binlog_stmt_cache_size = 16M
#日志过期时间
expire_logs_days = 14
#错误日志配置
log_output = FILE
log_error = /data/mysql/data/mysql-7.5/3306/error/mysql-error.log
#慢查询日志配置
slow_query_log = 1
slow_query_log_file = /data/mysql/data/mysql-7.5/3306/slow_query/slow_query.log
#通用查询日志
general_log = 1
general_log_file = /data/mysql/data/mysql-7.5/3306/general_query/general_query.log

#INNODB
#innodb_data_file_path = ibdata1:2048M:autoextend
#innodb_log_file_size = 256M
#innodb_log_files_in_group = 3
#innodb buffer建议设置为内存的1/2大小
#innodb_buffer_pool_size = 4G
#pool_instances建议以1G为单位,数量为innodb_buffer_pool_size/1024M
#innodb_buffer_pool_instances = 16
#innodb_log_buffer_size = 4M

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

#PERFORMENCE
max_connections = 1000
max_connect_errors = 100000
interactive_timeout = 86400
wait_timeout = 86400
skip-name-resolve
sync_binlog = 0
table_open_cache = 3000
  1. 启动mysql
    Mysql所有操作都需要在mysqluser用户下,之后不再特别提示
    su - mysqluser
    mysqld_safe --defaults-file=/data/mysql/data/mysql-7.5/my.cnf --ledir=/data/mysql/data/mysql-7.5/bin &
    在这里插入图片描述
  2. 查看数据库状态
    查看mysql进程:ps -ef | grep mysql
    在这里插入图片描述
    查看mysql端口:ss -tulnp | grep 3306
    在这里插入图片描述
  3. 修改mysql-root的密码
    加粗标注为mysql初始密码,根据实际情况替换
    mysqladmin -uroot -p’ekL!ifwMC6si’ password --socket=/data/mysql/data/mysql-7.5/3306/mysql.sock
    在这里插入图片描述
  4. 测试连接mysql
    加粗标注为mysql初始密码,根据实际情况替换
    mysql -uroot -p’1qaz@WSX’ --socket=/data/mysql/data/mysql-7.5/3306/mysql.sock
    在这里插入图片描述
  5. 创建CDH数据库
    进入命令行:
    mysql -u root --password=‘1qaz@WSX’ --socket=/data/mysql/data/mysql-7.5/3306/mysql.sock
create database amon default character set utf8;
create database rman default character set utf8;
create database hive default character set utf8;
create database oozie default character set utf8;
create database hue default character set utf8;
create database cm default character set utf8;
create database scm default character set utf8;
create database aman default character set utf8;
  1. 创建CDH用户
    进入命令行:
    mysql -u root --password=‘1qaz@WSX’ --socket=/data/mysql/data/mysql-7.5/3306/mysql.sock
CREATE USER "amon"@"%" IDENTIFIED BY "amon!QAZ";
create user "rman"@"%" identified by "rman!QAZ";
create user "hive"@"%" identified by "hive!QAZ";
create user "oozie"@"%" identified by "oozie!QAZ";
create user "hue"@"%" identified by "hue!QAZ";
create user "cm"@"%" identified by "cm!QAZ";
create user "scm"@"%" identified by "scm!QAZ";
create user "aman"@"%" identified by "aman!QAZ";
  1. 用户授权
    进入命令行:
    mysql -u root --password=‘1qaz@WSX’ --socket=/data/mysql/data/mysql-7.5/3306/mysql.sock
grant all privileges on amon.* to 'amon'@'%';
grant all privileges on rman.* to 'rman'@'%';
grant all privileges on hive.* to 'hive'@'%';
grant all privileges on oozie.* to 'oozie'@'%';
grant all privileges on hue.* to 'hue'@'%';
grant all privileges on cm.* to 'cm'@'%';
grant all privileges on scm.* to 'scm'@'%';
grant all privileges on aman.* to 'aman'@'%';
  1. 数据库授权刷新
    进入命令行:
    mysql -u root --password=‘1qaz@WSX’ --socket=/data/mysql/data/mysql-7.5/3306/mysql.sock
flush privileges;
4、Mysql 双主配置说明
  1. 停止mysql(cdh1上mysqluser用户操作)
    mysqladmin -uroot -p -S /data/mysql/data/mysql-7.5/3306/mysql.sock shutdown
  2. 打包备份mysql整个目录(cdh1上root用户操作)
    cd /tmp
    tar -zcvf mysql.tar.gz /data/mysql/
  3. scp至192.168.100.102:/tmp 目录(cdh1上root用户操作)
    cd /tmp
    scp mysql.tar.gz 192.168.100.102:/tmp
  4. 解压mysql.tar.gz包(cdh2上root用户操作)
    tar -zxvf /tmp/mysql.tar.gz -C /
  5. 创建mysqluser用户(cdh2上root用户操作)
    useradd mysqluser
    passwd mysqluser //密码 ‘1qaz@WSX’
  6. 更改mysql目录权限(cdh2上root用户操作)
    chown -R mysqluser: /data/mysql/
  7. 修改配置文件(cdh2上mysqluser用户操作)
####需要修改的配置####
# server id
server-id=80
# replication
auto_increment_increment=2
auto_increment_offset=2
relay-log=/data/mysql/binlog/relaylog/m2-relaylog
  1. 修改server-uuid(cdh2上mysqluser用户操作)
    cd /data/mysql/data/mysql-7.5/3306/data
    vi auto.cnf
###任意修改,区别192.168.100.101的mysql-server-uuid###
[auto]
server-uuid=f96ba960-9453-11ea-977b-111c291d9ee9
  1. 配置环境变量(cdh2上mysqluser用户操作)
    vi ~/.bashrc
    **添加内容:**export PATH="$PATH:/data/mysql/data/mysql-7.5/bin"
    生效配置: source ~/.bashrc
  2. 启动mysql(cdh2上mysqluser用户操作)
    mysqld_safe --defaults-file=/data/mysql/data/mysql-7.5/my.cnf --ledir=/data/mysql/data/mysql-7.5/bin &
  3. 查看数据库状态(cdh2上mysqluser用户操作)
    查看mysql进程与端口
    ps -ef | grep mysql
    ss -tulnp | grep 3306
    在这里插入图片描述
  4. 测试连接mysql(cdh2上mysqluser用户操作)
    黑色加粗为实际使用的密码,根据实际情况替换
    mysql -uroot -p’1qaz@WSX’ --socket=/data/mysql/data/mysql-7.5/3306/mysql.sock
  5. cdh1上启动mysql服务
    mysqld_safe --defaults-file=/data/mysql/data/mysql-7.5/my.cnf --ledir=/data/mysql/data/mysql-7.5/bin &
  6. 创建双主授权用户
  • 两台mysql都需要连接至mysql命令行
    mysql -uroot -p’1qaz@WSX’ --socket=/data/mysql/data/mysql-7.5/3306/mysql.sock
  • 执行授权操作:
    在192.168.100.101上执行
    GRANT REPLICATION SLAVE ON . TO ‘repl’@‘192.168.100.102’ IDENTIFIED BY ‘1qaz@WSX’;
    flush privileges;
    在192.168.100.102上执行
    GRANT REPLICATION SLAVE ON . TO ‘repl’@‘192.168.100.101’ IDENTIFIED BY ‘1qaz@WSX’;
    flush privileges;
  1. mysql双主配置- CHANGE MASTER TO
  • 192.168.100.101配置
    在192.168.100.102执行(mysql命令行)
    show master status\G;
    在这里插入图片描述
    在192.168.100.101执行----红色框中标的mysql-bin.000002,613必须与上图中的一致
    CHANGE MASTER TO
    MASTER_HOST=‘192.168.100.102’,
    MASTER_USER=‘repl’,
    MASTER_PASSWORD=‘1qaz@WSX’,
    MASTER_LOG_FILE=‘mysql-bin.000002’,
    MASTER_LOG_POS=613;
    在这里插入图片描述
  • 192.168.100.102配置
    在192.168.100.101执行(mysql命令行)
    show master status\G;
    在这里插入图片描述
    在192.168.100.102执行----红色框中标的mysql-bin.000002,613必须与上图中的一致
    CHANGE MASTER TO
    MASTER_HOST=‘192.168.100.101’,
    MASTER_USER=‘repl’,
    MASTER_PASSWORD=‘1qaz@WSX’,
    MASTER_LOG_FILE=‘mysql-bin.000002’,
    MASTER_LOG_POS=613;
    在这里插入图片描述
  1. 启动slave
    在192.168.100.101和192.168.100.102都执行
    start slave;
  2. 查看双主启动slave配置后状态
    在192.168.100.101和192.168.100.102都执行
    show slave status\G;

cdh1的结果
在这里插入图片描述
cdh2的结果
在这里插入图片描述

二、准备Cloudera Manager安装

1、安装Httpd服务

在作为CDH yum源的机器上进行操作
yum install httpd
systemctl start httpd
systemctl enable httpd

2、禁用Selunix

所有节点关闭Selunix:
vi /etc/selinux/config
设置:SELINUX=disabled
重启或则执行setenforce 0 使配置生效

3、禁止交换

**所有节点执行:**禁止交换(可选), 内存页面交换在某些情况下会导致 CDH 性能下降,建议在 kernel 在2.6.32-303 之前的版本中将其关闭。
vi /etc/sysctl.conf
#ADD by tansun for CDH
vm.swappiness=0
执行,立即生效
sysctl vm.swappiness=0

4、修改 transparent_hugepage 参数

执行范围:所有节点
这一参数默认值可能会导致 CDH 性能下降,并在/etc/rc.local末尾添加如下两行.
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled

三、CDH Manager安装

1、添加yum源:(所有节点)

curl https://archive.cloudera.com/cm5/redhat/7/x86_64/cm/cloudera-manager.repo > /etc/yum.repos.d/cloudera-manager.repo
注:此出隐含条件是有系统默认的yum源可在线更新
在这里插入图片描述

2、查看cdh配置信息: /etc/yum.repos.d/cloudera-manager.repo

在这里插入图片描述

3、开启5.6版的yum源(所有节点)

vim /etc/yum.repos.d/mysql-community.repo (所有节点)
开启5.6的yum源并修改如下:

[mysql56-community]
name=MySQL 5.6 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
 
[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
# 注:修改enabled选项等于1表示开启,0表示关闭(其他源都配置为0)

复制到其他节点:
scp /etc/yum.repos.d/mysql-community.repo 192.168.100.102:/etc/yum.repos.d/mysql-community.repo
scp /etc/yum.repos.d/mysql-community.repo 192.168.100.103:/etc/yum.repos.d/mysql-community.repo
在这里插入图片描述

4、安装Cloudera Manager包 (cdh1主节点)

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

5、安装mysql-connector-java(所有节点)

yum install mysql-connector-java

6、设置外部数据源(cdh1主节点)

/usr/share/cmf/schema/scm_prepare_database.sh mysql scm scm ‘scm!QAZ’

7、验证

访问http://192.168.100.101:7180/是否安装成功
在这里插入图片描述

四、Cloudera Manager通过界面安装

1、根据提示安装

在这里插入图片描述

2、搜索使用的主机

在这里插入图片描述
在这里插入图片描述

3、根据提示继续安装

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4、等待安装完成

在这里插入图片描述

5、等待集群安装

在这里插入图片描述

6、检查主机

在这里插入图片描述

7、选择集群安装的组件

在这里插入图片描述
接下来根据提示操作即可…

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值