史上最全cdh安装详细教程

此篇文章主要介绍了CDH在centos 6.x下的安装,在centos 7 版本中的安装以后会推出.

这篇文档将着重介绍Cloudera管理器域CDH的安装,并基于以下假设:

>>操作系统版本: centos 6.8

>>MySQL数据库版本: 5.6.24

>>CM版本: CM  5.12.1

>>CDH版本: CDH 5.12.1

>>采用root对集群进行部署

 

1、准备工作:

   0)新建centos 6.x虚拟机,然后克隆3台(需要完整克隆,具体如何克隆,自行百度,这里不做过多说明)

       以3台克隆机器中的其中一台为例,进行网络的配置

       1> vi /etc/udev/rules.d/70-persistent-net.rules 

            敲dd将含有eth0的一行删除,并使用shift+$跳到文章末尾,将eth1改为eth0

       2> 并复制ATTR中的引号中的内容

       3> 保存退出后,vi /etc/sysconfig/network-scripts/ifcfg-eth0,将刚刚复制的内容粘贴到此文件下的HWADDR(先把之前的删除),并且

按照图中的内容进行添加或者修改,ONBOOT=yes,表示开机自启动,需要改为yes,BOOTPROTO这个主要是网络配置模式的修改,如果新安装的虚拟机默认是dhcp,表示动态获取ip,这对于后面配置集群是非常麻烦的,所以我们需要将其修改为static或者none都是表示配置静态ip模式,并且添加IPADDR,这个我们可以自己配置ip地址.

 

然后使用service network restart 重启下网络,然后使用ifconfig或者ip a 查看ip是否修改成功.如果出现下图错误,那么使用reboot重启虚拟机,便可解决此问题

 

另外两台克隆的虚拟机按照以上操作做一次.

   1)关闭防火墙(3台克隆机同时操作)
         临时关闭:

               service iptables stop

        永久关闭:

               chkconfig iptables off

   1.5)关闭Selinux

         临时关闭

               setenforce 0

         修改配置文件/etc/selinux/config(重启生效)

              将SELINUX=enforcing 改为SELINUX=disabled

                 sed -i 's#enforcing#disabled#g' /etc/selinux/config 

 

   2)设置主机名(每台克隆机,设置不通的主机名)

              vi /etc/sysconfig/network    根据自己的配置修改hostname,这个需要重启虚拟机才会生效

           

   3)配置DNS(3台克隆机同时操作)

             vi /etc/resolv.conf  添加:nameserver 8.8.8.8 或者nameserver 网关地址 

            然后ping baidu.com  看是否有回应

           
 

如果在这个地方,出现了宿主机ping不通虚拟机,或者虚拟机ping不通宿主机,请自行百度吧,这里我也不想做过多描述.如果实在有问题加最下面的qq群寻求答案吧.

   4)配置host文件(3台克隆机同时操作)

          vi /etc/hosts   根据自己的ip 进行相应配置

         

  配置完之后,可以在同一台机器上ping 不同的域名,查看是否有响应.

表明配置成功

 

为了以后,我们使用谷歌或者其他浏览器访问域名也可以,那么我们需要对windows中的hosts文件进行配置

