首页 > 代码库 > CDH集群搭建步骤

CDH集群搭建步骤

CDH集群搭建步骤详细文档

 

 

一、关于CDHCloudera Manager

CDH (Cloudera‘s Distribution,including Apache Hadoop),是Hadoop众多分支中的一种,由Cloudera维护,基于稳定版本的Apache Hadoop构建,并集成了很多补丁,可直接用于生产环境。

Cloudera Manager则是为了便于在集群中进行Hadoop等大数据处理相关的服务安装和监控管理的组件,对集群中主机、HadoopHiveSpark等服务的安装配置管理做了极大简化。

 

 

二、系统环境

CDH集群服务器规划:192.168.2.41CDH1),192.168.2.51CDH2),192.168.2.61CDH3

操作系统:CentOS6.5 x64

Cloudera Manager5.8.0

CDH: 5.8.0


三、安装说明

采用parcel离线安装方式,安装方便,重装什么的都非常方便。后期的集群统一包升级也非常好。


四、相关包的下载地址

Cloudera Manager下载地址:

http://archive-primary.cloudera.com/cm5/cm/5/cloudera-manager-el6-cm5.8.0_x86_64.tar.gz

 

CDH安装包地址:

http://archive.cloudera.com/cdh5/parcels/5.8.0/

由于我们的操作系统为CentOS6.5,需要下载以下文件:

CDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel

CDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel.sha1

manifest.json

 

 

五、安装准备工作:系统环境配置

以下操作均用root用户操作。

1、网络配置(所有节点)

vi /etc/sysconfig/network 修改hostname

技术分享

通过 service network restart 重启网络服务生效。

 

vi /etc/hosts ,修改ip与主机名的对应关系

技术分享

注意:这里需要将每台机器的ip及主机名对应关系都写进去,本机的也要写进去,否则启动Agent的时候会提示hostname解析错误。

 

 

2、配置SSH免密码登录

在主节点上执行 ssh-keygen -t rsa 一路回车,生成无密码的密钥对。


然后执行以下命令复制公钥文件到所有datenode节点:

[root@cdh1 ~]# ssh-copy-id cdh1
[root@cdh1 ~]# ssh-copy-id cdh2
[root@cdh1 ~]# ssh-copy-id cdh3

测试:在主节点上ssh cdh2,正常情况下,不需要密码就能直接登陆进去了。

技术分享


3、安装OracleJava(所有节点)

CentOS,自带OpenJdk,不过运行CDH5需要使用OracleJdk,需要Java 7的支持。

卸载自带的OpenJdk,使用 rpm -qa | grep java 查询java相关的包,使用 rpm -e --nodeps 包名卸载之。

Oracle的官网下载jdk

http://download.oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.tar.gz

 

解压安装包

[root@cdh1~]# tar –zxf jdk-7u79-linux-x64.tar.gz–C /usr/local
[root@cdh1~]# cd/usr/local
[root@cdh1~]# ln –sv jdk1.7.0_79/jdk
[root@cdh1~]# vi /etc/profile.d/jdk.sh 
exportJAVA_HOME=/usr/local/jdk
exportPATH=$PATH:JAVA_HOME/bin
[root@cdh1~]# chmod 755 /etc/profile.d/jdk.sh
[root@cdh1~]# . /etc/profile.d/jdk.sh


查看是否安装成功

[root@cdh1~]# java -version
javaversion "1.7.0_79"
Java(TM)SE Runtime Environment (build 1.7.0_79-b15)
JavaHotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)
[root@cdh1~]#



4、安装配置MySQL(主节点)

通过 yum installmysql-server 安装mysql服务器。 chkconfig mysqld on 设置开机启动,并 service mysqld start 启动mysql服务。

mysql -uroot-pxxxx 进入mysql命令行,创建以下数据库:

 

createdatabase hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
createdatabase hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
createdatabase Reports DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
createdatabase Oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;


设置root授权访问以上所有的数据库:

 

#授权root用户在主节点拥有所有数据库的访问权限

grantall privileges on *.* to root@cdh1 identified by ‘123456‘;
flushprivileges;


5、关闭防火墙和SELinux(所有节点)

注意: 需要在所有的节点上执行,因为涉及到的端口太多了,临时关闭防火墙是为了安装起来更方便,安装完毕后可以根据需要设置防火墙策略,保证集群安全。

关闭防火墙:

