CDH 5.7.0 离线安装详解

原文链接:http://blog.csdn.net/wzy0623/article/details/51601989


一、CDH 安装概述

有三种方式安装CDH:
Path A - 通过Cloudera Manager自动安装
Path B - 使用Cloudera Manager Parcels或Packages安装
Path C - 使用Cloudera Manager Tarballs手工安装

不同方式的安装步骤总结如下:

步骤

 

 

 

步骤 1: 安装 JDK

Cloudera Manager Server、Management Service和CDH需要安装JDK。

有两个选项:

. 使用Cloudera Manager安装程序在集群中的所有主机的/usr/Java下安装一个Oracle JDK的支持版本。

. 使用命令行在所有主机上安装一个oracle JDK的支持版本,并且设置JAVA_HOME环境变量为JDK的安装目录。

 

步骤 2: 设置数据库

Cloudera Manager Server、Cloudera Management Service和某些CDH的可选服务需要安装、配置和启动数据库。

有两个选项:

使用Cloudera Manager安装程序安装、配置和启动一个内嵌的PostgresSQL数据库。

使用诸如yum这样的命令行包安装工具安装、配置和启动数据库。

 

 

Path A

Path B

Path C

步骤

 3: 安装Cloudera Manager服务器

在一台主机上安装和启动Cloudera Manager服务器。

 

使用Cloudera Manager安装程序安装它的包和服务器。需要该主机的sudo权限并能访问互联网。

 

使用Linux包安装命令(如yum)安装Cloudera Manager服务器。

修改数据库属性。

使用服务命令启动Cloudera Manager服务器。

使用linux命令解包,并且使用服务命令启动服务。

 

Phase 4: 安装Cloudera Manager 代理

在所有主机上安装并启动

Cloudera Manager 代理。

使用Cloudera Manager安装向导在所有主机上安装代理。

 

有两个选项:

. 使用Linux包安装命令(如yum)在所有主机上安装Cloudera Manager代理。

. 使用Cloudera Manager安装向导在所有主机上安装代理。

使用Linux命令在所有主机上解包并启动代理。

Phase 5: 安装CDH和受管服务的软件

在所有主机上安装、配置并启动CDH和受管服务。

 

使用Cloudera Manager安装向导安装CDH和其它受管服务。

 

有两个选项:

. 使用Cloudera Manager安装向导安装CDH和其它受管服务。

. 使用Linux包安装命令(如yum)在所有主机上安装CDH和其它受管服务。

使用Linux命令在所有主机上解包,并使用服务命令启动CDH和受管服务。

Phase 6: 建立、配置并启动CDH和受管服务

配置并启动CDH和受管服务。

 

使用Cloudera Manager安装向导安装CDH和其它受管服务,给主机赋予角色并配置集群。许多配置是自动的。

 

使用Cloudera Manager安装向导安装CDH和其它受管服务,给主机授予角色并配置集群。

许多配置是自动的。

 

使用Cloudera Manager安装向导安装CDH和其它受管服务,给主机赋予角色并配置集群。

许多配置是自动的。

也可以使用Cloudera Manager API管理一个集群,这对于脚本预配置部署是很有用的。


二、实验环境

1. IP和主机名,所有主机都可以连接互联网
172.16.1.101 cdh1
172.16.1.102 cdh2
172.16.1.103 cdh3
172.16.1.104 cdh4

2. 硬件资源
每个机器:CPU4核、内存8G、硬盘100G

3. 操作系统
CentOS release 6.4 (Final) 64位

三、配置步骤
1. 安装前准备(都是使用root用户在集群中的所有主机配置)
(1)从以下地址下载所需要的安装文件
http://archive.cloudera.com/cm5/cm/5/cloudera-manager-el6-cm5.7.0_x86_64.tar.gz
http://archive.cloudera.com/cdh5/parcels/5.7/CDH-5.7.0-1.cdh5.7.0.p0.45-el6.parcel
http://archive.cloudera.com/cdh5/parcels/5.7/CDH-5.7.0-1.cdh5.7.0.p0.45-el6.parcel.sha1
http://archive.cloudera.com/cdh5/parcels/5.7/manifest.json

(2)使用下面的命令检查OS依赖包,xxxx换成包名
rpm -qa | grep xxxx
以下这些包必须安装:
chkconfig
python (2.6 required for CDH 5)
bind-utils
psmisc
libxslt
zlib
sqlite
cyrus-sasl-plain
cyrus-sasl-gssapi
fuse
portmap (rpcbind)
fuse-libs
redhat-lsb