打开C:\Windows\System32\drivers\etc下的hosts文件,进行相应的配置

  

  5)更新yum源(使用阿里云镜像源)

    第一步:备份你的原镜像文件,以免出错后可以恢复

       mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

   第二步:下载新的CentOS-Base.repo 到/etc/yum.repos.d/

      wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

   第三步:清空yum缓存

        yum clean all

    第四步:生成缓存

         yum makecache  

 

   6) 安装JDK(3台克隆机同时操作)

       1>卸载现有JDK

         查询是否安装Java软件:

               rpm -qa | grep java

        如果安装的版本低于1.7,卸载该JDK:

                rpm -e 软件包

         查看JDK安装路径:

               which java

      2>创建两个目录,主要是存放tar包

            mkdir /opt/module

            mkdir /opt/software

      3> 将jdk-8u144-linux-x64.tar.gz上传至/opt/software,关于上传有两种方法,一种是使用yum install lrzsz -y或者windows下载WinSCP软件,之前做过测试,WinSCP上传下载的速度大约是rzsz的十倍左右.各有利弊,如果使用rzsz,可以直接将上传的资料直接拖到远程连接工具就可以,非常方便,下载的话直接使用   sz 需要下载的文件   就可以了 

       4>解压JDK

            tar -zxvf jdk-8u144-linux-x64.tar.gz -C /opt/module/

       5> 配置JDK环境变量     

           (1)先获取JDK路径

                  #  pwd

                     /opt/module/jdk1.8.0_144

           (2)打开/etc/profile文件

                     vi /etc/profile   在profile文件末尾添加JDK路径

                      #JAVA_HOME

                      export JAVA_HOME=/opt/module/jdk1.8.0_144

                      export PATH=$PATH:$JAVA_HOME/bin

            (3)保存后退出

                   :wq

             (4)让修改后的文件生效

                        source /etc/profile

            6> 测试JDK是否安装成功

                   java -version

        

出现上图所示,则表示JDK配置成功

 

    7)配置免密登陆 (只在CDH101上操作)

        cd ~

       1>生成公钥和私钥

            ssh-keygen -t rsa  一路回车就好

        2> 将公钥拷贝到要免密登录的目标机器上

            ssh-copy-id  CDH101

            ssh-copy-id  CDH102

            ssh-copy-id  CDH103

 

       8)在CDH101上安装mysql,配置相应的用户权限(也可以使用yum安装mysql)

              1>查看mysql是否安装,如果安装了,卸载mysql

                       rpm -qa|grep mysql

                       rpm -e --nodeps  xx

              2>安装mysql服务端

                      rpm -ivh MySQL-server-5.6.24-1.el6.x86_64.rpm

               3>查看产生的随机密码

                    cat /root/.mysql_secret   找个位置复制,为下面修改mysql密码做准备

              4>查看mysql状态并启动mysql

                    service mysql status

                    service mysql start

               5>安装mysql客户端

                   rpm -ivh MySQL-client-5.6.24-1.el6.x86_64.rpm

                6>链接mysql,并修改密码

                       mysql -uroot -ptxj5IaUyV2Pw1tI5

                       SET PASSWORD=PASSWORD('000000');

                 7)退出mysql,使用修改后的密码重新登录mysql,并做相关操作

                     登录mysql  

                         mysql -uroot -p000000

                      使用mysql数据库

                         use mysql;
                   查询user表

                        select User,Host,Password from user;

                  

                  修改user表,把Host表内容修改为%

                         update user set host='%' where host='localhost';

                   删除root用户的其他host

                      

                   刷新权限并退出

                      

 

         9)下载第三方依赖

              yum -y install chkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse fuse-libs redhat-lsb

        如果不下载这些依赖,使用cdh安装的时候会报各种各样的错误.

 

       10) 时钟同步(必须root用户)

          (1)检查ntp是否安装

                  [root@hadoop102 桌面]# rpm -qa|grep ntp

                   ntp-4.2.6p5-10.el6.centos.x86_64

                  fontpackages-filesystem-1.41-1.1.el6.noarch

                  ntpdate-4.2.6p5-10.el6.centos.x86_64

            (2)修改ntp配置文件

                 [root@hadoop102 桌面]# vi /etc/ntp.conf

                 修改内容如下

                  a)修改1(授权192.168.1.0网段上的所有机器可以从这台机器上查询和同步时间)

                          #restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap为

                          restrict 192.168.10.0 mask 255.255.255.0 nomodify notrap

                            ip地址根据自己的网段进行配置

                b)修改2(集群在局域网中,不使用其他的网络时间)

                     server 0.centos.pool.ntp.org iburst

                     server 1.centos.pool.ntp.org iburst

                     server 2.centos.pool.ntp.org iburst

                     server 3.centos.pool.ntp.org iburst为

                    #server 0.centos.pool.ntp.org iburst

                   #server 1.centos.pool.ntp.org iburst

                   #server 2.centos.pool.ntp.org iburst

                   #server 3.centos.pool.ntp.org iburst

               c)添加3当该节点丢失网络连接,依然可以作为时间服务器为集群中的其他节点提供时间同步

                    server 127.127.1.0

                    fudge 127.127.1.0 stratum 10

         (3)修改/etc/sysconfig/ntpd 文件

             [root@hadoop102 桌面]# vim /etc/sysconfig/ntpd

            增加内容如下(让硬件时间与系统时间一起同步)

             SYNC_HWCLOCK=yes

         (4)重新启动ntpd

             [root@hadoop102 桌面]# service ntpd status

              ntpd 已停

            [root@hadoop102 桌面]# service ntpd start

            正在启动 ntpd:                                            [确定]

          (5)设置ntpd服务开机启动:

                 [root@hadoop102 桌面]# chkconfig ntpd on

            2.    其他机器配置(必须root用户)

             (1)在其他机器配置10分钟与时间服务器同步一次

                [root@hadoop103桌面]# crontab -e

                  编写定时任务如下:

                      */10 * * * * /usr/sbin/ntpdate hadoop102

               (2)修改任意机器时间

               [root@hadoop103桌面]# date -s "2017-9-11 11:11:11"

             (3)十分钟后查看机器是否与时间服务器同步

           [root@hadoop103桌面]# date

        说明:测试的时候可以将10分钟调整为1分钟,节省时间。

          

