百度已收录

虚拟机配置:3台

| 192.168.83.10 | 192.168.83.11 | 192.168.83.12 |

软件资源:

1.JDK1.8.0_192
2.Scala2.11.8
3.Mysql5.7.29
4.CDH安装相关包

cloudera-manager-centos7-cm5.7.2_x86_64.tar.gz
CDH-5.7.2-1.cdh5.7.2.p0.18-el7.parcel
CDH-5.7.2-1.cdh5.7.2.p0.18-el7.parcel.sha1
manifest.json

集群规划

ip地址 主机名 说明
192.168.83.10 cdh01 主节点、从节点
192.168.83.11 cdh02 从节点
192.168.83.12 cdh03 从节点

开始安装前配置和预装软件

每台节点服务器的有关配置,包括网络,IP、hostname、selinux,防火墙,DNS等

本机的网络IP文件为ifcfg-ens33,打开配置文件配置
vi /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"  #此处原来为DHCP,改成static
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="c590b5e2-9463-498a-ae94-7e6ac0cd432f"
DEVICE="ens33"
ONBOOT="yes"    #随机启动,改为yes
IPADDR="192.168.83.10"  #ip地址,各节点对应设置
PREFIX="24"
GATEWAY="192.168.83.2"  #网关
DNS1="8.8.8.8"  #DNS
IPV6_PRIVACY="no"   #不使用ipv6
#重启网卡
service network restart
#查看IP地址
ifconfig

ens33的inet显示为当前节点对应ip则正确

查看hostname

hostname

分别对应各节点的主机名则正确,如不是cdh0X,请自行百度centos7如何设置hostname

关闭防火墙

#查看防火墙状态
firewall-cmd --state
#停止防火墙的服务 
systemctl stop firewalld 
#禁止开机启动
systemctl disable firewalld

selinux关闭

vi /etc/sysconfig/selinux

SELINUX=disabled

重启(reboot)后生效,重启后检查

sestatus -v

SELinux status: disabled #表示已经关闭

免密登录配置

此处略去,有问题请自行百度

添加ip和主机名映射关系

vi /etc/hosts
#内容如下
127.0.0.1   localhost
::1         localhost
192.168.83.10 cdh01
192.168.83.11 cdh02
192.168.83.12 cdh03

NTP服务器设置(可选,节点较少,节点时间偏差不大(5分钟内)可不配置)

所有节点都需安装
yum -y install ntp

1.在主节点cdh01执行
vi /etc/ntp.conf
2.注释掉所有server *.*.*的指向,新添加一条可连接的ntp服务器
server ntp.sjtu.edu.cn iburst
3.在两个从节点执行
vi /etc/ntp.conf
注释掉所有server *.*.*的指向,新添下面一条把ntp指向master服务器地址(/etc/ntp.conf下)
server cdh01 iburst
4.所有节点启动服务
service ntpd start
5.查看ntp服务状态
ntpq –p
offset和jitter都有对应的值,remote中带星号(*)的为ntp挡圈选中的授时服务点,LOCAL表示本机

第三方依赖包

所有节点执行
yum install chkconfig python bind-utils psmisc libxslt zlib sqlite fuse fuse-libs redhat-lsb cyrus-sasl-plain cyrus-sasl-gssapi

MySQL connector jar包

主节点上进行即可
mkdir -p /usr/share/java
将mysql-connector-java-5.1.38-bin.jar上传至上述目录并改名为mysql-connector-java.jar

安装jdk

这个是所有服务的基础,每个节点都需要安装
#检查是否已经装有JDK
java -version

#查看需要卸载的包
rpm -qa | grep jdk

java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64
java-1.7.0-openjdk-headless-1.7.0.75-2.5.4.2.el7_0.x86_64

#依次卸载
yum -y remove java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64
yum -y remove java-1.7.0-openjdk-headless-1.7.0.75-2.5.4.2.el7_0.x86_64

#再次检查
java -version

bash: /usr/bin/java: No such file or directory

如果没有安装即可跳过上述卸载步骤

#安装JDK1.8.0_192
mkdir -p /usr/share/jdk/

将tar包上传至上述目录

cd /usr/share/jdk

#解压
tar -zxvf jdk-8u192-linux-x64.tar.gz

#配置环境变量
vi /etc/profile

#文末追加
####### jdk1.8 #######
JAVA_HOME=/usr/share/jdk/jdk1.8.0_192
JRE_HOME=/usr/share/jdk/jdk1.8.0_192/jre
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$JAVA_HOME/bin:$PATH

保存退出,source /etc/profile

#设置软连接,CDH平台安装的时候默认寻找的jdk路径为/usr/java
mkdir /usr/java
ln -s /usr/share/jdk/jdk1.8.0_192 /usr/java/default

安装Scala

这个是spark服务的基础,每个节点都需要安装
mkdir -p /usr/scala/

将scala-2.11.8.tgz上传至上述目录

#解压
tar -zxvf scala-2.11.8.tgz

#配置环境变量
vi /etc/profile

#文末追加
####### scala-2.11.8 #######
export SCALA_HOME=/usr/scala/scala-2.11.8
export PATH=$PATH:$SCALA_HOME/bin

安装mysql

MySQL的安装只需要在主节点进行即可

此处略去,可自行百度centos7如何安装mysql5.7

