Centos6.9离线安装CM5.12.1操作流程

目录

一、概述

二、前期准备

2.1 配置网络

2.2 hostname配置

2.3 设置网络映射

2.4 配置yum 

2.5 安装vim vi编辑器加强版

2.6 禁用SELinux

2.7 关闭防火墙

2.8 配置操作系统本地yum源

2.9 安装http服务

2.10 重做操作系统yum源

2.11 免密匙设置

2.12 集群时钟同步

2.13 安装MySQL

三、Cloudera Manager安装

3.1 配置CM本地repo源

3.2 配置http访问CDH Parcel包

3.3 安装Cloudera Manager Server

四、CDH安装

4.1 CDH集群安装向导

4.2 集群设置安装向导


一、概述

本文档主要描述离线环境下,CentOS6.9操作系统部署CDH5.12.1免费版的过程。文档主要分为4个步骤:

  • 前期准备(包括hostname、关闭防火墙、关闭SELinux、时钟同步等)
  • 安装Cloudera Manager Server
  • 安装CDH集群
  • 集群完整性检查(包括HDFS文件系统、MapReduce、Hive等服务是否可以正常运行)

操作系统及环境介绍:

  • 操作系统版本:CentOS6.9
  • MySQL版本:5.1.73
  • CM版本:CM 5.12.1
  • CDH版本:CDH 5.12.1
  • 采用root对集群进行部署
  • 已下载CDH和CM的安装包(CDH使用parcels包方式安装)

使用四个节点进行搭建,ip和主机名分别为:

192.168.209.141 feiwei01.com

192.168.209.142 feiwei02.com

192.168.209.143 feiwei03.com

192.168.209.144 feiwei04.com

二、前期准备

2.1 配置网络

修改以下内容:

# vi /etc/sysconfig/network-scripts/ifcfg-eth0

BOOTPROTO=static

NETMASK=255.255.255.0

DNS2=61.139.2.69

Centos6.9离线安装CM5.12.1操作流程

重启网卡

# service network restart

Centos6.9离线安装CM5.12.1操作流程

2.2 hostname配置

集群中各个节点之间能互相通信使用静态IP地址。IP地址和主机名通过/etc/hosts配置,主机名/etc/sysconfig/network进行配置(推荐hostname使用FQDN完全域名的方式配置)。

修改/etc/sysconfig/network文件:

# vim /etc/sysconfig/network

Centos6.9离线安装CM5.12.1操作流程

注意:修改hostname后需要重启服务器。

2.3 设置网络映射

所有主机添加

 # vi /etc/hosts

192.168.209.141 feiwei01.com

192.168.209.142 feiwei02.com

192.168.209.143 feiwei03.com

192.168.209.144 feiwei04.com

Centos6.9离线安装CM5.12.1操作流程

2.4 配置yum 

# yum clean all

 # yum makecache

2.5 安装vim vi编辑器加强版

 # yum -y install vim-enhanced

2.6 禁用SELinux

在所有节点执行sudo setenforce 0 命令

# sudo setenforce 0

修改集群所有节点的/etc/selinux/config文件,内容如下:

# vim /etc/selinux/config

SELINUX=disabled

SELINUXTYPE=targeted

Centos6.9离线安装CM5.12.1操作流程

2.7 关闭防火墙

在集群所有节点执行如下操作,并永久关闭防火墙

# service iptables stop

# chkconfig iptables off

Centos6.9离线安装CM5.12.1操作流程

2.8 配置操作系统本地yum源

  • 挂载操作系统iso文件

注意:选一台服务器操作,后面所有配置本地源都在一台服务器上操作

# mkdir /mnt/iso

上传CentOS-6.9-x86_64-bin-DVD1.iso镜像

# mount -o loop CentOS-6.5-x86_64-minimal.iso/mnt/iso/

# df -h

Centos6.9离线安装CM5.12.1操作流程

  • 配置操作系统repo

创建操作系统源,并添加以下内容

# vim /etc/yum.repos.d/OS.repo

[localrepo]

name=CentOS6.9

baseurl=file:///mnt/iso

gpgcheck=false

enabled=true

Centos6.9离线安装CM5.12.1操作流程

查看yum源列表是否有新建的localrepo

# yum repolist

Centos6.9离线安装CM5.12.1操作流程

注意没有报错信息

2.9 安装http服务

使用yum安装http服务

  • 在集群其中一节点上安装http服务

# yum -y install httpd

Centos6.9离线安装CM5.12.1操作流程