2、CM安装部署

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

    离线库下载地址:http://archive.cloudera.com/cdh5/parcels

 

    2.1)上传cloudera-manager-el6-cm5.12.1_x86_64.tar.gz到/opt/software并解压

        创建/opt/module/cloudera-manager目录

           mkdir /opt/module/cloudera-manager

           tar -zxvf /opt/software/cloudera-manager-el6-cm5.12.1_x86_64.tar.gz -C /opt/module/cloudera-manager/

     2.2)创建用户cloudera-scm(所有节点

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

         --system 创建一个系统账户

         --home 指定用户登入时的主目录,替换系统默认值/home/<用户名>

         --no-create-home 不要创建用户的主目录

         --shell 用户的登录 shell 名

         --comment 用户的描述信息

        注意:

         Cloudera Manager默认用户为cloudera-scm,创建具有此名称的用户是最简单的方法。 安装完成后,将自动使用此用户。

    2.3)配置CM Agent

         修改文件/opt/module/cloudera-manage/cm-5.12.1/etc/cloudera-scm-agent/ config.ini

       vim /opt/module/cloudera-manage/cm-5.12.1/etc/cloudera-scm-agent/config.ini

           server_host=CDH101

   2.4)配置CM的数据库

     1>拷贝mysql jar文件到目录 /usr/share/java/

          mkdir /usr/share/java/

          cp /opt/software/mysql-connector-java-5.1.27/mysql-connector-java-5.1.27-bin.jar /usr/share/java

          mv mysql-connector-java-5.1.27-bin.jar mysql-connector-java.jar

          • 注意jar包名称要修改为mysql-connector-java.jar

     2>在mysql中创建cm库

        /opt/module/cloudera-manager/cm-5.12.1/share/cmf/schema/scm_prepare_database.sh mysql cm -hCDH101 -uroot -p000000 --scm-host CDH101 scm scm scm

注解:     

       -u:Database username

       -p:Database Password

     mysql:数据库用的是mysql,如果安装过程中用的oracle,那么该参数就应该改为oracle。

    cm:表示在mysql数据库中创建cm database   

    -h:Database host 表示安装数据库的主机名 (我是在在CDH101上安装的MySQL数据库,所以我指定了CDH101)

    --scm-host CDH101 :CMS的主机,一般是和mysql安装的主机是在同一个主机上。

   最后三个参数是:数据库名,数据库用户名,数据库密码。

