暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Cloudera | CM + CDH 6.3:Install on RHEL7.6

Nephilim 2020-04-10
59


01            

Cloudera CDH CM:简介


Cloudera CDH,是Cloudera公司对Apache Hadoop二次开发后的发行版;

Cloudera CM,是Cloudera公司开发的,用于管理Hadoop集群的工具;


02            

预安装环境说明


如题所示,本文会详细介绍如何在红帽RHEL7.6的平台上部署Cloudera CM与CDH的Hadoop集群环境;

在开始正式说明之前,你需要配置好一些前置条件:


DNS

在我的环境中,DNS是搭建在MS Windows 2016上的;

地址:192.168.72.254

如图:


监控

监控的目标是为了更好的查看集群的资源状态与运行情况;

为了简便,这里我使用的监控是Percona的PMM,对MySQL与OS的运行状态做简单的监控与展示;

地址:

http://192.168.72.253/graph/


如图:


数据库支持

Cloudera的CM与CDH需要后端数据库的支持,Cloudera支持的数据库有很多种,如:Oracle MySQL PostgreSQL;

在我的环境中,我选择MySQL数据库;


数据库的支持不在本文档的介绍范畴中,但这一部分的配置我已经完成了,它的信息如下:

MySQL:Percona MySQL 5.7 - PXC集群模式


节点一:192.168.72.21

节点二:192.168.72.22

节点三:192.168.72.23