如上图所示则表明安装成功。

  • 将httpd服务加入系统自启动服务并设置开机启动

# chkconfig --add httpd

# chkconfig httpd on

# chkconfig --list |grep httpd

Centos6.9离线安装CM5.12.1操作流程

  • 启动http服务

# service httpd start

Centos6.9离线安装CM5.12.1操作流程

2.10 重做操作系统yum源

feiwei01上安装了httpd服务后,重新制作操作系统的yum源,使用http的方式,操作如下:

  • 在/var/www/html目录下创建centos6.5目录

# mkdir /var/www/html/centos6.9

Centos6.9离线安装CM5.12.1操作流程

  • 将/mnt/iso目录下的所有文件拷贝至/var/www/html/centos6.5目录下

# scp -r /mnt/iso/*/var/www/html/centos6.5/

Centos6.9离线安装CM5.12.1操作流程

注意:若出现 -bash: scp: command not found,说明未安装openssh,需要安装openssh-clients或者openssh-server

# yum -y install openssh-clients

Centos6.9离线安装CM5.12.1操作流程

  • 修改/etc/yum.repo.d/os.repo配置

# vim /etc/yum.repos.d/OS.repo

将baseurl=file:///mnt/is 改为 :

baseurl=http://feiwei01.com/centos6.9

Centos6.9离线安装CM5.12.1操作流程

  • 检查yum源是否配置正常

# yum repolist

Centos6.9离线安装CM5.12.1操作流程

将/etc/yum.repo.d/OS.repo配置文件同步到集群所有节点的/etc/yum.repo.d/目录下

# scp /etc/yum.repos.d/OS.repo feiwei02.com:/etc/yum.repos.d/

# scp /etc/yum.repos.d/OS.repo feiwei03.com:/etc/yum.repos.d/

# scp /etc/yum.repos.d/OS.repo feiwei04.com:/etc/yum.repos.d/

Centos6.9离线安装CM5.12.1操作流程

2.11 免密匙设置

生成**,在所有机台执行:

# ssh-****** -t rsa //约三次回车,它会自动生成密匙

Centos6.9离线安装CM5.12.1操作流程

分发**,保证cm的server可以无**登录到agent

# ssh-copy-id feiwei01.com //生效,会让你输入密码

# ssh-copy-id feiwei02.com

# ssh-copy-id feiwei03.com

# ssh-copy-id feiwei04.com

Centos6.9离线安装CM5.12.1操作流程

验证:

# ssh feiwei01.com //可以免密登录

# ssh feiwei02.com

# ssh feiwei03.com

# ssh feiwei04.com

Centos6.9离线安装CM5.12.1操作流程

2.12 集群时钟同步

在集群的所有服务器上安装ntp服务,用于集群时钟同步,此处选择feiwei01.com服务器作为本地NTP服务器,集群其它节点与其保持同步,配置如下:

  • 在集群所有节点安装ntp服务

# yum -y install ntp

Centos6.9离线安装CM5.12.1操作流程

如上图显示,则说明安装成功。

  • 将ntpd加入系统自启动服务并设置开机启动

在所有节点执行如下操作

# chkconfig --add ntpd

#  chkconfig ntpd on

Centos6.9离线安装CM5.12.1操作流程

  •  在feiwei01.com上配置与自己同步 

# vim /etc/ntp.conf

注释server 0/1/2/3

添加:

server  127.127.1.0     #local clock

fudge   127.127.1.0 stratum 10

Centos6.9离线安装CM5.12.1操作流程

  • 集群其它节点配置如下

注释server 0/1/2/3

添加:server feiwei01.com iburst //同步feiwei01.com

Centos6.9离线安装CM5.12.1操作流程

  • 重启集群所有节点的ntpd服务

# service ntpd restart

Centos6.9离线安装CM5.12.1操作流程

  • 验证时钟同步,在所有节点执行ntpq -p命令

# ntpq -p

效果应如下:feiwei01.com上同步本地,其余节点同步feiwei01.com

Centos6.9离线安装CM5.12.1操作流程

注:标记部分,有“*”显示则表示同步成功。

2.13 安装MySQL

  • 安装MySQL

选择一台服务器安装即可,本次选择在feiwei01.com上安装

# yum -y install mysql mysql-server

Centos6.9离线安装CM5.12.1操作流程

如上截图则表示MySQL安装成功。

  • 将mysqld加入系统自启动服务并设置开机启动

# chkconfig --add mysqld

# chkconfig mysqld on

Centos6.9离线安装CM5.12.1操作流程

  • 启动并配置Mysql

