说明:如果使用虚拟机进行演示的话,建议电脑是16运行内存,安装三个Linux系统,第一个系统内存建议大一些,不少于3G运行内存,其余2G即可。
一、系统环境
操作系统:CentOS 7.4 x64(内存32G)
Cloudera Manager: 5.14.2
CDH: 5.14.2
二、安装说明
采用离线安装。
1.安装包的下载地址
CM包下载地址: http://archive.cloudera.com/cm5/cm/5/cloudera‐manager‐centos7‐cm5.14.2_x86_64.tar.gz
CDH安装包地址:
http://archive.cloudera.com/cdh5/parcels/5.14.2/
由于我们的操作系统是CentOS 7.4 需要下载下载文件:
CDH-5.14.2-1.cdh5.14.2.p0.3-e17.parcel
CDH-5.14.2-1.cdh5.14.2.p0.3-e17.parcel.sha
manifest.json
三、准备工作:系统环境搭建
1.网络配置(所有节点)
1.1配置阿里云yum源。
1.11、打开centos的yum文件夹
cd /etc/yum.repos.d/
1.12、备份系统原来的repo文件
mkdir bak #创建一个备份文件夹
mv ./*.repo ./bak #把目前的配置文件放入备份文件内
如果wget命令不生效,说明还没有安装wget工具,需要安装wget。
yum -y install wget
1.13下载阿里云的repo文件
wget http://mirrors.aliyun.com/repo/Centos‐7.repo
1.14执行yum源更新命令
yum clean all
yum makecache
yum update
1.2修改hostname
在5个节点分别执行下列命令,更改用户名:
hostnamectl set‐hostname n1
hostnamectl set‐hostname n2
hostnamectl set‐hostname n3
hostnamectl set‐hostname n4
hostnamectl set‐hostname n5
1.3 修改IP到host的映射
vi /etc/hosts
# 在hosts文件中添加集群主机信息
172.16.253.201 n1 nn1
172.16.253.202 n2 snn1 dn1
172.16.253.203 n3 dn2 datax1
172.16.253.204 n4 dn3
172.16.253.205 n5 dn4
2.设置ssh的无密码登陆
2.1六台机器分别执行生成公钥,并全部发送集中到n1
ssh‐keygen ‐t rsa #六台机器分别执行: 一路回车到完成
ssh‐copy‐id ‐i ~/.ssh/id_rsa.pub root@n0 #六台机器分别执行:将公钥拷贝到本机的authorized_keys上
2.2将n0集中的所有机器的公钥发送到其他5台机器上
# 在master节点依次执行下列命令
scp ~/.ssh/authorized_keys root@n1:~/.ssh/
scp ~/.ssh/authorized_keys root@n2:~/.ssh/
scp ~/.ssh/authorized_keys root@n3:~/.ssh/
scp ~/.ssh/authorized_keys root@n4:~/.ssh/
scp ~/.ssh/authorized_keys root@n5:~/.ssh/
3.卸载自带的 OpenJdk,安装 oracle的jdk(所有节点)
3.1. 查询 java 相关的包,使用
rpm ‐qa | grep java
3.2. 卸载java相关的包
rpm ‐e ‐‐nodeps + 包名称
3.3.安装oracle的jdk
rpm ‐ivh oracle‐j2sdk1.7‐1.7.0+update67‐1.x86_64.rpm
3.4.添加环境变量:
vi /etc/profile
#添加如下信息:
JAVA_HOME=/usr/java/jdk1.7.0_67‐cloudera
JRE_HOME=/usr/local/java//usr/java/jdk1.7.0_67‐cloudera/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH
3.5.重新加载环境变量
source /etc/profile
3.6.查看是否安装成功
java ‐version
4 . 安装配置 MySql(主节点)
4.1 下载mysql的repo源
wget http://repo.mysql.com/mysql‐community‐release‐el7‐5.noarch.rpm
4.2安装mysql-community-release-el7-5.noarch.rpm包
sudo rpm ‐ivh mysql‐community‐release‐el7‐5.noarch.rpm
安装这个包后,会获得两个mysql的yum repo源:
/etc/yum.repos.d/mysql‐community.repo,/etc/yum.repos.d/mysql‐community‐source.repo
4.3. 安装mysql
sudo yum install mysql‐server
4.4.启动mysql
systemctl start mysqld # 启动mysql
systemctl status mysqld # 查看MySQL的启动状态
4.5.设置MySQL开机启动
systemctl enable mysqldshell
systemctl daemon‐reload
4.6. 重置密码(装完成后,没有密码,需要重置密码)。
mysql ‐u root #登陆mysql
mysql > use mysql; #选MySQL库
mysql >set password for 'root'@'localhost'=password('xxxxx'); #重置密码
4.7.赋予远程访问权限:
mysql > grant all privileges on . to root@'%' identified by 'xxxxx' with grant option;
mysql > grant all privileges on . to 'root'@'localhost' identified by 'xxxxx';
mysql > grant all privileges on . to 'root'@'127.0.0.1' identified by 'xxxxx';
mysql > flush privileges;
4.8.创建需要用到的库
#hive
mysql > create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
#activity monitor
mysql > create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
mysql > exit;
5 . 关闭防火墙和 SELinux
5.1 查看防火墙状态
firewall‐cmd ‐‐state
5.2 停止firewall
systemctl stop firewalld.service
5.3 禁止firewall开机启动
systemctl disable firewalld.service
5.4 关闭selinux ()
vi /etc/selinux/config
将SELINUX=enforcing改为SELINUX=disabled #更改后需要重启才会生效.
6.安装时间同步服务
所有节点时间一致非常重要,要不然启动Cloudera Manager服务后,后台会报错。安装ntp后,阿里云的服务器 会自动使用阿里云的ntp服务器进行同步
6.1安装ntp服务 所有节点执行:
yum install ntp ‐y
开机启动
systemctl enable mysqld
最后所有服务器检查一下时间是否一致即可。
四、 安装 CM Server 和 Agent
1.点解压安装包到 /opt下,形成 cloudera 和 cm-5.14.2 两个文件夹
tar ‐zxvf cloudera‐manager‐centos7‐cm5.14.2_x86_64.tar.gz ‐C /opt/
2.为cm5建立数据库
cp mysql‐connector‐java‐5.1.44‐bin.jar /opt/cm‐5.14.2/share/cmf/lib/ #添加驱动
/opt/cm‐5.14.2/share/cmf/schema/scm_prepare_database.sh mysql cm ‐hlocalhost ‐uroot ‐ pzjhjsj ‐‐scm‐host localhost scm scm scm #为cm5建立数据库
3.agent配置
vi /opt/cm‐5.14.2/etc/cloudera‐scm‐agent/config.in #修改CM集群配置文件
# Hostname of the CM server.
server_host=n1 #设置n1为主节点
4.同步 Agent 到其他节点
#将解压好的cm‐5.14.2包发送给其他slave节点
scp ‐r /opt/cm‐5.14.2 root@n2:/opt/
scp ‐r /opt/cm‐5.14.2 root@n3:/opt/
scp ‐r /opt/cm‐5.14.2 root@n4:/opt/
scp ‐r /opt/cm‐5.14.2 root@n5:/opt/
5.所有节点建立cloudera-scm用户
useradd ‐‐system ‐‐home=/opt/cm‐5.14.2/run/cloudera‐scm‐server/ ‐‐no‐create‐home ‐‐
shell=/bin/false ‐‐comment "Cloudera SCM User" cloudera‐scm
6.准备parcels,用来安装CDH5
将 CHD5 相关的 Parcel 包放到主节点的/opt/cloudera/parcel-repo/目录中:
# 需要更改CDH‐5.14.2‐1.cdh5.14.2.p0.3‐el7.parcel.sha1 的名称,否则安装过程中会重新下在parcel包.
mv CDH‐5.14.2‐1.cdh5.14.2.p0.3‐el7.parcel.sha1 CDH‐5.14.2‐1.cdh5.14.2.p0.3‐el7.parcel.sha
# 把用到的三个文件放到/opt/cloudera/parcel‐repo 中.
mv CDH‐5.14.2‐1.cdh5.14.2.p0.3‐el7.parcel /opt/cloudera/parcel‐repo
mv CDH‐5.14.2‐1.cdh5.14.2.p0.3‐el7.parcel.sha /opt/cloudera/parcel‐repo
mv manifest.json /opt/cloudera/parcel‐repo /opt/cloudera/parcel‐repo
7.启动server和agent
在主节点启动server
/opt/cm‐5.14.2/etc/init.d/cloudera‐scm‐server start
在主节点和所有子节点agent
/opt/cm‐5.14.2/etc/init.d/cloudera‐scm‐agent start
查看server和agengt是否启动成功
/opt/cm‐5.14.2/etc/init.d/cloudera‐scm‐server status
/opt/cm‐5.14.2/etc/init.d/cloudera‐scm‐agent status
大概等待1分钟后登陆172.16.253.201:7180 进行页面安装CDH.
五.登陆CM安装CDH
1.登陆 ,初始用户名和密码都是admin
2.同意使用条款
3.选择安装的版本
5.选择安装的方式和安装的parcel
7.检查主机安装正确性
8.查看可安装的服务的版本
9.选择自定义服务
10.选择需要的服务(HDFS,HIVE,YARN,OOZIE)
11.为主机分配角色(一般不需要更改,使用默认的即可.)
12.为服务自定义数据库(需提前安装数据库,赋予远程访问权限,建好数据库,然后填写数据库信息).
14.启动hive失败,hive缺乏JDBC Driver
15.只需把mysql-connector-*.jar 添加到hive的lib文件夹中,然后重新启动即可
cp mysql‐connector‐java‐5.1.44‐bin.jar /opt/cloudera/parcels/CDH‐5.14.2‐
1.cdh5.14.2.p0.3/lib/hive/lib
16.集群安装成功
17.查看集群状态