执行完创建cm库的命令后,只有当看到All done, your SCM database is configured correctly!这句话时,表明命令操作是成功的.在执行这行命令后,会遇到很多问题,最常见到的是用户权限问题,这个自行百度吧,或者查看我的另一篇博客:安装CDH过程中所遇到的问题整理 

  2.5)分发cloudera-manage(在CDH101上执行命令,时间会稍长)

           scp -r /opt/module/cloudera-manager/ CDH102:/opt/module/

           scp -r /opt/module/cloudera-manager/ CDH103:/opt/module/

  2.6)创建Parcel-repo 目录

       1> Servre 节点创建目录/opt/cloudera/parcel-repo(server节点就是CDH101节点)

              创建Cloudera Manager默认存放离线库的地址

                  mkdir -p /opt/cloudera/parcel-repo

              并赋予parcel-repo所有者权限

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

       2> 拷贝下载文件到/opt/cloudera/parcel-repo

             [root@CDH101 software]# cp CDH-5.12.1-1.cdh5.12.1.p0.3-el6.parcel manifest.json /opt/cloudera/parcel-repo/

             [root@CDH101 software]# mv 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
             [root@CDH101 software]# cp CDH-5.12.1-1.cdh5.12.1.p0.3-el6.parcel.sha /opt/cloudera/parcel-repo/

       3> 在Agent 节点(CDH102,CDH103,CDH104)创建目录/opt/cloudera/parcels

             mkdir -p /opt/cloudera/parcels

             chown cloudera-scm:cloudera-scm /opt/cloudera/parcels

   2.7)分发Parcel-repo

            scp -r /opt/cloudera/ CDH102:/opt/

            scp -r /opt/cloudera/ CDH103:/opt/

   注意:

       当scp之后,需要查看CDH102和CDH103上的parcel-repo的所属主是不是cloudera-scm,如果不是,则使用chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo/进行修改

    2.8)启动和关闭CM Server&Agent 服务

     服务节点:CDH101

           [root@CDH101 cloudera]# /opt/module/cloudera-manager/cm-5.12.1/etc/init.d/cloudera-scm-server start

           Starting cloudera-scm-server:                              [确定]

     工作节点:CDH101\CDH102\CDH103

        /opt/module/cloudera-manager/cm-5.12.1/etc/init.d/cloudera-scm-agent start    (三个节点同时执行)

注意:启动过程非常慢,Manager 启动成功需要等待一段时间,过程中会在数据库中创建对应的表需要耗费一些时间。

一段时间过后,可以使用下列命令查看7180端口是否已经启动:  netstat -anp | grep 7180   如果查看被占用则表示安装成功了!!!

[root@CDH101 init.d]# netstat -anp | grep 7180

tcp        0      0 0.0.0.0:7180                0.0.0.0:*                   LISTEN      5498/java

   2.9)访问

      访问http://CDH101:7180,(用户名、密码:admin

 这个地方注意,需要在windows的hosts文件中配置ip地址和域名   

 

关闭服务:

服务节点:CDH101

[root@CDH101 init.d]# /opt/module/cloudera-manager/cm-5.12.1/etc/init.d/cloudera-scm-server stop

停止 cloudera-scm-server:                                 [确定]

工作节点:CDH101\CDH102\CDH103

[root@CDH101 init.d]# /opt/module/cloudera-manager/cm-5.12.1/etc/init.d/cloudera-scm-agent stop

Stopping cloudera-scm-agent:                               [确定]

 

3、Cloudera Manager界面操作

  用户和密码都是admin,

具体解决方案见上面的准备操作中的时钟同步操作。

版本汇总如下:

自定义服务中,我们先只选择HDFS,hive和yarn三个组件

继续下一步开始进行数据库的配置

接下来开始安装,直到显示集群安装成功.

安装成功后进入home管理界面

 

至此,CDH集群已经全部安装完毕

--------------------------------------------------------------------------------------------------------------------------------------------------------------------

      用人品去感动别人,用改变去影响别人,用状态去燃烧别人,用行动去带动别人,用阳光去照耀别人,用坚持去赢得别人,要求自己每天都去做与目标有关的事情,哪怕每天只进步一点点,坚持下来你就是最优秀卓越的!欢迎大家加入大数据交流群:725967421     一起交流,一起进步!!