# service mysqld start

Centos6.9离线安装CM5.12.1操作流程

  • 初始化MySQL

# mysql_secure_installation

参照以下步骤进行设置:

Centos6.9离线安装CM5.12.1操作流程

Centos6.9离线安装CM5.12.1操作流程

Centos6.9离线安装CM5.12.1操作流程

注意:出现“Thanks for using MySQL!”则表示初始化成功。

  • 进入mysql,更改成任何机器都能够连接到MySQL

# mysql -uroot -p

mysql> use mysql;

mysql> update user set Host='%' where User='root' and Host='localhost';

mysql> select User,host,password from user;

+------+------------+-------------------------------------------+

| User | host       | password                                  |

+------+------------+-------------------------------------------+

| root | %          | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |

| root | localhost1 | *AD54E24B2516DA73E6C0484080B90AB51D828747 |

| root | feiwei01.com| *AD54E24B2516DA73E6C0484080B90AB51D828747 |

| root | ::1        | *AD54E24B2516DA73E6C0484080B90AB51D828747 |

+------+------------+-------------------------------------------+

4 rows in set (0.00 sec)

删除 localhost1 & 127.0.0.1 & ::1

mysql> delete from user where User='root' and Host='localhost1';

Query OK, 1 row affected (0.00 sec)

mysql> delete from user where User='root' and Host='127.0.0.1';

Query OK, 1 row affected (0.00 sec)

mysql> delete from user where User='root' and Host='::1';

Query OK, 1 row affected (0.00 sec)

mysql> flush privileges;

mysql> select User,host,password from user;

+------+------+-------------------------------------------+

| User | host | password                                  |

+------+------+-------------------------------------------+

| root | %    | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |

+------+------+-------------------------------------------+

1 row in set (0.00 sec)

Centos6.9离线安装CM5.12.1操作流程

Centos6.9离线安装CM5.12.1操作流程

  • 创建CM及CDH服务的数据库

建库语句:

hive数据库:

create database hive default character set utf8;

CREATE USER 'hive'@'%' IDENTIFIED BY 'password';

GRANT ALL PRIVILEGES ON hive. * TO 'hive'@'%';

FLUSH PRIVILEGES;

 

cm 数据库:

create database cm default character set utf8;

CREATE USER 'cm'@'%' IDENTIFIED BY 'password';

GRANT ALL PRIVILEGES ON cm. * TO 'cm'@'%';

FLUSH PRIVILEGES;

 

am 数据库:

create database am default character set utf8;

CREATE USER 'am'@'%' IDENTIFIED BY 'password';

GRANT ALL PRIVILEGES ON am. * TO 'am'@'%';

FLUSH PRIVILEGES;

 

rm数据库:

create database rm default character set utf8;

CREATE USER 'rm'@'%' IDENTIFIED BY 'password';

GRANT ALL PRIVILEGES ON rm. * TO 'rm'@'%';

FLUSH PRIVILEGES;

 

hue 数据库:

create database hue default character set utf8;

CREATE USER 'hue'@'%' IDENTIFIED BY 'password';

GRANT ALL PRIVILEGES ON hue. * TO 'hue'@'%';

FLUSH PRIVILEGES;

 

oozie 数据库:

create database oozie default character set utf8;

CREATE USER 'oozie'@'%' IDENTIFIED BY 'password';

GRANT ALL PRIVILEGES ON oozie. * TO 'oozie'@'%';

FLUSH PRIVILEGES;

Centos6.9离线安装CM5.12.1操作流程

  • 安装jdbc驱动

# mkdir -p /usr/share/java

# mv mysql-connector-java-5.1.34.jar/usr/share/java/

# cd /usr/share/java/

# ln -s mysql-connector-java-5.1.34.jar mysql-connector-java.jar

Centos6.9离线安装CM5.12.1操作流程

三、Cloudera Manager安装

3.1 配置CM本地repo源

  • 下载CM5.12.1rpm包

http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/5.12.1/RPMS/x86_64/cloudera-manager-agent-5.12.1-1.cm5121.p0.6.el6.x86_64.rpm

http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/5.12.1/RPMS/x86_64/cloudera-manager-daemons-5.12.1-1.cm5121.p0.6.el6.x86_64.rpm

http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/5.12.1/RPMS/x86_64/cloudera-manager-server-5.12.1-1.cm5121.p0.6.el6.x86_64.rpm

http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/5.12.1/RPMS/x86_64/cloudera-manager-server-db-2-5.12.1-1.cm5121.p0.6.el6.x86_64.rpm

