CDH大数据集群环境搭建完整教程

hadoop | 2020-03-06 16:25:47


目录

1.cdh介绍

2.环境准备

3.下载CDH

4.安装CM和Agent

5.安装CDH


1.cdh介绍

Cloudera’s Distribution Including Apache Hadoop(CDH),就是Cloudera这个公司发行的hadoop集群环境稳定版本。

• 是Hadoop众多分支中的一种,由Cloudera维护,基于稳定版本的Apache Hadoop构建

• 提供了Hadoop的核心
    – 可扩展存储
    – 分布式计算
• 基于Web的用户界面

• 解决hadoop环境搭建各组件版本及配置部署管理的问题。


2.环境准备

    2.1 linux centos U盘安装linux centOS 7

    2.2 安装jdk linux centos 安装java jdk及环境变量配置
    2.3 配置集群SSH免密码登录 linux服务器之间ssh免密码访问配置

    2.4 同步集群各时间节点 linux集群同步各节点时间

    2.5 关闭防火墙 

            service iptables stop

            chkconfig iptables off   重启后也生效


    2.5 统一hostname  linux修改hostname永久生效

    2.6 所有节点修改hosts

        10.10.122.522 master

        10.10.122.523 slave1

        10.10.122.533 slave2

        10.10.122.502 slave3

    2.7 安装mysql linux centos 安装 mysql 并设置开机启动



3.下载CDH

    根据不同linux版本需要下载不同的包,我的centos6 需要下载el6版本的。archive-primary.cloudera.com和archive.cloudera.com哪个速度快用哪个:

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

    cdh5:http://archive.cloudera.com/cdh5/parcels/5.8.0/CDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel

            http://archive.cloudera.com/cdh5/parcels/5.8.0/CDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel.sha1


    下载后解压到/opt


4.安装CM和Agent

    4.1添加cm用户

        在所有节点上执行

        useradd --system --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm


    4.2配置aget

        vi /opt/cm-5.8.0/etc/cloudera-scm-agent/config.ini

        修改 server_host=master

        把cm-5.8.0复制到其他节点

        scp scp -r cm-5.8.0/ root@10.10.212.143:/opt/cm/


    4.3初始化cm mysql数据库

        复制mysql-connector-java-8.0.12.jar到目/usr/share/java/opt/cm-5.11.0/share/cmf/lib/ 注意mysql和jar的版本对应

        /opt/cm-5.11.0/share/cmf/schema/scm_prepare_database.sh mysql cm -h slave2 -uroot -panjian123 --scm-host master scm scm scm

        -h后是mysql的主机名

        --scm-host 后是SCM server的主机名(主节点)

        如果有报错,一般是msyql的权限设置没设好,root不能远程登录


    4.4 主节点 将下载好的cdh 的两个文件放入/opt/cloudera/parcel-repo

        cd /opt/cloudera/parcel-repo

        cp /opt/cdh/CDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel ./

        cp /opt/cdh/CDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel.sha1 ./

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


        注意!!最后一定要将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文件,也就不是纯离线安装了。


    4.5 启动cm

        通过/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。至此基本上CM的安装己经完成,接下来就可以通过WEB界面进行安装CDH了!


    5.安装CDH

http://masterIP:7180

        登录用户名与密码分别为admin

1.png

勾选是后继续

2.png

这里我们选择免费版本后继续

3.png

继续

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

4.png

出现以下版本的包,说明本地Parcel包配置无误,直接点继续。

5.png

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

6.png


7.png

接下来是服务器检查,如果前面严格按照步骤一步步做下来这里应该是不会出现任何问题的,全绿通过。点击完成。

8.png


接下来是选择安装服务,根据需要按需选择就好,点击继续

9.png


服务配置,一般情况下保持默认就可以了,也可以自己手动根据节点情况进行分配,点击继续

10.png


接下来是数据库的设置,部分系统会通过测试,有的则像我一样

11.png


错误原因:


hue要存元数据库,CM的服务端是用Java编写的,而CM的客户端是Python编写的,这里测试连接时是用Python去连接数据库。


掏出准备好的安装包 , rpm之

12.png


再次点击测试连接,成功,点击继续

13.png


下面是集群设置的审查页面,保持默认就可以,因为后面还需要更多详细的改动,不建议这里完成,我们首要的任务是先将集群建立起来。所以点击继续。

14.png


开始安装各个服务,安装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/


这时hive通过了oozie会出现错误,错误原理与hive雷同,通过观察日志我们发现oozie会去一个默认路径下copy mysql的驱动,所以cp一个驱动过去即可,记得驱动的名称改成日志中需要的格式,否则依旧审核不通过,这点很重要。

15.png


全部绿色通过,然后点击继续。

16.png


到此为止CDH集群就算部署完毕了

17.png




部分linux系统会因为缺少hue的相关依赖而启动不了hue的某些进程(这个东西最矫情)具体根据自己系统的情况去安装即可。

登录后即可回复 登录 | 注册
    
关注编程学问公众号