(3)配置域名解析
vi /etc/hosts
# 添加如下内容
172.16.1.101 cdh1
172.16.1.102 cdh2
172.16.1.103 cdh3
172.16.1.104 cdh4

(4)安装JDK
CDH5推荐的JDK版本是1.7.0_67、1.7.0_75、1.7.0_80,这里安装1.7.0_80
注意:
. 所有主机要安装相同版本的JDK
. 安装目录为/usr/java/jdk-version
mkdir /usr/java/
mv jdk-7u80-linux-x64.tar.gz /usr/java/
cd /usr/java/
tar -zxvf jdk-7u80-linux-x64.tar.gz
chown -R root:root jdk1.7.0_80/
echo "export JAVA_HOME=/usr/java/jdk1.7.0_80;" >> /etc/profile.d/java.sh 
echo "export CLASSPATH=.:$JAVA_HOME/jre/lib/*:$JAVA_HOME/lib/*;" >> /etc/profile.d/java.sh
echo "export PATH=$PATH:$JAVA_HOME/bin" >> /etc/profile.d/java.sh
source /etc/profile.d/java.sh
echo $JAVA_HOME

(5)安装启动NTP服务(NTP配置步骤略)
service ntpd start

(6)建立CM用户
useradd --system --home=/opt/cm-5.7.0/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
usermod -a -G root cloudera-scm
echo USER=\"cloudera-scm\" >> /etc/default/cloudera-scm-agent

echo "Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin" >> /etc/sudoers

(7)安装配置MySQL数据库(为了后面配置方便,这里每个主机都装了)

# 安装MySQL-5.6.14
rpm -ivh MySQL-5.6.14-1.el6.x86_64.rpm
# 设置PATH
echo "export PATH=$PATH:/home/mysql/mysql-5.6.14/bin" >> /etc/profile.d/mysql.sh
source /etc/profile.d/mysql.sh
# 修改root密码
mysqladmin -u root password
# 编辑配置文件
vi /etc/my.cnf
# 内容如下
[mysqld]
transaction-isolation = READ-COMMITTED
log_bin=/data/mysql_binary_log
binlog_format = mixed
innodb_flush_log_at_trx_commit  = 2
innodb_flush_method = O_DIRECT
key_buffer = 16M
key_buffer_size = 32M
max_allowed_packet = 32M
thread_stack = 256K
thread_cache_size = 64
query_cache_limit = 8M
query_cache_size = 64M
query_cache_type = 1
max_connections = 550
read_buffer_size = 2M
read_rnd_buffer_size = 16M
sort_buffer_size = 8M
join_buffer_size = 8M
innodb_flush_log_at_trx_commit  = 2
innodb_log_buffer_size = 64M
innodb_buffer_pool_size = 4G
innodb_thread_concurrency = 8
innodb_log_file_size = 512M

[mysqld_safe]
log-error=/data/mysqld.err
pid-file=/data/mysqld.pid

sql_mode=STRICT_ALL_TABLES

# 添加开机启动
chkconfig mysql on
# 启动MySQL
service mysql restart
# 根据需要建立元数据库
mysql -u root -p -e "create database hive DEFAULT CHARACTER SET utf8;create database rman DEFAULT CHARACTER SET utf8;create database oozie DEFAULT CHARACTER SET utf8;grant all on *.* TO 'root'@'%' IDENTIFIED BY '123456';"

(8)安装MySQL JDBC驱动
tar -zxvf mysql-connector-java-5.1.38.tar.gz 
cp ./mysql-connector-java-5.1.38/mysql-connector-java-5.1.38-bin.jar /usr/share/java/mysql-connector-java.jar

(9)配置免密码ssh(这里配置了任意两台机器都免密码)
# 分别在四台机器上生成**对:
cd ~
ssh-****** -t rsa
# 然后一路回车
# 在cdh1上执行:
cd ~/.ssh/
ssh-copy-id cdh1
scp /root/.ssh/authorized_keys cdh2:/root/.ssh/
# 在cdh2上执行:
cd ~/.ssh/
ssh-copy-id cdh2
scp /root/.ssh/authorized_keys cdh3:/root/.ssh/
#在cdh3上执行:
cd ~/.ssh/
ssh-copy-id cdh3
scp /root/.ssh/authorized_keys cdh4:/home/grid/.ssh/
#在cdh4上执行:
cd ~/.ssh/
ssh-copy-id cdh4
scp /root/.ssh/authorized_keys cdh1:/root/.ssh/
scp /root/.ssh/authorized_keys cdh2:/root/.ssh/
scp /root/.ssh/authorized_keys cdh3:/root/.ssh/

