CDH集群搭建

CDH集群搭建
CDH背景
CDH (Cloudera’s Distribution, including Apache Hadoop),是Hadoop众多分支中的一种,由Cloudera维护,基于稳定版本的Apache Hadoop构建,并集成了很多补丁,可直接用于生产环境。
系统环境
Master * 1:
Slave 2:
Cloudera Manager:5.12.1
CDH: 5.12.1
安装说明
官方参考文档:
https://www.cloudera.com/documentation/enterprise/latest/topics/installation.html
官方共给出了3种安装方式:
方法一:必须要求所有机器都能连网,由于各种国外的网站被墙的厉害,尝试了几次各种超时错误,耽误时间不说,一旦失败,重装非常痛苦。
方法二:下载很多包,不方便容易迷路。
方法三:对系统侵入性最小,可实现全离线安装,而且重装非常方便。后期的集群统一包升级也非常好。(本篇采用该方法安装)
相关包的下载地址
Cloudera Manager下载地址:
http://archive.cloudera.com/cm5/cm/5/cloudera-manager-el6-cm5.12.1_x86_64.tar.gz
CDH安装包地址:http://archive.cloudera.com/cdh5/parcels/latest/,由于我们的操作系统为CentOS7,需要下载以下文件:
CDH-5.12.1-1.cdh5.12.1.p0.3-el6.parcel
CDH-5.12.1-1.cdh5.12.1.p0.3-el6.pacel.sha1
manifest.json
准备工作(系统环境准备)
1.网络配置(所有节点)
vi /etc/sysconfig/network修改hostname:
2.打通SSH,设置ssh无密登陆(所有节点)
3.安装Java(所有节点)
4.关闭防火墙以及SELINUX
5.配置NTP时间同步服务
提示:这一步暂时可以跳过,但是在集群启动以后,会提示时间不同步。集群中所有主机必须保持时间同步,如果时间相差较大会引起各种问题。
5.1 设置时区(每个节点):
tzselect(依次选下去)
CDH集群搭建
5.2安装ntp(每个节点):
yum -y install ntp
5.3 配置NTP
修改主节点ntp.conf文件如下
vi /etc/ntp.conf
master配置:
server 127.127.1.0
fudge 127.127.1.0 stratum 10
slave配置:(所有slave)
执行命令
ntpdate master(hostname)
设置开机启动:
chkconfig ntpd on
启动ntp:
service ntpd start
6.安装mysql
创建CM用的数据库:
–hive数据库
create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci ;
–集群监控数据库
create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci ;
–hue数据库
create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
– oozie数据库
create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
CDH集群搭建
安装Cloudera Manager Server和 Agent
将我们下载好的安装包上传至服务器并解压安装
主节点解压安装
cloudera manager的目录默认在/opt下,cdh5的源会默认在/opt/cloudera/parcel-repo寻找,所以不能解压到其他地方,使用命令
tar xzvf cloudera-manager
.tar.gz
CM可以按照个人喜好安装,我这里都安装在了/opt下以方便管理
CDH集群搭建

这里开始我们的cm需要与mysql进行交互,所以首先需要去MySql的官网下载JDBC驱动,http://dev.mysql.com/downloads/connector/j/,解压后找到mysql-connector-java-5.1.**-bin.jar,放到/opt/cm-5.12.1/share/cmf/lib/中,不多赘述。
在主节点初始化CM5的数据库:
/opt/cm-5.12.1/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot -p123123 --scm-host localhost scm scm scm
Agent配置
修改/opt/cm-5.12.1/etc/cloudera-scm-agent/config.ini中的server_host为主节点的主机名。
CDH集群搭建
同步Agent到其他节点
在所有节点创建cloudera-scm用户
useradd --system --home=/opt/cm-5.12.1/run/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment “Cloudera SCM User” cloudera-scm

准备Parcels,用以安装CDH5
将我们提前下载好的Parcels文件上传到主节点的/opt/cloudera/parcel-repo/目录中(如果没有parcel-repo需要手动创建,这里不需要分发到所有节点)。
CDH集群搭建

注意!!最后一定要将CDH-5.12.1-1.cdh5.12.1.p0.3-el6.parcel.sha1,重命名为CDH-5.12.1-1.cdh5.12.1.p0.3-el6.parcel.sha,去掉末尾的1,否则系统会重新下载CDH-5.12.1-1.cdh5.12.1.p0.3-el6.parcel文件,也就不是纯离线安装了
相关启动脚本
通过/opt/cm-5.12.1/etc/init.d/cloudera-scm-server start启动服务端。
通过/opt/cm-5.12.1/etc/init.d/cloudera-scm-agent start启动Agent服务(所有Agent节点)。
以上我们是通过脚本来启动的,所以需要停止服务的时候,只需要把以上的start参数改为stop就可以啦。
service服务启动需要几分钟,取决于服务器的性能,此时我们可以使用
netstat -apn|grep 7180
查询端口被占用后,就可以用浏览器打开http://masterIP:7180/进行访问了,登录用户名与密码分别为admin。
CDH集群搭建

至此基本上CM的安装己经完成,接下来就可以通过WEB界面进行安装CDH了!
安装CDH
CDH集群搭建

这里我们选择免费版本后继续
CDH集群搭建

继续
CDH集群搭建
各个Agent节点正常启动后,可以在当前管理的主机列表中看到对应的节点。选择要安装的节点,这里我选择全部节点,继续。
出现以下版本的包,说明本地Parcel包配置无误,直接点继续。
CDH集群搭建

如果配置本地Parcel包无误,那么已下载是瞬间就完成的,因为不需要下载,然后耐心等待分配过程就行了,速度由内网网速决定。完成后点击继续。

CDH集群搭建
CDH集群搭建
接下来是服务器检查,如果前面严格按照步骤一步步做下来这里应该是不会出现任何问题的,全绿通过。点击完成。
CDH集群搭建
接下来是选择安装服务,根据需要按需选择就好,点击继续
CDH集群搭建

服务配置,一般情况下保持默认就可以了,也可以自己手动根据节点情况进行分配,点击继续
CDH集群搭建
接下来是数据库的设置
CDH集群搭建
下面是集群设置的审查页面,保持默认就可以,因为后面还需要更多详细的改动,不建议这里完成,我们首要的任务是先将集群建立起来。所以点击继续
CDH集群搭建

开始安装各个服务,安装Hive的时候可能会报错,因为我们使用了MySql作为hive的元数据存储,hive默认并没有带mysql的驱动,拷贝一个就行了
cp mysql-connector-java-5.1.46-bin.jar /opt/cloudera/parcels/CDH-5.12.1-1.cdh5.12.1.p0.3/lib/hive/lib/
全部绿色通过,然后点击继续。
CDH集群搭建
到此为止CDH集群就算部署完毕了
效果图
CDH集群搭建
CDH集群搭建