代码:

    [root@percona-mysql-01 ~]# systemctl status mysql@bootstrap.service
    ● mysql@bootstrap.service - Percona XtraDB Cluster with config etc/sysconfig/mysql.bootstrap
    Loaded: loaded (/usr/lib/systemd/system/mysql@.service; disabled; vendor preset: disabled)
    Active: active (running) since Tue 2020-04-07 20:34:59 CST; 23h ago
    Main PID: 41171 (mysqld_safe)
    CGroup: system.slice/system-mysql.slice/mysql@bootstrap.service
    ├─41171 bin/sh usr/bin/mysqld_safe --basedir=/usr --wsrep-new-c...
    └─41657 usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql -...


    Apr 07 20:34:49 percona-mysql-01 systemd[1]: Starting Percona XtraDB Cluster....
    Apr 07 20:34:49 percona-mysql-01 mysql-systemd[41172]: State transfer in prog...
    Apr 07 20:34:50 percona-mysql-01 mysqld_safe[41171]: 2020-04-07T12:34:50.0874...
    Apr 07 20:34:50 percona-mysql-01 mysqld_safe[41171]: 2020-04-07T12:34:50.0927...
    Apr 07 20:34:50 percona-mysql-01 mysqld_safe[41171]: 2020-04-07T12:34:50.1382...
    Apr 07 20:34:50 percona-mysql-01 mysqld_safe[41171]: 2020-04-07T12:34:50.1585...
    Apr 07 20:34:50 percona-mysql-01 mysqld_safe[41171]: 2020-04-07T12:34:50.1613...
    Apr 07 20:34:59 percona-mysql-01 mysql-systemd[41172]: SUCCESS!
    Apr 07 20:34:59 percona-mysql-01 systemd[1]: Started Percona XtraDB Cluster ....
    Hint: Some lines were ellipsized, use -l to show in full.
    [root@percona-mysql-01 ~]#
    [root@percona-mysql-01 mysql]# mysql -u root -p
    Enter password:
    Welcome to the MySQL monitor. Commands end with ; or \g.
    Your MySQL connection id is 6569
    Server version: 5.7.28-31-57-log Percona XtraDB Cluster (GPL), Release rel31, Revision ef2fa88, WSREP version 31.41, wsrep_31.41


    Copyright (c) 2009-2019 Percona LLC and/or its affiliates
    Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.


    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.


    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.


    mysql>
    mysql> show global status like 'wsrep_ready';
    +---------------+-------+
    | Variable_name | Value |
    +---------------+-------+
    | wsrep_ready | ON |
    +---------------+-------+
    1 row in set (0.01 sec)


    mysql>
    mysql> show global status like 'wsrep_cluster%';
    +--------------------------+--------------------------------------+
    | Variable_name | Value |
    +--------------------------+--------------------------------------+
    | wsrep_cluster_weight | 3 |
    | wsrep_cluster_conf_id | 3 |
    | wsrep_cluster_size | 3 |
    | wsrep_cluster_state_uuid | f0ae4bd5-78c7-11ea-a173-6a64eeb13518 |
    | wsrep_cluster_status | Primary |
    +--------------------------+--------------------------------------+
    5 rows in set (0.00 sec)


    mysql> exit
    [root@percona-mysql-01 ~]# cat etc/hosts
    #127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
    #::1 localhost localhost.localdomain localhost6 localhost6.localdomain6


    # Local
    127.0.0.1 localhost localhost.localdomain


    # Public
    192.168.72.21 percona-mysql-01 percona-mysql-01.adamhuan.com
    192.168.72.22 percona-mysql-02 percona-mysql-02.adamhuan.com
    192.168.72.23 percona-mysql-03 percona-mysql-03.adamhuan.com


    # Finished
    [root@percona-mysql-01 ~]#

    在PMM的监控上面也是可以看到PXC的状态的:


    数据库中,为Cloudera创建初始化的空库和对应的用户;

    创建脚本:

      # cloudera manager server

      CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
      GRANT ALL ON scm.* TO 'scm'@'%' IDENTIFIED BY '***不要看密码***';

      # activity monitor

      CREATE DATABASE amon DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
      GRANT ALL ON amon.* TO 'amon'@'%' IDENTIFIED BY '***不要看密码***';

      # reports manager

      CREATE DATABASE rman DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
      GRANT ALL ON rman.* TO 'rman'@'%' IDENTIFIED BY '***不要看密码***';

      # hue

      CREATE DATABASE hue DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
      GRANT ALL ON hue.* TO 'hue'@'%' IDENTIFIED BY '***不要看密码***';

      # hive metastore server

      CREATE DATABASE metastore DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
      GRANT ALL ON metastore.* TO 'hive'@'%' IDENTIFIED BY '***不要看密码***';

      # sentry server

      CREATE DATABASE sentry DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
      GRANT ALL ON sentry.* TO 'sentry'@'%' IDENTIFIED BY '***不要看密码***';

      # cloudera navigator audit server

      CREATE DATABASE nav DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
      GRANT ALL ON nav.* TO 'nav'@'%' IDENTIFIED BY '***不要看密码***';

      # cloudera navigator metadata server

      CREATE DATABASE navms DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
      GRANT ALL ON navms.* TO 'navms'@'%' IDENTIFIED BY '***不要看密码***';

      # oozie

      CREATE DATABASE oozie DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
      GRANT ALL ON oozie.* TO 'oozie'@'%' IDENTIFIED BY '***不要看密码***';

      执行:

        mysql> show databases;
        +--------------------+
        | Database |
        +--------------------+
        | information_schema |
        | adamhuan |
        | mysql |
        | performance_schema |
        | sys |
        +--------------------+
        5 rows in set (0.00 sec)


        mysql>
        mysql> source create_database.sql
        Query OK, 1 row affected (0.01 sec)


        Query OK, 0 rows affected, 1 warning (0.02 sec)


        Query OK, 1 row affected (0.02 sec)


        Query OK, 0 rows affected, 1 warning (0.01 sec)


        Query OK, 1 row affected (0.02 sec)


        Query OK, 0 rows affected, 1 warning (0.00 sec)


        Query OK, 1 row affected (0.02 sec)


        Query OK, 0 rows affected, 1 warning (0.02 sec)


        Query OK, 1 row affected (0.00 sec)


        Query OK, 0 rows affected, 1 warning (0.01 sec)


        Query OK, 1 row affected (0.01 sec)


        Query OK, 0 rows affected, 1 warning (0.00 sec)


        Query OK, 1 row affected (0.00 sec)


        Query OK, 0 rows affected, 1 warning (0.01 sec)


        Query OK, 1 row affected (0.01 sec)


        Query OK, 0 rows affected, 1 warning (0.02 sec)


        Query OK, 1 row affected (0.01 sec)


        Query OK, 0 rows affected, 1 warning (0.00 sec)


        mysql>
        mysql> show databases;
        +--------------------+
        | Database |
        +--------------------+
        | information_schema |
        | adamhuan |
        | amon |
        | hue |
        | metastore |
        | mysql |
        | nav |
        | navms |
        | oozie |
        | performance_schema |
        | rman |
        | scm |
        | sentry |
        | sys |
        +--------------------+
        14 rows in set (0.00 sec)


        mysql> select user,host from mysql.user\G
        *************************** 1. row ***************************
        user: amon
        host: %
        *************************** 2. row ***************************
        user: hive
        host: %
        *************************** 3. row ***************************
        user: hue
        host: %
        *************************** 4. row ***************************
        user: nav
        host: %
        *************************** 5. row ***************************
        user: navms
        host: %
        *************************** 6. row ***************************
        user: oozie
        host: %
        *************************** 7. row ***************************
        user: rman
        host: %
        *************************** 8. row ***************************
        user: root
        host: %
        *************************** 9. row ***************************
        user: scm
        host: %
        *************************** 10. row ***************************
        user: sentry
        host: %
        *************************** 11. row ***************************
        user: sstuser
        host: %
        *************************** 12. row ***************************
        user: mysql.session
        host: localhost
        *************************** 13. row ***************************
        user: mysql.sys
        host: localhost
        *************************** 14. row ***************************
        user: root
        host: localhost
        *************************** 15. row ***************************
        user: sstuser
        host: localhost
        15 rows in set (0.00 sec)


        mysql>

        03            

        Cloudera:架构说明
                   


        在我的当前环境中,我的Cloudera将包含5个节点:

        节点一:192.168.72.11

        节点二:192.168.72.12

        节点三:192.168.72.13

        节点四:192.168.72.14

        节点五:192.168.72.15


        其中:

        CM,安装在【节点一】;

        CDH,安装在【五个节点】;


        CM架构与会开放的网络端口

        CDH架构与会开放的网络端口


        04            

        节点服务器:操作系统通用配置


        操作系统:RHEL 7.6 - 64bit

          [root@cloudera1 ~]# cat etc/redhat-release
          Red Hat Enterprise Linux Server release 7.6 (Maipo)
          [root@cloudera1 ~]#
          [root@cloudera1 ~]# uname -r
          3.10.0-957.el7.x86_64
          [root@cloudera1 ~]#

          文件系统分配方式:LVM

            [root@cloudera1 ~]# df -h
            Filesystem Size Used Avail Use% Mounted on
            /dev/mapper/rhel-root 17G 3.8G 14G 23%
            devtmpfs 7.8G 0 7.8G 0% dev
            tmpfs 7.8G 0 7.8G 0% dev/shm
            tmpfs 7.8G 13M 7.8G 1% run
            tmpfs 7.8G 0 7.8G 0% sys/fs/cgroup
            /dev/sda1 1014M 178M 837M 18% boot
            tmpfs 1.6G 12K 1.6G 1% run/user/42
            tmpfs 1.6G 0 1.6G 0% run/user/0
            /dev/sr0 4.2G 4.2G 0 100% iso
            [root@cloudera1 ~]#

            网络:IP地址【静态分配】

              [root@cloudera1 ~]# ifconfig
              ens32: flags=4163mtu 1500
              inet 192.168.72.11 netmask 255.255.255.0 broadcast 192.168.72.255
              inet6 fe80::982e:a694:efaa:41c8 prefixlen 64 scopeid 0x20ether 00:0c:29:1c:98:59 txqueuelen 1000 (Ethernet)
              RX packets 98710 bytes 61491223 (58.6 MiB)
              RX errors 0 dropped 0 overruns 0 frame 0
              TX packets 105285 bytes 194772296 (185.7 MiB)
              TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0


              lo: flags=73mtu 65536
              inet 127.0.0.1 netmask 255.0.0.0
              inet6 ::1 prefixlen 128 scopeid 0x10loop txqueuelen 1000 (Local Loopback)
              RX packets 84 bytes 9828 (9.5 KiB)
              RX errors 0 dropped 0 overruns 0 frame 0
              TX packets 84 bytes 9828 (9.5 KiB)
              TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0


              virbr0: flags=4099mtu 1500
              inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
              ether 52:54:00:df:a4:a0 txqueuelen 1000 (Ethernet)
              RX packets 0 bytes 0 (0.0 B)
              RX errors 0 dropped 0 overruns 0 frame 0
              TX packets 0 bytes 0 (0.0 B)
              TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0


              [root@cloudera1 ~]
              [root@cloudera1 ~]# cat etc/sysconfig/network-scripts/ifcfg-ens32
              TYPE="Ethernet"
              PROXY_METHOD="none"
              BROWSER_ONLY="no"
              BOOTPROTO="none"
              DEFROUTE="yes"
              IPV4_FAILURE_FATAL="no"
              IPV6INIT="yes"
              IPV6_AUTOCONF="yes"
              IPV6_DEFROUTE="yes"
              IPV6_FAILURE_FATAL="no"
              IPV6_ADDR_GEN_MODE="stable-privacy"
              NAME="ens32"
              UUID="564fb326-a96e-4b6d-90a2-a6abaa0d3d13"
              DEVICE="ens32"
              ONBOOT="yes"
              IPADDR="192.168.72.11"
              PREFIX="24"
              GATEWAY="192.168.72.2"
              DNS1="114.114.114.114"
              DNS2="192.168.72.254"
              IPV6_PRIVACY="no"
              [root@cloudera1 ~]#

              注意,上面的静态配置里面,指定了我们自建的DNS服务器地址【DNS2=XXX】


              时间服务器(NTP):启用

                [root@cloudera1 ~]# service ntpd status
                Redirecting to bin/systemctl status ntpd.service
                ntpd.service - Network Time Service
                Loaded: loaded (/usr/lib/systemd/system/ntpd.service; enabled; vendor preset: disabled)
                Active: active (running) since Thu 2020-04-09 18:06:36 CST; 3h 46min ago
                Process: 9846 ExecStart=/usr/sbin/ntpd -u ntp:ntp $OPTIONS (code=exited, status=0/SUCCESS)
                Main PID: 9885 (ntpd)
                Tasks: 1
                CGroup: /system.slice/ntpd.service
                └─9885 /usr/sbin/ntpd -u ntp:ntp -g


                Apr 09 18:06:39 cloudera1.adamhuan.com ntpd[9885]: Listen normally on 4 ens32 192.168...3
                Apr 09 18:06:39 cloudera1.adamhuan.com ntpd[9885]: Listen normally on 5 ens32 fe80::9...3
                Apr 09 18:06:39 cloudera1.adamhuan.com ntpd[9885]: new interface(s) found: waking up ...r
                Apr 09 18:06:42 cloudera1.adamhuan.com ntpd[9885]: Listen normally on 6 virbr0 192.16...3
                Apr 09 18:06:42 cloudera1.adamhuan.com ntpd[9885]: new interface(s) found: waking up ...r
                Apr 09 18:06:46 cloudera1.adamhuan.com ntpd[9885]: 0.0.0.0 c61c 0c clock_step -0.281372 s
                Apr 09 18:06:46 cloudera1.adamhuan.com ntpd[9885]: 0.0.0.0 c614 04 freq_mode
                Apr 09 18:06:47 cloudera1.adamhuan.com ntpd[9885]: 0.0.0.0 c618 08 no_sys_peer
                Apr 09 18:22:03 cloudera1.adamhuan.com ntpd[9885]: 0.0.0.0 c612 02 freq_set kernel 12...M
                Apr 09 18:22:03 cloudera1.adamhuan.com ntpd[9885]: 0.0.0.0 c615 05 clock_sync
                Hint: Some lines were ellipsized, use -l to show in full.
                [root@cloudera1 ~]#
                [root@cloudera1 ~]# cat etc/ntp.conf | grep -v "^#" | strings
                driftfile /var/lib/ntp/drift
                restrict default nomodify notrap nopeer noquery
                restrict 127.0.0.1
                restrict ::1
                server 192.168.72.254 iburst
                includefile /etc/ntp/crypto/pw
                keys /etc/ntp/keys
                disable monitor
                [root@cloudera1 ~]#

                SELinux:disable

                  [root@cloudera1 ~]# getenforce 
                  Disabled
                  [root@cloudera1 ~]# sestatus
                  SELinux status: disabled
                  [root@cloudera1 ~]#
                  [root@cloudera1 ~]# sed -i '/SELINUX/s/enforcing/disabled/g' etc/selinux/config
                  [root@cloudera1 ~]#
                  [root@cloudera1 ~]# cat etc/selinux/config


                  # This file controls the state of SELinux on the system.
                  # SELINUX= can take one of these three values:
                  # enforcing - SELinux security policy is enforced.
                  # permissive - SELinux prints warnings instead of enforcing.
                  # disabled - No SELinux policy is loaded.
                  SELINUX=disabled
                  # SELINUXTYPE= can take one of three values:
                  # targeted - Targeted processes are protected,
                  # minimum - Modification of targeted policy. Only selected processes are protected.
                  # mls - Multi Level Security protection.
                  SELINUXTYPE=targeted




                  [root@cloudera1 ~]#

                  防火墙:禁用

                    [root@cloudera1 ~]# systemctl status firewalld
                    ● firewalld.service - firewalld - dynamic firewall daemon
                    Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
                    Active: inactive (dead)
                    Docs: man:firewalld(1)
                    [root@cloudera1 ~]#

                    YUM:启用【缓存】

                      [root@cloudera1 ~]# sed -i '/keepcache/s/0/1/g' etc/yum.conf
                      [root@cloudera1 ~]#
                      [root@cloudera1 ~]# cat etc/yum.conf
                      [main]
                      cachedir=/var/cache/yum/$basearch/$releasever
                      keepcache=1
                      debuglevel=2
                      logfile=/var/log/yum.log
                      exactarch=1
                      obsoletes=1
                      gpgcheck=1
                      plugins=1
                      installonly_limit=3


                      # This is the default, if you make this bigger yum won't see if the metadata
                      # is newer on the remote and so you'll "gain" the bandwidth of not having to
                      # download the new metadata and "pay" for it by yum not having correct
                      # information.
                      # It is esp. important, to have correct metadata, for distributions like
                      # Fedora which don't keep old packages around. If you don't like this checking
                      # interupting your command line usage, it's much better to have something
                      # manually check the metadata once an hour (yum-updatesd will do this).
                      # metadata_expire=90m


                      # PUT YOUR REPOS HERE OR IN separate files named file.repo
                      # in etc/yum.repos.d
                      [root@cloudera1 ~]#

                      【keepcache=1】就打开了YUM的RPM包缓存功能;


                      YUM:源

                        [root@cloudera1 ~]# ls -ltr etc/yum.repos.d/
                        total 20
                        -rw-r--r-- 1 root root 2424 Apr 8 15:45 docker-ce.repo
                        -rw-r--r-- 1 root root 954 Apr 8 15:45 epel.repo
                        -rw-r--r-- 1 root root 2501 Apr 8 15:45 percona-release.repo
                        -rw-r--r--. 1 root root 358 Apr 8 15:45 redhat.repo
                        -rw-r--r-- 1 root root 1544 Apr 8 15:45 tsinghua.repo
                        [root@cloudera1 ~]#

                        文件:【/etc/hosts】

                          [root@cloudera1 ~]# cat etc/hosts
                          #127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
                          #::1 localhost localhost.localdomain localhost6 localhost6.localdomain6


                          # Local
                          127.0.0.1 localhost.localdomain localhost


                          # Public
                          192.168.72.11 cloudera1.adamhuan.com cloudera1
                          192.168.72.12 cloudera2.adamhuan.com cloudera2
                          192.168.72.13 cloudera3.adamhuan.com cloudera3
                          192.168.72.14 cloudera4.adamhuan.com cloudera4
                          192.168.72.15 cloudera5.adamhuan.com cloudera5


                          # Finished
                          [root@cloudera1 ~]#

                          主机名

                            [root@cloudera1 ~]# cat etc/hostname
                            cloudera1.adamhuan.com
                            [root@cloudera1 ~]#

                            主机名要和DNS中的配置相匹配;


                            Java支持

                              yum install -y oracle-j2sdk1.8


                              05            

                              Cloudera:安装介质的获取


                              Cloudera的官方下载网站是:

                              https://www.cloudera.com/downloads.html


                              其中:

                              CM的下载页面是:

                              https://www.cloudera.com/downloads/manager.html


                              CDH的下载页面是:

                              https://www.cloudera.com/downloads/cdh.html

                              不过,现在要下载CDH最新版本的话,需要有Cloudera官方的许可;


                              除了官网页面可以访问到的上面两个路径可以下载到对应的安装介质之外,还可以通过Cloudera的Archive获取安装包:

                              CM:

                              https://archive.cloudera.com/cm6/


                              CDH:

                              https://archive.cloudera.com/cdh6/


                              06            

                              通过离线的HTTPD分发Cloudera安装介质


                              在前一个小节里面,你可以看到Cloudera的CM和CDH的安装介质中,有的文件大小非常的大,有的甚至达到了1G的大小;


                              如果我们通过Cloudera的安装脚本或者CM工具,执行在线的安装,那么会通过网络效率很低的下载1G左右的数据,这样安装过程的时间会非常的不可控;


                              因此,比较好的做法是:

                              首先,将Cloudera的安装需要用到的介质全部下载到本地;

                              然后,在离线的私网中搭建HTTPD服务来分发安装介质;


                              这样,离线的网络速度肯定比在线的效率高得多。


                              在我的环境中,我的HTTPD服务安装在节点服务器【cloudera1】上面;


                              一、将安装介质上传到服务器上的【/software】目录,并且对RPM包目录执行【createrepo】

                                [root@cloudera1 ~]# ls -ltr software
                                total 4
                                drwxr-xr-x 4 root root 32 Apr 8 20:34 cdh
                                drwxr-xr-x 2 root root 4096 Apr 8 20:35 cm
                                [root@cloudera1 ~]#
                                [root@cloudera1 ~]# du -sh software
                                14G /software
                                [root@cloudera1 ~]#
                                [root@cloudera1 ~]# du -sh /software/*
                                12G /software/cdh
                                1.4G /software/cm
                                [root@cloudera1 ~]#
                                [root@cloudera1 software]# pwd
                                /software
                                [root@cloudera1 software]#
                                [root@cloudera1 software]# ls
                                cdh cm
                                [root@cloudera1 software]#
                                [root@cloudera1 software]# createrepo cm/
                                Spawning worker 0 with 2 pkgs
                                Spawning worker 1 with 2 pkgs
                                Spawning worker 2 with 1 pkgs
                                Spawning worker 3 with 1 pkgs
                                Workers Finished
                                Saving Primary metadata
                                Saving file lists metadata
                                Saving other metadata
                                Generating sqlite DBs
                                Sqlite DBs complete
                                [root@cloudera1 software]#
                                [root@cloudera1 software]# ls cm/ | grep repo
                                repodata
                                [root@cloudera1 software]#
                                [root@cloudera1 software]# ls cdh/
                                parcels rpm
                                [root@cloudera1 software]#
                                [root@cloudera1 software]# createrepo cdh/rpm/
                                Spawning worker 0 with 23 pkgs
                                Spawning worker 1 with 23 pkgs
                                Spawning worker 2 with 22 pkgs
                                Spawning worker 3 with 22 pkgs
                                Workers Finished
                                Saving Primary metadata
                                Saving file lists metadata
                                Saving other metadata
                                Generating sqlite DBs
                                Sqlite DBs complete
                                [root@cloudera1 software]#
                                [root@cloudera1 software]# ls cdh/rpm/ | grep repo
                                repodata
                                [root@cloudera1 software]#

                                二、安装HTTPD服务

                                  [root@cloudera1 ~]# yum install -y httpd
                                  Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-
                                  : manager
                                  This system is not registered with an entitlement server. You can use subscription-manager to register.
                                  base | 3.6 kB 00:00
                                  docker-ce-stable | 3.5 kB 00:00
                                  epel | 4.7 kB 00:00
                                  extras | 2.9 kB 00:00
                                  percona-release-noarch | 2.9 kB 00:04
                                  percona-release-x86_64 | 2.9 kB 00:00
                                  Package httpd-2.4.6-90.el7.centos.x86_64 already installed and latest version
                                  Nothing to do
                                  [root@cloudera1 ~]#

                                  三、配置HTTPD服务

                                    [root@cloudera1 ~]# cat /etc/httpd/conf/httpd.conf | grep -v "#" | strings ServerRoot "/etc/httpd"
                                    Listen 80
                                    Include conf.modules.d/*.conf
                                    User apache
                                    Group apache
                                    ServerAdmin root@localhostAllowOverride none
                                    Require all deniedDocumentRoot "/var/www/html"AllowOverride None
                                    Require all grantedOptions Indexes FollowSymLinks
                                    AllowOverride None
                                    Require all grantedDirectoryIndex index.htmlRequire all deniedErrorLog "logs/error_log"
                                    LogLevel warnLogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
                                    LogFormat "%h %l %u %t \"%r\" %>s %b" commonLogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedioCustomLog "logs/access_log" combinedScriptAlias /cgi-bin/ "/var/www/cgi-bin/"AllowOverride None
                                    Options None
                                    Require all grantedTypesConfig /etc/mime.types
                                    AddType application/x-compress .Z
                                    AddType application/x-gzip .gz .tgz .parcel
                                    AddType text/html .shtml
                                    AddOutputFilter INCLUDES .shtmlAddDefaultCharset UTF-8MIMEMagicFile conf/magicEnableSendfile on
                                    IncludeOptional conf.d/*.conf
                                    [root@cloudera1 ~]#
                                    [root@cloudera1 ~]# cat /etc/httpd/conf/httpd.conf | grep "parcel"
                                    AddType application/x-gzip .gz .tgz .parcel
                                    [root@cloudera1 ~]#
                                    [root@cloudera1 ~]# cat /etc/httpd/conf/httpd.conf | grep -n "parcel"
                                    284: AddType application/x-gzip .gz .tgz .parcel
                                    [root@cloudera1 ~]#

                                    如上,只是在【x-gzip】后面增加了【.parcel】

                                    四、启动HTTPD服务

                                      [root@cloudera1 ~]# service httpd start
                                      Redirecting to /bin/systemctl start httpd.service
                                      [root@cloudera1 ~]#
                                      [root@cloudera1 ~]# service httpd status
                                      Redirecting to /bin/systemctl status httpd.service
                                      ● httpd.service - The Apache HTTP Server
                                      Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
                                      Active: active (running) since Wed 2020-04-08 17:49:28 CST; 5h 46min ago
                                      Docs: man:httpd(8)
                                      man:apachectl(8)
                                      Main PID: 23091 (httpd)
                                      Status: "Total requests: 18; Current requests/sec: 0; Current traffic: 0 B/sec"
                                      Tasks: 11
                                      CGroup: /system.slice/httpd.service
                                      ├─23091 /usr/sbin/httpd -DFOREGROUND
                                      ├─23094 /usr/sbin/httpd -DFOREGROUND
                                      ├─23095 /usr/sbin/httpd -DFOREGROUND
                                      ├─23096 /usr/sbin/httpd -DFOREGROUND
                                      ├─23097 /usr/sbin/httpd -DFOREGROUND
                                      ├─26245 /usr/sbin/httpd -DFOREGROUND
                                      ├─26246 /usr/sbin/httpd -DFOREGROUND
                                      ├─26248 /usr/sbin/httpd -DFOREGROUND
                                      ├─26249 /usr/sbin/httpd -DFOREGROUND
                                      ├─26250 /usr/sbin/httpd -DFOREGROUND
                                      └─26251 /usr/sbin/httpd -DFOREGROUND


                                      Apr 08 17:49:28 cloudera1 systemd[1]: Starting The Apache HTTP Server...
                                      Apr 08 17:49:28 cloudera1 httpd[23091]: AH00558: httpd: Could not relia...e
                                      Apr 08 17:49:28 cloudera1 systemd[1]: Started The Apache HTTP Server.
                                      Hint: Some lines were ellipsized, use -l to show in full.
                                      [root@cloudera1 ~]#
                                      [root@cloudera1 ~]# netstat -tupln | grep 80
                                      tcp6 0 0 :::80 :::* LISTEN 23091/httpd
                                      udp 0 0 0.0.0.0:33145 0.0.0.0:* 9780/avahi-daemon:
                                      udp 0 0 0.0.0.0:5353 0.0.0.0:* 9780/avahi-daemon:
                                      udp6 0 0 fe80::982e:a694:efa:123 :::* 21973/ntpd
                                      [root@cloudera1 ~]#

                                      五、在HTTPD服务的WEB根目录中,创建软链接

                                        [root@cloudera1 ~]# cd /var/www/html/
                                        [root@cloudera1 html]# ll
                                        total 0
                                        [root@cloudera1 html]#
                                        [root@cloudera1 html]# ln -s /software/ software
                                        [root@cloudera1 html]# ll
                                        total 0
                                        lrwxrwxrwx 1 root root 10 Apr 8 22:57 software -> /software/
                                        [root@cloudera1 html]#

                                        六、通过网页浏览器查看配好的HTTPD服务,验证配置是否成功

                                        可以看到,通过HTTPD分发Cloudera的安装介质,已经配置成功。

                                        七、基于网页分发的RPM的源文件

                                          [root@cloudera1 ~]# yum repolist
                                          Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-
                                          : manager
                                          This system is not registered with an entitlement server. You can use subscription-manager to register.
                                          local_cloudera_cdh | 2.9 kB 00:00
                                          local_cloudera_cm | 2.9 kB 00:00
                                          updates | 2.9 kB 00:00
                                          (1/2): local_cloudera_cdh/primary_db | 53 kB 00:00
                                          (2/2): local_cloudera_cm/primary_db | 8.6 kB 00:00
                                          repo id repo name status
                                          base/x86_64 CentOS-7 - Base 10,097
                                          docker-ce-stable/x86_64 Docker CE Stable - x86_64 70
                                          epel/x86_64 Extra Packages for Enterprise 13,229
                                          extras/x86_64 CentOS-7 - Extras 341
                                          local_cloudera_cdh cloudera_cdh_local 90
                                          local_cloudera_cm cloudera_cm_local 6
                                          percona-release-noarch/7Server Percona-Release YUM repository 53
                                          percona-release-x86_64/7Server/x86_64 Percona-Release YUM repository 1,985
                                          updates/x86_64 CentOS-7 - Updates 1,787
                                          repolist: 27,658
                                          [root@cloudera1 ~]#
                                          [root@cloudera1 ~]# cat /etc/yum.repos.d/local_cloudera.repo
                                          [local_cloudera_cm]
                                          name=cloudera_cm_local
                                          baseurl=http://192.168.72.11/software/cm
                                          gpgcheck=0


                                          [local_cloudera_cdh]
                                          name=cloudera_cdh_local
                                          baseurl=http://192.168.72.11/software/cdh/rpm
                                          gpgcheck=0
                                          [root@cloudera1 ~]#

                                          这里的YUM源的配置,要同步到集群的所有节点。


                                          07            

                                          Cloudera Manager【CM】:安装
                                                     


                                          【CM Server】

                                          在我的环境里,在【cloudera1】上安装:

                                            yum install cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server


                                            【CM Agent】

                                            在我的环境里,在【所有节点上】上安装:

                                              yum install cloudera-manager-agent cloudera-manager-daemons


                                              08            

                                              Cloudera Manager【CM】:启动服务


                                              零、所有节点安装【MySQL JDBC Driver】

                                                yum install -y mysql-connector-java


                                                一、【Cloudera Manager / Agent】

                                                  [root@cloudera2 ~]# systemctl enable cloudera-scm-agent
                                                  [root@cloudera2 ~]# systemctl start cloudera-scm-agent
                                                  [root@cloudera2 ~]# systemctl status cloudera-scm-agent
                                                  cloudera-scm-agent.service - Cloudera Manager Agent Service
                                                  Loaded: loaded (/usr/lib/systemd/system/cloudera-scm-agent.service; enabled; vendor preset: disabled)
                                                  Active: active (running) since Thu 2020-04-09 01:03:46 CST; 1min 21s ago
                                                  Main PID: 17766 (cmagent)
                                                  Tasks: 21
                                                  CGroup: /system.slice/cloudera-scm-agent.service
                                                  └─17766 /usr/bin/python2 /opt/cloudera/cm-agent/bin/cm agent


                                                  Apr 09 01:03:48 cloudera2 cm[17766]: [09/Apr/2020 01:03:48 +0000] 17766...d
                                                  Apr 09 01:03:48 cloudera2 cm[17766]: [09/Apr/2020 01:03:48 +0000] 17766...e
                                                  Apr 09 01:03:48 cloudera2 cm[17766]: [09/Apr/2020 01:03:48 +0000] 17766...s
                                                  Apr 09 01:03:48 cloudera2 cm[17766]: [09/Apr/2020 01:03:48 +0000] 17766...s
                                                  Apr 09 01:03:48 cloudera2 cm[17766]: [09/Apr/2020 01:03:48 +0000] 17766...s
                                                  Apr 09 01:03:48 cloudera2 cm[17766]: [09/Apr/2020 01:03:48 +0000] 17766...g
                                                  Apr 09 01:03:52 cloudera2 cm[17766]: status_server: added process group
                                                  Apr 09 01:03:52 cloudera2 cm[17766]: flood: added process group
                                                  Apr 09 01:03:54 cloudera2 cm[17766]: /opt/cloudera/cm-agent/lib/python2...0
                                                  Apr 09 01:03:54 cloudera2 cm[17766]: warnings.warn(msg, RuntimeWarning)
                                                  Hint: Some lines were ellipsized, use -l to show in full.
                                                  [root@cloudera2 ~]#

                                                  二、【Cloudera Manager / Server】

                                                  设置【CM Server】与数据库的关联

                                                    [root@cloudera1 ~]# find /opt -name "scm_prepare_database.sh"
                                                    /opt/cloudera/cm/schema/scm_prepare_database.sh
                                                    [root@cloudera1 ~]#
                                                    [root@cloudera1 ~]# /opt/cloudera/cm/schema/scm_prepare_database.sh -h 192.168.72.21 mysql scm scm
                                                    Enter SCM password:
                                                    JAVA_HOME=/usr/java/jdk1.8.0_181-cloudera
                                                    Verifying that we can write to /etc/cloudera-scm-server
                                                    Creating SCM configuration file in /etc/cloudera-scm-server
                                                    Executing: /usr/java/jdk1.8.0_181-cloudera/bin/java -cp /usr/share/java/mysql-connector-java.jar:/usr/share/java/oracle-connector-java.jar:/usr/share/java/postgresql-connector-java.jar:/opt/cloudera/cm/schema/../lib/* com.cloudera.enterprise.dbutil.DbCommandExecutor /etc/cloudera-scm-server/db.properties com.cloudera.cmf.db.
                                                    [ main] DbCommandExecutor INFO Successfully connected to database.
                                                    All done, your SCM database is configured correctly!
                                                    [root@cloudera1 ~]#
                                                    [root@cloudera1 ~]# cat /etc/cloudera-scm-server/db.properties
                                                    # Auto-generated by scm_prepare_database.sh on Thu Apr 9 10:58:09 CST 2020
                                                    #
                                                    # For information describing how to configure the Cloudera Manager Server
                                                    # to connect to databases, see the "Cloudera Manager Installation Guide."
                                                    #
                                                    com.cloudera.cmf.db.type=mysql
                                                    com.cloudera.cmf.db.host=192.168.72.21
                                                    com.cloudera.cmf.db.name=scm
                                                    com.cloudera.cmf.db.user=scm
                                                    com.cloudera.cmf.db.setupType=EXTERNAL
                                                    com.cloudera.cmf.db.password=这里会显示你的密码
                                                    [root@cloudera1 ~]#

                                                    这时候,就可以启动服务了:

                                                      systemctl enable cloudera-scm-server
                                                      systemctl start cloudera-scm-server

                                                      在【CM Server】服务启动的过程中,会完成对上一步关联的数据库的初始化工作;初始化的过程可以在【cloudera-scm-server】的后台日志中看到;


                                                      日志位置:/var/log/cloudera-scm-server/cloudera-scm-server.log

                                                        2020-04-09 11:11:49,925 INFO WebServerImpl:org.eclipse.jetty.server.AbstractConnector: Started ServerConnector@35812541{HTTP/1.1,[http/1.1]}{0.0.0.0:7180}
                                                        2020-04-09 11:11:49,927 INFO WebServerImpl:org.eclipse.jetty.server.Server: Started @325820ms
                                                        2020-04-09 11:11:49,927 INFO WebServerImpl:com.cloudera.server.cmf.WebServerImpl: Started Jetty server.

                                                        如上,当日志内容出现了【Started Jetty server.】,则表示【CM Server】服务启动成功 这时候,查看系统的网络端口监听情况,你会发现,默认监听在了:7180

                                                          [root@cloudera1 ~]# netstat -tupln | grep 7180
                                                          tcp 0 0 0.0.0.0:7180 0.0.0.0:* LISTEN 12543/java
                                                          [root@cloudera1 ~]#

                                                          当服务启动完成后,你再次查看MySQL的状态,会发现目标库中的表已经创建好了;而在之前,这个库是个空库;

                                                            [root@percona-mysql-01 mysql]# mysql -u scm -p
                                                            Enter password:
                                                            Welcome to the MySQL monitor. Commands end with ; or \g.
                                                            Your MySQL connection id is 2871
                                                            Server version: 5.7.28-31-57-log Percona XtraDB Cluster (GPL), Release rel31, Revision ef2fa88, WSREP version 31.41, wsrep_31.41


                                                            Copyright (c) 2009-2019 Percona LLC and/or its affiliates
                                                            Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.


                                                            Oracle is a registered trademark of Oracle Corporation and/or its
                                                            affiliates. Other names may be trademarks of their respective
                                                            owners.


                                                            Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.


                                                            mysql> show databases;
                                                            +--------------------+
                                                            | Database |
                                                            +--------------------+
                                                            | information_schema |
                                                            | scm |
                                                            +--------------------+
                                                            2 rows in set (0.01 sec)


                                                            mysql> use scm
                                                            Database changed
                                                            mysql> show tables;
                                                            Empty set (0.00 sec)


                                                            mysql>
                                                            mysql> show tables;
                                                            +--------------------------------+
                                                            | Tables_in_scm |
                                                            +--------------------------------+
                                                            | AUDITS |
                                                            | AUTH_ROLES |
                                                            | AUTH_ROLES_SCOPES |
                                                            | CLIENT_CONFIGS |
                                                            | CLIENT_CONFIGS_TO_HOSTS |
                                                            | CLUSTERS |
                                                            | CLUSTERS_AUD |
                                                            | CLUSTER_ACTIVATED_RELEASES |
                                                            | CLUSTER_ACTIVATED_RELEASES_AUD |
                                                            | CLUSTER_MANAGED_RELEASES |
                                                            | CLUSTER_UNDISTRIBUTED_RELEASES |
                                                            | CM_PEERS |
                                                            | CM_VERSION |
                                                            | COMMANDS |
                                                            | COMMANDS_DETAIL |
                                                            | COMMAND_SCHEDULES |
                                                            | CONFIGS |
                                                            | CONFIGS_AUD |
                                                            | CONFIG_CONTAINERS |
                                                            | CREDENTIALS |
                                                            | DATA_CONTEXTS |
                                                            | DATA_CONTEXT_TO_BASE_SERVICE |
                                                            | DIAGNOSTICS_EVENTS |
                                                            | EXTERNAL_ACCOUNTS |
                                                            | EXTERNAL_ACCOUNTS_AUD |
                                                            | EXTERNAL_MAPPINGS |
                                                            | EXTERNAL_MAPPING_AUTH_ROLES |
                                                            | GLOBAL_SETTINGS |
                                                            | HOSTS |
                                                            | HOSTS_AUD |
                                                            | HOST_TEMPLATES |
                                                            | HOST_TEMPLATE_TO_ROLE_CONF_GRP |
                                                            | METRICS |
                                                            | PARCELS |
                                                            | PARCEL_COMPONENTS |
                                                            | PROCESSES |
                                                            | PROCESSES_DETAIL |
                                                            | PROCESS_ACTIVE_RELEASES |
                                                            | RELEASES |
                                                            | RELEASES_AUD |
                                                            | REVISIONS |
                                                            | ROLES |
                                                            | ROLES_AUD |
                                                            | ROLE_CONFIG_GROUPS |
                                                            | ROLE_CONFIG_GROUPS_AUD |
                                                            | ROLE_STALENESS_STATUS |
                                                            | SCHEMA_VERSION |
                                                            | SERVICES |
                                                            | SERVICES_AUD |
                                                            | SNAPSHOT_POLICIES |
                                                            | USERS |
                                                            | USER_AUTH_ROLES |
                                                            | USER_ROLES |
                                                            | USER_SETTINGS |
                                                            +--------------------------------+
                                                            54 rows in set (0.00 sec)


                                                            mysql>


                                                            09            

                                                            Cloudera Manager【CM】:集群安装


                                                            在前面的步骤完成后,你就可以通过网页浏览器查看【Cloudera Manager】了;

                                                            在我的环境中,CM的地址是:

                                                            http://192.168.72.11:7180


                                                            默认口令:admin / admin

                                                            这里就可以,配置之前设置的离线的安装介质分发路径;

                                                            等待一段时间;

                                                            其实,这个过程也可以在CM的Parcel管理界面看到更详细的状态:

                                                            回到CM的安装界面:


                                                            10

                                                            Cloudera Manager【CM】:集群设置


                                                            选择你需要安装的服务组合;

                                                            这里,我只希望安装最简单的,因此我选择自定义:

                                                            选择:HDFS + YARN

                                                            分配服务的角色:

                                                            为服务设置后端数据库:

                                                            这一步的数据库在前面的【数据库准备】阶段,已经创建了对应的空库;

                                                            只有测试成功了【Successful】才能接下来【继续】;


                                                            是否需要更改服务的配置?

                                                            如果希望保持默认,没有什么需要更改的话,直接【继续】;


                                                            然后,等待一段时间:

                                                            然后,命令执行就成功了:

                                                            最后,安装就成功了:


                                                            11            

                                                            Cloudera Manager:体验刚刚部署的【CDH】


                                                            主页:

                                                            全部主机状态:

                                                            服务HDFS状态:

                                                            服务YARN状态:


                                                            12

                                                            终了
                                                                       


                                                            至此,Cloudera CM + CDH的部署,完成。

                                                            文章转载自Nephilim,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                                                            评论