serviceiptables stop (临时关闭)  
chkconfigiptables off (重启后生效)


  关闭SELinux

setenforce 0(临时生效)  
修改 /etc/selinux/config 下的 SELINUX=disabled (重启后永久生效)


6、同步时间

各集群节点服务器必须同步时间,如果时间相差太大,在安装CDH是可能会出现各种异常报错。

安装ntp

yuminstall ntp ntpdate


ntp同步时间命令,这里用1.cn.pool.ntp.org做时间同步服务器

ntpdate1.cn.pool.ntp.org

 

六、安装及启动

1安装Cloudera Manager Server Agent

主节点解压安装

cloudera manager的目录默认位置在/opt,将其解压到opt目录下

[root@cdh1opt]# tar -zxvf cloudera-manager-el6-cm5.8.0_x86_64.tar.gz –C /opt

 技术分享

将解压出来的两个目录的所有者改成root

chown -Rroot.root /opt/cloudera/
chown -Rroot.root /opt/cm-5.8.0/


Cloudera Manager 5建立数据库,首先需要去MySql的官网下载JDBC驱动。

地址:http://dev.mysql.com/downloads/connector/j/

解压后,找到mysql-connector-java-5.1.41-bin.jar,放到/opt/cm-5.8.0/share/cmf/lib/中。

cp mysql-connector-java-5.1.41-bin.jar /opt/cm-5.8.0/share/cmf/lib/


在主节点初始化CM5的数据库:

/opt/cm-5.8.0/share/cmf/schema/scm_prepare_database.shmysql cm -h localhost -uroot -p123456 --scm-host localhost scm scm scm

技术分享

    

    Agent配置:

修改/opt/cm-5.8.0/etc/cloudera-scm-agent/config.ini中的server_host为主节点的主机名。

server_host=cdh1


创建cloudera-scm-agentpid目录

mkdir/opt/cm-5.8.0/run/cloudera-scm-agent


同步Agent到其他节点

scp -r/opt/cm-5.8.0/ cdh2:/opt/
scp -r/opt/cm-5.8.0/ cdh3:/opt/


在所有节点创建cloudera-scm用户

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


2、准备Parcels,用以安装CDH5

CHD5相关的Parcel包放到主节点的/opt/cloudera/parcel-repo/目录中。

相关的文件如下:

CDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel

CDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel.sha1

manifest.json

最后将CDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel.sha1文件后缀改成sha。否则,系统会重新下载CDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel文件。

 

3、启动服务

服务端:

/opt/cm-5.8.0/etc/init.d/cloudera-scm-serverstart

 

客户端:(所有节点启动)启动Agent服务。

/opt/cm-5.8.0/etc/init.d/cloudera-scm-agentstart

 

我们启动的其实是个service脚本,需要停止服务将以上的start参数改为stop就可以了,重启是restart


4CDH5的安装配置

Cloudera Manager ServerAgent都启动以后,就可以进行CDH5的安装配置了。

这时可以通过浏览器访问主节点的7180端口测试一下了(由于CM Server的启动需要花点时间,这里可能要等待一会才能访问),默认的用户名和密码均为admin

技术分享

 

勾选接受条款,点击继续

技术分享

 

可以看到,免费版本的CM5已经没有原来50个节点数量的限制了。

技术分享

 

点击继续

技术分享

各个Agent节点正常启动后,可以在当前管理的主机列表中看到对应的节点。选择要安装的节点,点继续。

技术分享

 

出现以下包名和对应CDH版本,说明本地Parcel包配置无误,这里选择5.8.0,直接点继续。

技术分享

 

如果配置本地Parcel包无误,那么下图中的已下载,应该是瞬间就完成了,然后就是耐心等待分配过程就行了,大约10多分钟,取决于内网网速。

技术分享

接下来是服务器检查,可能会遇到以下问题:

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

通过 echo 0> /proc/sys/vm/swappiness 即可解决。点击完成。

技术分享

 

接下来,选择安装服务。

技术分享

 

进行集群设置角色分配,没特殊要求的话,选默认即可,点继续。

技术分享

 

数据库设置

技术分享

 

点击连接测试,当全部都显示Successful,点击继续

技术分享

 

选择默认,点击继续。

技术分享

 

开始安装配置服务,等待完成。

技术分享

 

安装完成,登陆控制台

技术分享

 

 


CDH集群搭建步骤