创建数据库(CDH用)

create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database monitor DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

安装Cloudera-Manager

所有节点安装
mkdir /opt/cloudera-manager

将cloudera-manager-centos7-cm5.7.2_x86_64.tar.gz包上传至上述目录

#解压
tar -zxvf cloudera-manager-centos7-cm5.7.2_x86_64.tar.gz

创建cloudera-scm用户

所有节点都创建
#创建
useradd -r -d /opt/cloudera-manager/cm-5.7.2/run/cloudera-scm-server -M -c "Cloudera SCM User" cloudera-scm
#查看
id cloudera-scm

配置从节点的老大

每台从节点都需要配置
vi /opt/cloudera-manager/cm-5.7.2/etc/cloudera-scm-agent/config.ini

#将server_host改为CMS所在的主机名即cdh01
server_host=cdh01

配置仓库目录

此操作只需在主节点进行即可,在主节点中创建parcel-repo仓库目录
mkdir -p /opt/cloudera/parcel-repo

#赋权
chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo

#将CDH-5.7.2-1.cdh5.7.2.p0.18-el7.parcel,CDH-5.7.2-1.cdh5.7.2.p0.18-el7.parcel.sha1,manifest.json上传至上述目录并把CDH-5.7.2-1.cdh5.7.2.p0.18-el7.parcel.sha1文件后缀中的1去掉,重命名为CDH-5.7.2-1.cdh5.7.2.p0.18-el7.parcel.sha

配置CDH从节点目录

所有的节点上创建parcels目录
mkdir -p /opt/cloudera/parcels

#赋权
chown cloudera-scm:cloudera-scm /opt/cloudera/parcels

解释:Clouder-Manager将CDH从主节点的/opt/cloudera/parcel-repo目录中抽取出来,分发解压激活到各个节点的/opt/cloudera/parcels目录中

初始化数据库

此操作在主节点上进行,初始脚本配置数据库scm_prepare_database.sh
/opt/cloudera-manager/cm-5.7.2/share/cmf/schema/scm_prepare_database.sh mysql -hcdh01 -uroot -proot --scm-host cdh01 scmdbn scmdbu scmdbp

说明:这个脚本就是用来创建和配置CMS需要的数据库的脚本
mysql:数据库用的是mysql,如果安装过程中用的oracle,那么该参数就应该改为oracle
-hcdh01:数据库建立在cdh01主机上面
-uroot:root身份运行mysql
-proot:mysql的root密码是root
--scm-host cdh01:CMS的主机,一般是和mysql安装的主机是在同一个主机上
最后三个参数是:数据库名,数据库用户名,数据库密码

如看到:Successfully connected to database.
All done, your SCM database is configured correctly!字样,则数据库初始化正常

启动服务

启动server,此命令只需在主节点执行即可
/opt/cloudera-manager/cm-5.7.2/etc/init.d/cloudera-scm-server start
启动agent,需要在所有的从节点上启动
/opt/cloudera-manager/cm-5.7.2/etc/init.d/cloudera-scm-agent start

至此所有节点上的配置安装完毕

服务安装

web登录

在浏览器中输入192.168.83.10:7180

默认用户名和密码:admin

undefined

出现这个界面说明CM已经安装成功了,下面就在这个web界面中部署各种服务了

web引导安装

选择express版本

当登录之后,会进入选择express版本的界面,在此界面选择免费即可,然后继续

undefined

配置主机

undefined

选择CDH版本

其一选择方式使用Parcel;其二CDH版本选择的是CDH-5.7.2-1 cdh5.7.2p0 18

undefined

安装Parcel

此步是分发parcels到各个节点

undefined

配置校验

此步是对主机配置的正确性进行检测

undefined

这个地方要注意这个地方有两项没有检查通过
所有节点执行

```linux order
echo 0 > /proc/sys/vm/swappiness
echo never > /sys/kernel/mm/transparent_hugepage/defrag



再点击上面的重新运行会发现这次全部检查通过了

![undefined](http://ww1.sinaimg.cn/large/e91ee675ly1gc1o674kqhj20fc0a6wec.jpg)

### 选择服务

###### 选择自己想要装的集群配置

![undefined](http://ww1.sinaimg.cn/large/e91ee675ly1gc1o6pde4bj20ug0f6aau.jpg)

### 角色分配

###### 默认就行,继续

![undefined](http://ww1.sinaimg.cn/large/e91ee675ly1gc1o7axmw6j20f60gpt8v.jpg)

### 数据库设置选择

###### 这里就用到了前面创建的各个数据库,根据你选择的服务,这里会让你填写每个服务用到的数据库,以及用户名和密码

![undefined](http://ww1.sinaimg.cn/large/e91ee675ly1gc1o7ssckqj20xc0ej74p.jpg)

### 集群审核

###### 默认就好,继续

![undefined](http://ww1.sinaimg.cn/large/e91ee675ly1gc1o8g5oqxj20f90ijdg1.jpg)

### 开始安装

![undefined](http://ww1.sinaimg.cn/large/e91ee675ly1gc1o8r28ofj20f6070dfs.jpg)

### 安装完成

![undefined](http://ww1.sinaimg.cn/large/e91ee675ly1gc1o940m0wj20xc0my3z9.jpg)