2. 在cdh1上安装Cloudera Manager
tar -xzvf cloudera-manager*.tar.gz -C /opt/
# 建立cm数据库
/opt/cm-5.7.0/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot -p123456 --scm-host localhost scm scm scm
# 配置cm代理
vi /opt/cm-5.7.0/etc/cloudera-scm-agent/config.ini 
# 将cm主机名改为cdh1
server_host=cdh1
# 将Parcel相关的三个文件拷贝到/opt/cloudera/parcel-repo
cp CDH-5.7.0-1.cdh5.7.0.p0.45-el6.parcel /opt/cloudera/parcel-repo/
cp CDH-5.7.0-1.cdh5.7.0.p0.45-el6.parcel.sha1 /opt/cloudera/parcel-repo/
cp manifest.json /opt/cloudera/parcel-repo/
# 改名
mv /opt/cloudera/parcel-repo/CDH-5.7.0-1.cdh5.7.0.p0.45-el6.parcel.sha1 /opt/cloudera/parcel-repo/CDH-5.7.0-1.cdh5.7.0.p0.45-el6.parcel.sha
# 修改属主
chown -R cloudera-scm:cloudera-scm /opt/cloudera/
chown -R cloudera-scm:cloudera-scm /opt/cm-5.7.0/
# 将/opt/cm-5.7.0目录拷贝到其它三个主机
scp -r -p /opt/cm-5.7.0 cdh2:/opt/
scp -r -p /opt/cm-5.7.0 cdh3:/opt/
scp -r -p /opt/cm-5.7.0 cdh4:/opt/

3. 在每个主机上建立/opt/cloudera/parcels目录,并修改属主
mkdir -p /opt/cloudera/parcels
chown cloudera-scm:cloudera-scm /opt/cloudera/parcels

4. 在cdh1上启动cm server
/opt/cm-5.7.0/etc/init.d/cloudera-scm-server start
# 此步骤需要运行一些时间,用下面的命令查看启动情况
tail -f /opt/cm-5.7.0/log/cloudera-scm-server/cloudera-scm-server.log

5. 在所有主机上启动cm agent
mkdir /opt/cm-5.7.0/run/cloudera-scm-agent
chown cloudera-scm:cloudera-scm /opt/cm-5.7.0/run/cloudera-scm-agent
/opt/cm-5.7.0/etc/init.d/cloudera-scm-agent start

6. 登录cm控制台,安装CDH5
打开控制台
http://172.16.1.101:7180/
页面如图1所示。

CDH 5.7.0 离线安装详解

图1

缺省的用户名和密码都是admin,登录后进入欢迎页面。勾选许可协议,如图2所示,点继续。

CDH 5.7.0 离线安装详解

图2

进入版本说明页面,如图3所示,点继续。

CDH 5.7.0 离线安装详解

图3

进入服务说明页面,如图4所示,点继续。

CDH 5.7.0 离线安装详解

图4

进入选择主机页面,如图5所示,全选四个主机,点继续。

CDH 5.7.0 离线安装详解

图5

进入选择存储库页面,如图6所示,点继续。

CDH 5.7.0 离线安装详解

图6

进入集群安装页面,如图7所示,点继续。

CDH 5.7.0 离线安装详解

图7

进入验证页面,如图8所示,点完成。

CDH 5.7.0 离线安装详解

图8

进入集群设置页面,如图9所示,根据需要选择服务,点继续。

CDH 5.7.0 离线安装详解

图9

进入自定义角色分配页面,如图10所示,保持不变,点继续。

CDH 5.7.0 离线安装详解

图10

进入数据库设置页面,填写相关信息,点测试连接,如图11所示,点继续。

CDH 5.7.0 离线安装详解

图11

进入审核更改页面,保持不变,点继续。

进入首次运行页面,等待运行完,如图12所示,点继续。

CDH 5.7.0 离线安装详解

图12

进入安装成功页面,如图13所示,点完成。

CDH 5.7.0 离线安装详解

图13

进入安装成功页面,如图14所示。

CDH 5.7.0 离线安装详解

图14

参考:
http://www.cloudera.com/documentation/enterprise/latest/topics/cm_ig_install_path_c.html