CDH6.3.2集群部署1—CM服务安装

集群环境系统配置

参考链接:集群环境搭建-系统配置

术语解释

为了方便阅读理解,规范以下术语

  • 主节点:master节点
  • 非主节点:worker节点

上传文件

  • 文件链接: CDH安装文件
    提取码:un3w
  • 文件列表
    在这里插入图片描述
  • 将文件列表中的文件上传到master节点
    为了后面便于说明,我上传到了/root/auto-cdh/softPKG目录下,和上图所示的一致

安装MySQL数据库

  1. 卸载Mariadb
    CentOS7.9默认自带Mariadb,查看并卸载
    master节点必须执行,worker节点非必须
#查询是否安装了mariadb相关的包
rpm -qa | grep -i mariadb
#卸载mariadb相关的包
yum -y remove mariadb-*
  1. 删除mariadb和mysql的残留文件
    master节点必须执行,worker节点非必须
#查看是否有mariadb和mysql的残留文件
find / -iname mysql
#删除mariadb和mysql的残留文件(最小化安装的系统有以下三个文件,根据上面查询的结果删除即可)
rm -rf /etc/selinux/targeted/active/modules/100/mysql
rm -rf /usr/lib/firewalld/services/mysql.xml
rm -rf /usr/lib64/mysql
  1. 安装MySQL
    master节点执行
#下载mysql5.7yum源(如果wget命令不存在先安装[yum -y install wget])
wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
#安装mysql5.7的yum源
rpm -ivh mysql57-community-release-el7-9.noarch.rpm
#安装mysql5.7,安装前导入密钥,不然报错mysql-community-server-5.7.37-1.el7.x86_64.rpm 的公钥尚未安装
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
yum -y install mysql-server
#启动mysql服务,并设置为开机自启
systemctl start mysqld
systemctl enable mysqld
  1. 初始化MySQL
#获取mysql初始的root用户密码
grep 'temporary password' /var/log/mysqld.log | cut -d " " -f11

#执行mysql_secure_installation命令交互式初始化数据库
mysql_secure_installation

在这里插入图片描述
5. 配置mysql的root用户可远程访问,并创建cm各个组件所需的数据库

#pwd替换成自己的密码
mysql -uroot -ppwd <<EOF
grant all privileges on *.* to 'root' @'%' identified by 'pwd';
flush privileges;
CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE amon DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE hue DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE hive DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE sentry DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE oozie DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
exit
EOF

安装JDK

在所有节点都安装
说明:CDH6.3.2依赖JDK1.8,官方推荐使用1.8.0_181,测试发现1.8.0_221也可以,所以介绍两种安装方法,任选一种即可

  • 方法一:压缩包的方式安装
#判断目录是否存在,不存在先创建(所有节点上执行)
if [[ ! -d /usr/java ]];then
mkdir /usr/java
fi
#将jdk解压到/usr/java目录(master节点上执行)
tar -zxvf /root/auto-cdh/softPKG/jdk-8u221-linux-x64.tar.gz -C /usr/java/
#复制master节点的JDK到worker节点(master节点上执行)
scp -P 20885 -r /usr/java root@dbnode2:/usr
scp -P 20886 -r /usr/java root@dbnode3:/usr
#添加到PATH(所有节点上执行)
cat >> /etc/profile << EOF
#JDK env
export JAVA_HOME=/usr/java/jdk1.8.0_221
export CLASSPATH=.:\$JAVA_HOME/lib/dt.jar:\$JAVA_HOME/lib/tools.jar
export PATH=\$JAVA_HOME/bin:$PATH
EOF
#使配置立即生效(所有节点上执行)
source /etc/profile
  • 方法二:rpm安装
#安装cdh自带的JDK(master节点上执行)
rpm -ivh /root/auto-cdh/softPKG/cm/cm6.3.0/RPMS/x86_64/oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm
#判断目录是否存在,不存在先创建(worker节点上执行)
if [[ ! -d /usr/java ]];then
mkdir /usr/java
fi
#复制master节点的JDK到worker节点(master节点上执行)
scp -P 20885 -r /usr/java root@dbnode2:/usr
scp -P 20886 -r /usr/java root@dbnode3:/usr
#添加到PATH(所有节点上执行)
cat >> /etc/profile << EOF
#JDK env
export JAVA_HOME=/usr/java/jdk1.8.0_181-cloudera
export CLASSPATH=.:\$JAVA_HOME/lib/dt.jar:\$JAVA_HOME/lib/tools.jar
export PATH=\$JAVA_HOME/bin:$PATH
EOF
#使配置立即生效(所有节点上执行)
source /etc/profile

安装Cloudera Manager (CM)

  1. 创建CDH的yum仓库
    在master节点使用python2启动一个HTTP服务
cd /root/auto-cdh/softPKG
#启动一个http服务作为CDH集群的yum仓库
nohup python -m SimpleHTTPServer 8900 > /dev/null 2>&1 &
  1. 配置yum源
    在所有节点上都执行
cat >> /etc/yum.repos.d/cloudera-manager.repo << EOF
[cloudera-manager]
name=cloudera-manager
baseurl=http://dbnode1:8900/cm/cm6.3.0
gpgkey=https://archive.cloudera.com/cm6/6.3.0/redhat7/yum/RPM-GPG-KEY-cloudera
gpgcheck=0
enabled=1
autorefresh=0
type=rpm-md
EOF
  1. 安装Cloudera Manager (CM)
#在master节点安装cloudera-manager-server和cloudera-manager-agent
yum -y install cloudera-manager-server cloudera-manager-agent cloudera-manager-daemons
#在worker节点安装cloudera-manager-agent
yum -y install cloudera-manager-agent cloudera-manager-daemons
  1. 配置cloudera-scm-agent
    在所有节点上都执行
#dbnode1替换成自己cloudera-manager-server所在节点的主机名
sed -i 's/^server_host=.*/server_host=dbnode1/' /etc/cloudera-scm-agent/config.ini
  1. 初始化Cloudera Manager (CM)数据库
#为CM所需的驱动创建目录(所有节点都执行)
if [[ ! -d /usr/share/java ]];then
mkdir /usr/share/java
fi
#复制准备好的mysql驱动到指定目录(master节点执行)
scp -P 20884 /root/auto-cdh/softPKG/mysql-connector-java.jar root@dbnode1:/usr/share/java
scp -P 20885 /root/auto-cdh/softPKG/mysql-connector-java.jar root@dbnode2:/usr/share/java
scp -P 20886 /root/auto-cdh/softPKG/mysql-connector-java.jar root@dbnode3:/usr/share/java
#为CM配置数据库(master节点执行)[pwd换成mysql数据库root用户的密码]
/opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm root pwd

启动CM服务

在master节点执行

  1. 编写集群启动脚本
cat >> /usr/bin/xcall.sh << EOF
#!/bin/bash
#cm启动脚本
ssh -p 20884 dbnode1 "\$*"
ssh -p 20885 dbnode2 "\$*"
ssh -p 20886 dbnode3 "\$*"
EOF
chmod 755 /usr/bin/xcall.sh
  1. 启动CM服务
systemctl start cloudera-scm-server
xcall.sh systemctl start cloudera-scm-agent
  1. 关闭CM服务
xcall.sh systemctl stop cloudera-scm-agent
systemctl stop cloudera-scm-server

4.查看服务日志

#出现Started Jetty server说明启动成功
tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

一点见解

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

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

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

打赏作者

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

抵扣说明:

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

余额充值