整体分几步做

首先下载需要的包,包括系统镜像文件+虚拟机工具,cloudera manager版本文件,CDH版本文件,flink parcls文件(最后集成flink才需要)

1.安装镜像文件

2.配置虚拟机环境包括网络的打通配置host,关闭防火墙,rzsz(方便上传下载),rsa机器之间免密操作(用于机器之间无密码ssh远程登录),yum插件的安装(解决后面安装CM的依赖问题),mysql的安装,配置mysql远程连接,配置CM的SCM库(提供给CM使用),hive库(提供给hive使用)

3.cloudera manager(CM)的安装,和启动(安装CM大数据管理工具)

4.启动CM 检测CDH parcles,开始安装大数据套件

5.安装flink,打parcles,安装套件

6.查看环境log大多在/var/xx(对应组件)/log,对应的错误进行错误修复

 我的安装过程

先把这几个下载下来https://archive.cloudera.com/cm6/6.3.1/redhat6/yum/RPMS/x86_64/,还需要一个linux6系统(这个网上找有很多,CM分linux6和linux7版本,安装时候要记得别下载错)

 

 

 

 

 

 

 

 

虚拟机readhart系统安装(readhat6版本)

步骤1.首先需要复制三个包(需要复制分开三分镜像文件,有过用同一个出问题)

 

步骤2.打开Oracle VM VirtualBox进行镜像安装(选用这个工具安装无界面版本的linux会比较节约空间,我用的是有界面版本无界面64位没找到内存也比较足),记得linux要选用64位版本

步骤3.内存分配我为2G,我电脑为32G内存

步骤4.一直下一步(虚拟硬盘容量我都分配为30GB,实际master安装比较多组件需要多分配一点,这里要记得master作为协同CM工作的节点需要内存分配大点我测试是6个G不卡,2个G会很卡,slave工作节点可以分配2G不卡,当然跑spark这些内存是不够,spark模式只能用local模式做测试,吃内存大户测试集群不行),完成后如下图

 步骤5.开始安装linux

 这里选择跳过

 

 选择next

 

 选择第一个

 

 

 

机器的hostname设置(这里写错了到linux系统也可以做修改在hostname XX就好了,exit 重进就改了)

 

设置时区

 

 

 

 

 

 

 自此开始安装linux系统

 

===========================================到这里安装完成linux系统开始配置机器环境================================================

 

步骤1.开始配置网络环境开始配置网络,本机外网和内网的打通

这是我和外网打通的配置

 

在外面linux工具需要选择桥接网卡,选择自己在用的网卡

 

步骤2:配置本机host文件

C:\Windows\System32\drivers\etc\hosts,把linux的hosts ip和hostsname加上去

192.168.1.113 master
192.168.1.114 slave1
192.168.1.115 slave2

找xshell或者CRT连接上虚拟机操作,分别配置好机器的hosts文件,在linux的/etc/hosts

步骤3:对三台linux设置相互免密访问过程(为了方便,实际上生产不会完全做免密操作)

ssh-keygen -t rsa生成密码文件目录在~/.ssh下

ssh-copy-id -i ~/.ssh/id_rsa.pub slave2通过这个命令,此时slave1到slave2就免除密码

用同样方法对master slave1 slave2做相互免密操作

 

步骤4:开始安装rzsz文件方便需要文件的上传,下载完rzsz工具第一次通过ftp工具上载文件

 开始安装rzsz

 

步骤5:开始安装mysql,我使用rpm包安装模式,也可以用tar和yum。(如果机器有网络强烈推介用yum,因为yum在安装插件的时候可以保证mysql各个包版本的一直比如client,server,mysql-python)

 yum -y remove mysql-libs-*(redhat6默认会包含这个包需要清除不然mysqlserver无法安装上去)

https://downloads.mysql.com/archives/community/(自己选择对应的版本下载)