---------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

  • 18
    点赞
  • 142
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
安装CDH6.3需要几个步骤: 1. 创建华为云ECS实例:在华为云控制台创建ECS实例,选择操作系统为CentOS 7.6 64位。 2. 安装CDH依赖包:在ECS实例中运行以下命令安装CDH依赖包。 ``` sudo yum install -y wget curl openssh-server ntp ntpdate unzip lsof net-tools bind-utils ``` 3. 安装JDK:CDH需要Java环境,可以通过以下命令安装Oracle JDK 8。 ``` sudo wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" \ http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm sudo yum localinstall -y jdk-8u131-linux-x64.rpm ``` 4. 安装CDH:通过以下步骤安装CDH。 - 添加CDH6仓库 ``` sudo wget https://archive.cloudera.com/cdh6/6.3.0/redhat7/yum/cloudera-cdh6.repo -P /etc/yum.repos.d/ ``` - 安装CDH ``` sudo yum install -y hadoop hadoop-hdfs-namenode hadoop-hdfs-datanode hadoop-mapreduce \ hadoop-yarn-nodemanager hadoop-yarn-resourcemanager hadoop-hdfs-journalnode hadoop-hdfs-zkfc \ hive hive-metastore hive-server2 impala impala-server impala-shell impala-catalog \ impala-state-store impala-shell solr-server solr-doc zookeeper-server \ zookeeper-devel hue hue-plugins flume-ng-agent oozie oozie-client sqoop \ sqoop2-server sqoop2-client spark-core spark-python spark-worker spark-history-server \ spark-thrift-server spark-yarn-shuffle spark-master spark-driver spark-examples \ spark-r spark-sql spark-streaming spark-ganglia-monitoring spark-ganglia-shuffle-monitoring \ spark-javadoc spark-doc python-devel python-pip ``` 5. 配置Hadoop:进行以下配置。 - 配置Hadoop ``` sudo /usr/bin/hadoop namenode -format ``` - 启动Hadoop ``` sudo systemctl start hadoop-hdfs-namenode sudo systemctl start hadoop-hdfs-datanode sudo systemctl start hadoop-yarn-resourcemanager sudo systemctl start hadoop-yarn-nodemanager sudo systemctl start hadoop-hdfs-journalnode sudo systemctl start hadoop-hdfs-zkfc ``` 6. 配置Hue:通过以下步骤配置Hue。 - 修改hue配置文件 ``` sudo cp /usr/lib/hue/desktop/conf.dist/hue.ini /usr/lib/hue/desktop/conf/hue.ini sudo sed -i 's/localhost/0.0.0.0/g' /usr/lib/hue/desktop/conf/hue.ini ``` - 启动Hue ``` sudo systemctl start hue ``` 7. 配置Impala:通过以下步骤配置Impala。 - 启动Impala ``` sudo systemctl start impala-server sudo systemctl start impala-catalog sudo systemctl start impala-state-store ``` - 配置Impala daemon ``` sudo cp /etc/impala/conf.dist/impalad_flags /etc/impala/conf/ sudo sed -i 's/--num_scan_ranges_per_disk=0/--num_scan_ranges_per_disk=1/g' /etc/impala/conf/impalad_flags sudo sed -i 's/--use_local_catalog/--use_local_catalog --enable_rm=false/g' /etc/impala/conf/impalad_flags ``` 8. 配置Oozie:通过以下步骤配置Oozie。 - 修改oozie配置文件 ``` sudo cp /usr/lib/oozie/conf.dist/oozie-site.xml /usr/lib/oozie/conf/ sudo sed -i 's/localhost/your_hostname/g' /usr/lib/oozie/conf/oozie-site.xml ``` - 启动Oozie ``` sudo systemctl start oozie ``` 9. 完成安装:至此,CDH6.3已经安装完成。 注意:以上步骤仅供参考,具体操作可能与实际情况略有不同。在实际操作中,请根据实际情况进行相应的修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值