一、准备工作

1.1安装JDK

此操作需要在所有机器上执行。

准备java环境,安装jdk,设置JAVA_HOME环境变量。

jdk要安装在/usr/java/里,否则Cloudera Manager找不到会报错

Centos7 离线方式安装cloudera manager 和 CDH

配置环境变量

vim /root/.bash_profile

export JAVA_HOME=/usr/java/jdk1.8.0_161

export JRE_HOME=${JAVA_HOME}/jre

export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

export PATH=${JAVA_HOME}/bin:$PATH

Centos7 离线方式安装cloudera manager 和 CDH

source .bash_profile

1.2设置主机名 hostname

此操作需要在所有机器上执行。

主机名/etc/hostname进行配置。

Centos7 离线方式安装cloudera manager 和 CDH

1.3 Host文件配置

此操作需要在所有机器上执行。

源文件内容需要删除,否则会出现错误 具体错误在本文最后常见问题里会说明

Centos7 离线方式安装cloudera manager 和 CDH

 

1.4 重启

此操作需要在所有机器上执行。

上面两个文件修改完成之后需要重启机器。

Reboot命令重启。

1.5关闭防火墙

此操作需要在所有机器上执行。

systemctl stop firewalld                  #关闭防火墙

systemctl disable firewalld               #开机禁用防火墙

systemctl status firewalld                #查看防火墙状态是否关闭

1.6关闭selinux

此操作需要在所有机器上执行。

setenforce 0

vim /etc/sysconfig/selinux

SELINUX=disabled

 

1.7 ssh免密码登陆

此操作需要在所有机器上执行。

第一步:修改/etc/ssh/ssh_config

添加StrictHostKeyChecking no

第二步:修改/etc/ssh/sshd_config

添加PrintLastLog no

第三步:用scp方式把ssh_config和sshd_config两个文件传到其他机器

cd /etc/ssh/

scp  ssh_config [email protected]:/etc/ssh/

scp  sshd_config [email protected]:/etc/ssh/

第四步:配置公钥:(hadoop用户下)

ssh-****** -t rsa然后一直回车(每台机器)

第五步:将所有机器上的公钥合并到authorized_keys(目录:/home/hadoop/.ssh)当中。

cd /home/hadoop/.ssh

cat id_rsa.pub>>authorized_keys

ssh [email protected] cat /home/hadoop/.ssh/ id_rsa.pub>>/home/hadoop/.ssh/authorized_keys

把上面的had002换成其他所有机器,都执行一遍,

执行完了之后把authorized_keys和known_hosts文件scp到所有机器。

注意:此时需要.ssh文件权限为700,authorized_keys权限为600(若authorized_keys的权限不是600,免密码登陆不成功)

1.8 NTP服务器设置

此操作需要在所有机器上执行。

此操作用于不同节点间实现时间同步。

1.8.1安装ntp

yum -y install ntp

Centos7 离线方式安装cloudera manager 和 CDH

 

1.8.2修改配置设置

vim /etc/ntp.conf

注释掉所有server *.*.*的指向,新添加一条可连接的ntp服务器

我这儿设置的是指向本机

 Centos7 离线方式安装cloudera manager 和 CDH

在其他节点上把ntp指向master服务器地址即可

server 192.168.223.137 iburst

1.8.3重启ntp

安装完成后设置ntp开机启动并启动ntp

systemctl enable ntpd

systemctl start ntpd

查看状态

systemctl status ntpd

Centos7 离线方式安装cloudera manager 和 CDH

二、安装cloudera manager

2.1 下载

各节点下载cloudera manager 我用迅雷下载 并上传到个节点 速度比较快
下载地址:https://archive.cloudera.com/cm5/cm/5/

Centos7 离线方式安装cloudera manager 和 CDH

 

2.2安装MySQL

我这儿的MySQL是安装在主节点上。

2.2.1下载mysql rpm包

wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

安装rpm 这个rpm是为了更新yum源地址的

rpm -ivh mysql-community-release-el7-5.noarch.rpm

 

2.2.2安装MySQL

使用yum在线安装

yum install -y mysql-server

2.2.3启动mysql

systemctl start mysqld

Centos7 离线方式安装cloudera manager 和 CDH

 

2.2.4修改密码

登录后修改root密码

mysql -uroot -p