-rw-r--r--. 1 root root 19124980 Jul 8 15:00 MySQL-client-5.6.42-1.el6.x86_64.rpm
-rw-r--r--. 1 root root 57600260 Jul 8 14:45 MySQL-server-5.6.42-1.el6.x86_64.rpm

 查看mysql首次登陆的随机密码

[root@slave1 tao]# vi /root/.mysql_secret

复制默认的密码进入首次mysql
# The random password set for the root user at Wed Jul 8 15:24:09 2020 (local time): tsHPJhx8gNC34ucX

设置mysql初始密码

set password=password('123456');(第一次登陆设置密码,到此mysql安装完毕)

mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
4 rows in set (0.00 sec)

关闭linux自带防火墙

chkconfig iptables off

SELINUX关闭 setenforce 0
vi /etc/selinux/config ( SELINUX=disabled )

步骤6:安装oracle jdk

 rpm -ivh oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm 

安装MySQL的jdbc驱动
下载MySQL的jdbc驱动,将驱动改名为mysql-connector-java.jar,然后三个节点将驱动复制到/usr/share/java目录下(没有该目录则自己创建,所有机器上都要装驱动)。

进入mysql创建SCM库:

CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON scm.* TO 'scm'@'%' IDENTIFIED BY '密码';

 

=======================================开始安装cloudera manager==================================================

 

步骤1:下载CM6.3文件(这里要注意linux版本我选用的是6的版本)

 

 

 

步骤1:初始化SCM库

出现此错误是因为没有放mysql的驱动lib(此处放lib /opt/cloudera/cm/lib/mysql-connector-java.jar)

完成cloudera manager SCM库的初始化

步骤2:安装cloudera-server服务 

rpm -ivh cloudera-manager-server-6.3.1-1466458.el6.x86_64.rpm 

cd /etc/cloudera-scm-server

service cloudera-scm-server  status/service cloudera-scm-server status

步骤3:安装 cloudera-manager-agent 服务

[root@master clouderaInstall]# rpm -ivh cloudera-manager-agent-6.3.1-1466458.el6.x86_64.rpm
warning: cloudera-manager-agent-6.3.1-1466458.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID b0b19c9f: NOKEY
error: Failed dependencies:
/lib/lsb/init-functions is needed by cloudera-manager-agent-6.3.1-1466458.el6.x86_64
httpd is needed by cloudera-manager-agent-6.3.1-1466458.el6.x86_64
mod_ssl is needed by cloudera-manager-agent-6.3.1-1466458.el6.x86_64
openssl-devel is needed by cloudera-manager-agent-6.3.1-1466458.el6.x86_64
python-psycopg2 is needed by cloudera-manager-agent-6.3.1-1466458.el6.x86_64
MySQL-python is needed by cloudera-manager-agent-6.3.1-1466458.el6.x86_64

缺包错误

接下来配置yum(但是内网不能用yum这个测了1挺久找包太累放弃了。最好还是公司内部自己有个yum服务器啊)

把yum配置成国内的yum源
vim /etc/yum.repos.d/CentOS-Base.repo
[base]
name=CentOS-$releasever - Base
baseurl=http://mirrors.163.com/centos/6/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-6

yum clean all
yum list

然后就可以用yum把缺少插件安装上了

rpm -ivh oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm 

yum install -y httpd.x86_64

yum install -y mod_ssl.x86_64

yum install -y openssl-devel.x86_64

yum install -y MySQL-python.x86_64

yum install -y python-psycopg2.x86_64

yum install -y redhat-lsb.x86_64

yum list   | grep xx  查看包

yum install -y xxx   安装包

rpm -ivh cloudera-manager-agent-6.3.1-1466458.el6.x86_64.rpm

service cloudera-scm-agent start

注意如果前面安装了和yum不同版本的mysql,需要安装和mysql匹配的MySQL-python

MySQL-python is needed by cloudera-manager-agent-6.3.1-1466458.el6.x86_64  安装这个包用yum出现冲突,怀疑是包不兼容。于是下载新版本的MySQL-python包,但是安装过程还是出现报错缺包,

 

 

 

