第1章数仓之ClouderaManager
需要软件包:
mysql-connector-java-5.1.27-bin.jar
jdk-8u144-linux-x64.tar.gz
cm6.3.1-redhat7.tar.gz
需要yum
yum install rsync -y
yum install vim -y (可选)
yum install httpd -y可查看
https://www.cnblogs.com/ttzzyy/p/13072774.html
1.1 CM简介
1.1.1 CM简介
Cloudera Manager是一个拥有集群自动化安装、中心化管理、集群监控、报警功能的一个工具,使得安装集群从几天的时间缩短在几个小时内,运维人员从数十人降低到几人以内,极大的提高集群管理的效率。
1.2 服务器准备
1.2.1 SSH免密登录
配置hadoop102对hadoop102、hadoop103、hadoop104三台服务器免密登录。CDH服务开启与关闭是通过server和agent来完成的,所以这里不需要配置SSH免密登录,但是为了我们分发文件方便,在这里我们也配置SSH。
1)生成公钥和私钥:
[root@hadoop102 .ssh]$ ssh-keygen -t rsa
然后敲(三个回车),就会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
2)将公钥拷贝到要免密登录的目标机器上
[root@hadoop102 .ssh]$ ssh-copy-id hadoop102
[root@hadoop102 .ssh]$ ssh-copy-id hadoop103
[root@hadoop102 .ssh]$ ssh-copy-id hadoop104
3)重复1和2的操作,配置hadoop103对hadoop102、hadoop103、hadoop104三台服务器免密登录。
1.2.2关闭防火墙
# 关闭防火墙
systemctl stop firewalld.service
# 是防火墙功能失效
systemctl disable firewalld.service
1.2.3 关闭SELINUX
1)临时关闭(不建议使用)
[root@hadoop102 ~]# setenforce 0
但是这种方式只对当次启动有效,重启机器后会失效。
2)永久关闭(建议使用)
修改配置文件/etc/selinux/config
[root@hadoop102 ~]# vim /etc/selinux/config
将SELINUX=enforcing
改为SELINUX=disabled
或:
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
3)同步/etc/selinux/config
配置文件
[root@hadoop102 ~]# xsync /etc/selinux/config
4)重启hadoop102、hadoop103、hadoop104主机
[root@hadoop102 ~]# reboot
[root@hadoop103 ~]# reboot
[root@hadoop104 ~]# reboot
1.2.4 配置NTP时钟同步
下载ntp
yum install –y ntp
服务器 | hadoop102 | hadoop103 | hadoop104 |
---|---|---|---|
类型 | 服务端 | 客户端 | 客户端 |
1)NTP服务器配置
vi /etc/ntp.conf
## *注释掉所有的restrict开头的配置
## *将所有server配置进行注释
## *修改
# restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
# 为
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
# *添加下面两行内容
server 127.127.1.0
fudge 127.127.1.0 stratum 10
2)启动NTP服务 systemctl start ntpd
(服务端,即master节点)
[root@hadoop102 ~]# service ntpd start #(centos7不可用)改为
systemctl start ntpd
3)NTP客户端配置(在agent主机上进行配置hadoop103,hadoop104)
[root@hadoop103 ~]# vi /etc/ntp.conf
# 注释所有restrict和server配置
# 添加 服务端静态IP
server 192.168.1.102
4)手动测试(客户端,即slave节点)
[root@hadoop103~]# ntpdate 192.168.1.102
显示如下内容为成功:
17 Jun 15:34:38 ntpdate[9247]: step time server 192.168.1.102 offset 77556618.173854 sec
如果显示如下内容需要先关闭ntpd:
17 Jun 15:25:42 ntpdate[8885]: the NTP socket is in use, exiting
5)启动ntpd并设置为开机自启(每个节点hadoop102,hadoop103,hadoop104)
[root@hadoop103 ~]# chkconfig ntpd on
[root@hadoop103 ~]# service ntpd start(centos7不可用)改为
systemctl start ntpd
1.3 CM安装部署
1.3.1安装JDK(三台)
1)在hadoop102创建/usr/java目录
[root@hadoop102 opt]# mkdir /usr/java
2)用SecureCRT将jdk-8u144-linux-x64.tar.gz上传至hadoop102,并解压到/usr/java目录下。
[root@hadoop102 ~]# tar -zxvf jdk-8u144-linux-x64.tar.gz -C /usr/java/
3)配置JAVA_HOME环境变量
(1)打开/etc/profile
文件
[root@hadoop102 software]$ vim /etc/profile
```shell
在profile文件末尾添加JDK路径
```shell
#JAVA_HOME
export JAVA_HOME=/usr/java/jdk1.8.0_144
export PATH=$PATH:$JAVA_HOME/bin
(2)让修改后的文件生效
[root@hadoop102 jdk1.8.0_144]$ source /etc/profile
4)测试JDK是否安装成功
[root@hadoop102 ~]# java -version
java version "1.8.0_231"
Java(TM) SE Runtime Environment (build 1.8.0_231-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.231-b11, mixed mode)
5)将hadoop102中的JDK和环境变量分发到hadoop103、hadoop104两台主机
[root@hadoop102 opt]# xsync /usr/java/
[root@hadoop102 opt]# xsync /etc/profile
分别在hadoop103、hadoop104上source一下
[root@hadoop103 ~]$ source /etc/profile
[root@hadoop104 ~]# source /etc/profile
1.3.2安装MySQL及其驱动(hadoop102上操作)
1)卸载mariadb
rpm -qa | grep mariadb | xargs rpm -e --nodeps
2)下载msql5.7 yum源
下载wget工具
yum install –y wget
wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
3)安装yum源
rpm -ivh mysql57-community-release-el7-9.noarch.rpm
4)安装mysql
yum -y install mysql-server
5)启动mysql
service mysqld start (centos7不可用) 改为systemctl start mysqld
6)查看root用户密码
grep password /var/log/mysqld.log d9V,K1..6e.Q
7)修改root口令
# 进入mysql,使用前面查询到的口令
mysql -uroot -p
# 设置口令强度,将root口令设置为12345678
set global validate_password_policy=0;
set password for 'root'@'localhost'=password('12345678');
flush privileges;
9)配置root用户远程访问权限
mysql> grant all privileges on *.* to 'root' @'%' identified by 'Atguigu.123456';
mysql> flush privileges;
10)为CM安装mysql驱动
(1)将mysql-connector-java-5.1.27-bin.jar
拷贝到/usr/share/java
路径下,并重命名
mkdir /usr/share/java
cd /usr/share/java
mv mysql-connector-java-5.1.27-bin.jar mysql-connector-java.jar
(2)分发驱动
xsync /usr/share/java
1.3.3 CM安装
Cloudera Manager默认采用yum安装,对于能够联网的用户,可直接在线安装,十分快捷方便。对于网络不畅的用户,则可搭建本地yum源,进行安装。
1)集群规划
节点 | hadoop102 | hadoop103 | hadoop104 |
---|---|---|---|
服务 | cloudera-scm-server cloudera-scm-agent | cloudera-scm-agent | cloudera-scm-agent |
2)下载在线yum源配置文件(在线、离线yum安装)
cd /etc/yum.repos.d
wget https://archive.cloudera.com/cm6/6.2.1/redhat7/yum/cloudera-manager.repo
3)分发在线yum源配置文件(在线、离线yum安装)
xsync /etc/yum.repos.d/cloudera-manager.repo
4)搭建本地yum源(离线yum安装)(若网络环境畅通,此步可直接跳过)
mkdir -p /var/www/html
yum -y install httpd
systemctl start httpd
tar -zxvf cm6.3.1-redhat7.tar.gz -C /var/www/html/
mv /var/www/html/cm6.3.1/ /var/www/html/cm63
访问页面:
配置本地yum文件
cd /etc/yum.repos.d
vim cloudera-manager.repo
# 添加内容
# gpgcheck设为0,否则安装时可能出现公钥未安装错误
[cloudera-manager]
name=local
baseurl=http://linux01/cm63/
gpgcheck=0
enabled=1
# 分发该配置文件
xsync /etc/yum.repos.d/cloudera-manager.repo
4)安装CMserver及agent
[root@hadoop102 ~]# yum -y install cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server
[root@hadoop103~]# yum -y install cloudera-manager-agent cloudera-manager-daemons
[root@hadoop104~]# yum -y install cloudera-manager-agent cloudera-manager-daemons
1.3.4修改CM配置文件(三台)
vim /etc/cloudera-scm-agent/config.ini
1.3.5在MySQL中建库
1)创建各组件需要的数据库
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;
2)为CM配置数据库(自带脚本)
编辑server所在服务器/etc/cloudera-scm-server/db.properties
com.cloudera.cmf.db.type=mysql
com.cloudera.cmf.db.host=linux01 #mysql所在节点主机名
com.cloudera.cmf.db.name=scm #mysql数据库名
com.cloudera.cmf.db.user=root #mysql用户名
com.cloudera.cmf.db.setupType=EXTERNAL
com.cloudera.cmf.db.password=12345678 #mysql密码
1.3.6启动CM服务
1)启动服务节点:hadoop102
[root@hadoop102 ~]# systemctl start cloudera-scm-server
2)启动工作节点:hadoop102、hadoop103、hadoop104
[root@hadoop102 ~]# systemctl start cloudera-scm-agent
[root@hadoop103 ~]# systemctl start cloudera-scm-agent
[root@hadoop104 ~]# systemctl start cloudera-scm-agent
3)查看Server启动日志
[root@hadoop102 cm]# tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log
出现StartedJetty server字样及表明启动成功。
4)访问http://hadoop102:7180
(初始用户名、密码均为admin)
1.3.7关闭CM服务
1)关闭工作节点:hadoop102、hadoop103、hadoop104
[root@hadoop102 ~]# systemctl stop cloudera-scm-agent
[root@hadoop103 ~]# systemctl stop cloudera-scm-agent
[root@hadoop104 ~]# systemctl stop cloudera-scm-agent
2)关闭服务节点:hadoop102
[root@hadoop102 ~]# systemctl stop cloudera-scm-server
第2章 数仓之CDH
Cloudera Manager提供了十分方便的安装向导,大大简化了CDH的安装和部署。
2.1选择商业版本
1)欢迎页面
2)用户协议
3)选择免费版
2.2部署CDH集群
1)欢迎页面
2)集群命名
3)选定集群物理节点
4)添加本地parcel库
tar -zxvf cdh-parcel.tar.gz -C /var/www/html/
mv parcel /var/www/html/cm63
添加接口成功会出现cdh选项
5)等待parcel的下载、分配、解压和激活
6)检查集群网络环境
7)选择要安装的CDH组件,选择自定义安装
8)选择需要安装的组件,如下
9)CDH各组件角色分布
10)数据库连接测试
11)各组件基本设置,使用默认即可
12)等待安装部署和启动
13)启动成功