http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/5.12.1/RPMS/x86_64/enterprise-debuginfo-5.12.1-1.cm5121.p0.6.el6.x86_64.rpm

http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/5.12.1/RPMS/x86_64/jdk-6u31-linux-amd64.rpm

http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/5.12.1/RPMS/x86_64/oracle-j2sdk1.7-1.7.0+update67-1.x86_64.rpm

  • 将以上7个文件下载/var/www/html/cm5.12.1目录下

# mkdir -p /var/www/html/cm5.12.1

# cd /var/www/html/cm5.12.1/

上传文件

Centos6.9离线安装CM5.12.1操作流程

  • 创建cm本地源

# cd /var/www/html/cm5.12.1/

# createrepo .

Centos6.9离线安装CM5.12.1操作流程

注意:若createrepo命令未发现,需要安装createrepo

# yum -y install createrepo

Centos6.9离线安装CM5.12.1操作流程

如上截图则表示createrepo安装成功。

再次执行createrepo .

Centos6.9离线安装CM5.12.1操作流程

如上截图则表示创建成功

  • 确认http是否能正常访问

访问 http://192.168.209.141/cm5.12.1  是否能成功访问

Centos6.9离线安装CM5.12.1操作流程

  • 配置cm的本地源

在/etc/yum.repo.d/目录下增加CM.repo文件

# vim /etc/yum.repos.d/cm.repo

添加以下内容:

[cmrepo]

name=CM5.12.1

baseurl=http://feiwei01.com/cm5.12.1

gpgcheck=false

enabled=true

Centos6.9离线安装CM5.12.1操作流程

  • 验证CM源是否配置成功

# yum repolist

Centos6.9离线安装CM5.12.1操作流程

如上截图则表示成功,注意未成功时会有报错信息

  • 将CM.repo分发到其余各节点

# scp CM.repo feiwei02.com:/etc/yum.repos.d/

# scp CM.repo feiwei03.com:/etc/yum.repos.d/

# scp CM.repo feiwei04.com:/etc/yum.repos.d/

  • 验证安装JDK

执行

# yum -y install oracle-j2sdk1.7-1.7.0+update67-1

Centos6.9离线安装CM5.12.1操作流程

如上截图表示安装成功,配置本地源后安装会非常快

3.2 配置http访问CDH Parcel包

  • 下载CDH5.12.1 parcel包

http://archive.cloudera.com/cdh5/parcels/5.12.1/CDH-5.12.1-1.cdh5.12.1.p0.3-el6.parcel

http://archive.cloudera.com/cdh5/parcels/5.12.1/CDH-5.12.1-1.cdh5.12.1.p0.3-el6.parcel.sha1

http://archive.cloudera.com/cdh5/parcels/5.12.1/manifest.json

  • 将以上3个文件下载至/var/www/html/cdh5.12.1目录下

# mkdir -p /var/www/html/cdh5.12.1

# cd /var/www/html/cdh5.12.1/

上传安装包

Centos6.9离线安装CM5.12.1操作流程

  • 确认http是否能正常访问

访问 http://192.168.209.141/cdh5.12.1  是否能成功访问

Centos6.9离线安装CM5.12.1操作流程

3.3 安装Cloudera Manager Server

  • 通过yum安装ClouderaManager Server

# yum -y install cloudera-manager-server

Centos6.9离线安装CM5.12.1操作流程

如上图所示则表明安装成功。

  • 初始化CM数据库

# /usr/share/cmf/schema/scm_prepare_database.sh mysql cm cm password

注意:cm cm password分别表示databases user 和password,需要和之前设置的对应

本例中mysql数据库是和cloudera manager server安装在同一台服务器,若在不同的服务器,这里初始化是需要添加 -P 主机名或ip

Centos6.9离线安装CM5.12.1操作流程

如上截图则表示初始化成功

  • 启动ClouderaManager Server

# service cloudera-scm-server start

Centos6.9离线安装CM5.12.1操作流程

检查7180(cloudera manager server默认端口)端口是否监听

# netstat -lnpt | grep 7180

Centos6.9离线安装CM5.12.1操作流程

如上截图表示监听7180端口

  • 通过http:// 192.168.209.141:7180访问CM控制台

Centos6.9离线安装CM5.12.1操作流程

默认帐号密码是admin admin

四、CDH安装

4.1 CDH集群安装向导

  • admin/admin登录到CM
  • 同意license协议,点击继续

Centos6.9离线安装CM5.12.1操作流程

 

  • 选择60天试用版,点击继续