如果mysql-python安装不上也可能这个MySQL-shared-compat没安装上

 

三台机器都安装完cloudera-scm-agent后启动服务

 service cloudera-scm-agent status/service cloudera-scm-agent status(这个命令可以看agent的状态)

此时可以访问 master:7180 (记得关闭防火墙)

开始安装CDH组件

如果机器全部被CM发现说明agent已经生效,下面就不用让你让新机器安装agent

 选择你放到机器上的parcel(你这里如果在/opt/cloudera/parcel-repo预先放好文件,CM检测到就不用从网上再下载会省事很多,直接进行分配安装)

-rw-r--r--. 1 root root 2095098849 Jul 9 11:37 CDH-6.3.2-1.cdh6.3.2.p0.1605554-el6.parcel
-rw-r--r--. 1 root root 40 Jul 10 09:59 CDH-6.3.2-1.cdh6.3.2.p0.1605554-el6.parcel.sha
-rw-r--r--. 1 root root 64 Jul 10 10:05 CDH-6.3.2-1.cdh6.3.2.p0.1605554-el6.parcel.sha256
-rw-r-----. 1 cloudera-scm cloudera-scm 80110 Jul 10 12:37 CDH-6.3.2-1.cdh6.3.2.p0.1605554-el6.parcel.torrent

 在目录下先配置好安装文件,进行分配parcles时候会显示已经安装完

 

 开始进行分配安装

 

 

 

 数据库权限问题,需要设置数据库

先把主要组件添加,添加hdfs

 

 

 

 

 

 添加cloudera manager的监控

 

 

 一直下一步继续

 

 

 

此处记得先启动cm server(service  cloudera-scm-server  start)服务再启动全部机器的cm agent(service  cloudera-scm-agent  start)服务不然会有时候出现检测不到(sudo -uhdfs hdfs dfsadmin -safemode leave离开安全模式)

 

添加在zookeeper服务,一直下一步完成

 开始安装yarn,选择依赖zk

 

安装hive,需要配置元数据库

 

 

 

 这里是mysql默认无远程访问权限造成

用root进入mysql创建个新用户,并进行授权库和远程操作权限(如果不行多百度试试,以前安装过5.X从来用root用户做元数据库,6.x好像必须新建个用户了不然一直连接不上)
CREATE USER 'hive'@'%' IDENTIFIED BY '123456';
create database hive;
#GRANT ALL ON *.* TO 'hive'@'%';
GRANT ALL ON *.* TO 'hive'@'%' IDENTIFIED BY '123456';
flush privileges;

 

 

 

 直接一直下一步直到安装完成.

 

 

 

节点会出现告警大多是由于内存交换问题,或者虚拟机磁盘内存阈值造成,自己测试调试学习可以无视。

 

==============================开始安装flink的parcles==========================================

下载地址:https://archive.cloudera.com/csa/1.0.0.0/csd/ 下载flink jar

https://archive.cloudera.com/csa/1.0.0.0/parcels/ 下载flink 文件

步骤1:将这两个flink的parcles和sha rz到之前放cdh文件的目录/opt/cloudera/parcel-rep

 

 

 

 
mv FLINK-1.9.0-csa1.0.0.0-cdh6.3.0.jar /opt/cloudera/csd/(记得要把jar包放到/opt/cloudera/csd/下,cloudera manager才能继承flink工具操作,不然界面看不到的)

 

步骤2:进入parcles进行分配文件和安装

 

 

 步骤3:找不到文件的情况下可以点击检测进行扫描文件,点击分配开始安装

 

 

 

 

 

 

 

 点击激活

 

 

 

 

 

 开始添加flink服务

 

 

 

 

 

 一直下一步直到安装完成

 

 

 

 

 

 自此全部安装完成,集群由于使用虚拟机其实还有很多调节的地方,比如时间同步问题。磁盘剩余多少告警,CM监控还有点问题。都属于细节问题可以网上查询解决。默认yarn和hive也需要调节任务并行问题等。