use mysql;

update user set password=password('668899') where user='root' and host='localhost';

Centos7 离线方式安装cloudera manager 和 CDH

 FLUSH PRIVILEGES #刷新立即生效

 

2.3需要安装 MySQL JDBC Driver

下载mysql-connector-java-5.1.40.zip上传到服务器

unzip mysql-connector-java-5.1.40.zip                   #解压

cd mysql-connector-java-5.1.40                          #进入目录

mkdir -p /usr/share/java/        #驱动许放在此目录 cm会在此文件夹查找

cp mysql-connector-java-5.1.40-bin.jar /usr/share/java/mysql-connector-java.jar   #复制并修改名称

2.4创建库和用户

安装完mysql后 需要创建CDH服务所需的数据库和用户后边安装时需要用到

Centos7 离线方式安装cloudera manager 和 CDH

CREATE DATABASE amon DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

GRANT ALL ON amon.* TO 'amon'@'%' IDENTIFIED BY '668899';

CREATE DATABASE rman DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

GRANT ALL ON rman.* TO 'rman'@'%' IDENTIFIED BY '668899';

CREATE DATABASE hue DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

GRANT ALL ON hue.* TO 'hue'@'%' IDENTIFIED BY '668899';

CREATE DATABASE metastore DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

GRANT ALL ON metastore.* TO 'hive'@'%' IDENTIFIED BY '668899';

CREATE DATABASE sentry DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

GRANT ALL ON sentry.* TO 'sentry'@'%' IDENTIFIED BY '668899';

CREATE DATABASE nav DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

GRANT ALL ON nav.* TO 'nav'@'%' IDENTIFIED BY '668899';

CREATE DATABASE navms DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

GRANT ALL ON navms.* TO 'navms'@'%' IDENTIFIED BY '668899';

CREATE DATABASE oozie DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

GRANT ALL ON oozie.* TO 'oozie'@'%' IDENTIFIED BY '668899';

挑个账号测试一下本地能否登陆 防止后期安装cdh 链接数据库时报错
如果 新建的用户本地登录不了 远程可以登录
解决办法:我用的mysql版本是5.6 安装完数据库后 需要删除匿名用户
用root登录mysql后执行

use mysql; #选择mysql库

delete from user where user=''; #删除匿名用户

FLUSH PRIVILEGES;               #刷新缓存

2.5 Cloudera Manager安装(主节点)

Cloudera Manager可以说是Cloudera系列产品和组件的核心,它负责统一配置管理CDH集群,基本上本篇文章都是围绕CM的安装部署来展开的,然后再通过CM去安装CDH及其其它相关组件。

在master节点安装Cloudera Manager Server并启动 ,cloudera-manager-daemons 是运行server和agent所需要的

刚才下载好的cloudera-manager包解压到/opt/目录下

下载地址:http://archive.cloudera.com/cm5/cm/5/

tar -zxvf cloudera-manager-centos7-cm5.16.2_x86_64.tar.gz -C /opt/

注意:在主机节点创建如下的目录,否则容易报错,7180端口起不来。

mkdir -p /var/lib/cloudera-scm-server

mkdir -p /var/lib/cloudera-scm-agent

mkdir -p /var/lib/cloudera-scm-server-db/data

2.6初始化数据(主节点)

cd /opt/cm-5.16.2/share/cmf/schema