Centos6.9离线安装CM5.12.1操作流程

  • 点击“继续”

Centos6.9离线安装CM5.12.1操作流程

  • 输入主机ip或者名称,点击搜索找到主机后点击继续

Centos6.9离线安装CM5.12.1操作流程

搜索成功,点击继续

Centos6.9离线安装CM5.12.1操作流程

  • 使用parcel选项,点击“更多选项”,点击“-”删除其它所有地址,输入 http://feiwei01.com/cdh5.12.1/ 点击“保存更改”

Centos6.9离线安装CM5.12.1操作流程

  • 选择自定义存储库,输入cm的http地址

Centos6.9离线安装CM5.12.1操作流程

  • 点击“继续”,进入下一步安装jdk

Centos6.9离线安装CM5.12.1操作流程

  • 点击“继续”,进入下一步,默认多用户模式

Centos6.9离线安装CM5.12.1操作流程

  • 点击“继续”,进入下一步配置ssh账号密码

Centos6.9离线安装CM5.12.1操作流程

  • 点击“继续”,进入下一步,安装Cloudera Manager相关到各个节点

Centos6.9离线安装CM5.12.1操作流程

Centos6.9离线安装CM5.12.1操作流程

  • 点击“继续”,进入下一步安装cdh到各个节点

Centos6.9离线安装CM5.12.1操作流程

Centos6.9离线安装CM5.12.1操作流程

  • 点击“继续”,进入下一步主机检查,确保所有检查项均通过

Centos6.9离线安装CM5.12.1操作流程

Centos6.9离线安装CM5.12.1操作流程

通常情况下这里会报两个警告:

警告一:

Cloudera 建议将 /proc/sys/vm/swappiness 设置为最大值 10。当前设置为 60。使用 sysctl 命令在运行时更改该设置并编辑 /etc/sysctl.conf,以在重启后保存该设置。您可以继续进行安装,但 Cloudera Manager 可能会报告您的主机由于交换而运行状况不良。以下主机将受到影响

解决:

# echo 10 > /proc/sys/vm/swappiness

警告二:

已启用透明大页面压缩,可能会导致重大性能问题。请运行“echo never > /sys/kernel/mm/transparent_hugepage/defrag”和“echo never > /sys/kernel/mm/transparent_hugepage/enabled”以禁用此设置,然后将同一命令添加到 /etc/rc.local 等初始化脚本中,以便在系统重启时予以设置。以下主机将受到影响

解决:

# echo never > /sys/kernel/mm/transparent_hugepage/defrag

# echo never > /sys/kernel/mm/transparent_hugepage/enabled

# vim /etc/rc.local

添加:

echo never > /sys/kernel/mm/transparent_hugepage/defrag

echo never > /sys/kernel/mm/transparent_hugepage/enabled

点击重新运行

Centos6.9离线安装CM5.12.1操作流程

点击完成进入服务安装向导。

4.2 集群设置安装向导

  • 选择需要安装的服务

此处使用自定义服务,如下图

Centos6.9离线安装CM5.12.1操作流程

  • 点击“继续”,进入集群角色分配

HDFS角色分配:

Centos6.9离线安装CM5.12.1操作流程

Cloudera Manager Service角色分配:

Centos6.9离线安装CM5.12.1操作流程

Spark角色分配:(Spark on Yarn所以没有spark的master和worker角色)

Centos6.9离线安装CM5.12.1操作流程

YARN角色分配:

Centos6.9离线安装CM5.12.1操作流程

ZooKeeper角色分配:(至少3个Server)

Centos6.9离线安装CM5.12.1操作流程

分配情况

Centos6.9离线安装CM5.12.1操作流程

Centos6.9离线安装CM5.12.1操作流程

  • 角色分配完成点击“继续”,进入下一步,测试数据库连接

Centos6.9离线安装CM5.12.1操作流程

  • 测试成功,点击“继续”,进入目录设置,此处使用默认默认目录,根据实际情况进行目录修改

Centos6.9离线安装CM5.12.1操作流程

  • 点击“继续”,等待服务启动成功

Centos6.9离线安装CM5.12.1操作流程

Centos6.9离线安装CM5.12.1操作流程

  • 点击“继续”,显示集群安装成功

Centos6.9离线安装CM5.12.1操作流程

  • 安装成功后进入home管理界面

Centos6.9离线安装CM5.12.1操作流程

根据日志信息解决警告

Centos6.9离线安装CM5.12.1操作流程

至此,cm搭建完毕