scm_prepare_database.sh [-数据库类型] [-h主机名 [-u用户名] [-p密码]      [主机地址] [创建的数据库名] [用户] [密码]

./scm_prepare_database.sh mysql -hlocalhost -uroot -p668899 --scm-host localhost scm root 668899

Centos7 离线方式安装cloudera manager 和 CDH

 

2.7在master和node节点安装Cloudera Manager Agent

因为Cloudera Manager Server 与Cloudera Manager Agent 在一个cm包中 所以除主节点外 其他节点都要解压安装cm包

tar -zxvf cloudera-manager-centos7-cm5.16.2_x86_64.tar.gz -C /opt/

修改 cloudera-scm-agent/config.ini中的server_host为主节点主机名

vim /opt/cm-5.16.2/etc/cloudera-scm-agent/config.ini

改成主节点主机名.

server_host=cdh.master

各节点创建cm用户

useradd --system --home=/opt/cm-5.16.2/run/cloudera-scm-server --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm

如果没有安装psmisc 需要安装一下 (否则会报:cloudera-scm-agent:行109: pstree: 未找到命令)

yum install -y psmisc

2.8 启动

主节点启动

/opt/cm-5.16.2/etc/init.d/cloudera-scm-server start

/opt/cm-5.16.2/etc/init.d/cloudera-scm-server stop #停止

所有节点启动

/opt/cm-5.16.2/etc/init.d/cloudera-scm-agent start

/opt/cm-5.16.2/etc/init.d/cloudera-scm-agent stop  #停止

三、安装CDH

3.1下载CDH安装包

此操作在主节点上操作。

在 https://archive.cloudera.com/cdh5/parcels/5.16.2/ 找到文件对应的版本

Centos7 离线方式安装cloudera manager 和 CDH

下载的包有:CDH-5.16.2-1.cdh5.16.2.p0.8-el7.parcel、CDH-5.16.2-1.cdh5.16.2.p0.8-el7.parcel.sha1、manifest.json

然后上传到目录/opt/cloudera/parcel-repo

上传完毕后修改目录文件权限属性

chown cloudera-scm:cloudera-scm -R /opt/cloudera/parcel-repo/   

#修改权限属性

注意 一定要修改sha1名称为sha

mv CDH-5.16.2-1.cdh5.16.2.p0.8-el7.parcel.sha1 CDH-5.16.2-1.cdh5.16.2.p0.8-el7.parcel.sha

#修改后parcel-repo文件夹如下

Centos7 离线方式安装cloudera manager 和 CDH

 

主节点执行如下操作
优化交换分区

echo "vm.swappiness = 10" >> /etc/sysctl.conf

sysctl -p

禁用透明大页面压缩

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

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

并将上面的两条命令写入开机自启动/etc/rc.local

Centos7 离线方式安装cloudera manager 和 CDH

CDH相关配置文件位置:

/etc/hadoop/conf

日志位置:

/opt/cm-5.16.2/log

数据库与日志相关配置文件在目录:

/opt/cm-5.16.2/etc/cloudera-scm-server

http://192.168.223.137:7180

账号:admin
密码:admin

登录web界面 配置集群安装CDH

Centos7 离线方式安装cloudera manager 和 CDH

选择部署的版本

Centos7 离线方式安装cloudera manager 和 CDH

继续

Centos7 离线方式安装cloudera manager 和 CDH

填写节点地址,点击搜索

Centos7 离线方式安装cloudera manager 和 CDH

Centos7 离线方式安装cloudera manager 和 CDH

Centos7 离线方式安装cloudera manager 和 CDH

选择需要安装的clouderamanager版本 要选择与之前下载好的CDH的版本一致

Centos7 离线方式安装cloudera manager 和 CDH

percel文件下载并分发安装到集群所有节点上

Centos7 离线方式安装cloudera manager 和 CDH

继续

Centos7 离线方式安装cloudera manager 和 CDH

Centos7 离线方式安装cloudera manager 和 CDH

Centos7 离线方式安装cloudera manager 和 CDH

出现两个问题:
优化交换分区

echo "vm.swappiness = 10" >> /etc/sysctl.conf

sysctl -p

禁用透明大页面压缩

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

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

点击完成

Centos7 离线方式安装cloudera manager 和 CDH

选择服务

Centos7 离线方式安装cloudera manager 和 CDH

这里一般情况下默认即可,但是如果集群中某台电脑的配置严重不行的时候,建议少分配点任务

Centos7 离线方式安装cloudera manager 和 CDH

数据库设置

注意:这个要与前面的mysql中建立hive,oozie,hue相对应,如果之前没有建立的话,会报错
强烈建议将各个数据库与相应角色实例置于同一主机上

Centos7 离线方式安装cloudera manager 和 CDH

审核更改,如果有特定目录的设定或者参数的设定,可以在这里进行更正

Centos7 离线方式安装cloudera manager 和 CDH

Centos7 离线方式安装cloudera manager 和 CDH

Centos7 离线方式安装cloudera manager 和 CDH

点击继续,

Centos7 离线方式安装cloudera manager 和 CDH

此文章的操作步骤借鉴了下面链接的文章:https://blog.csdn.net/ltgsoldier1/article/details/99963272

相关文章: