Cloudera Manager CDH 离线安装

注:离线安装只是针对CM、CDH、数据库等较大的模块,中途如果需要安装其它相关依赖的组件,还是选择的在线安装,这些组件都很小不会有什么影响。如果使用的虚拟机实在没有网络,那么下载到宿主机之后上传安装也可以,只是需要自己处理一些依赖。

一、环境准备

1.1 虚拟机准备

由于环境限制,我这里准备四台虚拟机,并且固定ip为:192.168.0.198、192.168.0.210、192.168.0.211、192.168.0.212

1.2、配置hostname和hosts。

首先我们每个主机的hostname不能重复,同时/etc/hosts中每个主机的规范名称按照FQDN格式(比如host01.example.com)设置。然后我们需要把每个节点的主机名解析都定义到其它节点的hosts中。所以现在我们为4台虚拟机配置hosts如下:

ip 主机名 hosts配置
192.168.0.198 cdh-01.echatsoft.com

192.168.0.198 cdh-01.echatsoft.com cdh-01

192.168.0.210 cdh-02.echatsoft.com cdh-02

192.168.0.211 cdh-03.echatsoft.com cdh-03

192.168.0.212 cdh-04.echatsoft.com cdh-04

192.168.0.210 cdh-02.echatsoft.com

192.168.0.198 cdh-01.echatsoft.com cdh-01

192.168.0.210 cdh-02.echatsoft.com cdh-02

192.168.0.211 cdh-03.echatsoft.com cdh-03

192.168.0.212 cdh-04.echatsoft.com cdh-04

扫描二维码关注公众号,回复: 12681376 查看本文章
192.168.0.211 cdh-03.echatsoft.com

192.168.0.198 cdh-01.echatsoft.com cdh-01

192.168.0.210 cdh-02.echatsoft.com cdh-02

192.168.0.211 cdh-03.echatsoft.com cdh-03

192.168.0.212 cdh-04.echatsoft.com cdh-04

192.168.0.212 cdh-04.echatsoft.com

192.168.0.198 cdh-01.echatsoft.com cdh-01

192.168.0.210 cdh-02.echatsoft.com cdh-02

192.168.0.211 cdh-03.echatsoft.com cdh-03

192.168.0.212 cdh-04.echatsoft.com cdh-04

注:修改主机名,通过vim /etc/hostname修改即可;修改hosts,通过vim /etc/hosts修改即可

1.3 配置各个主机ssh免密登录

后面使用CM管理节点的时候需要ssh服务,所以我们先把免密登录配置了。

1.3.1 生成公钥和私钥

假设我们要实现cdh-02(192.168.0.210)和cdh-03(192.168.0.211)互相免密登录,需要做以下步骤:

首先cd到 ~/.ssh目录(如果没有该目录,创建即可),执行ssh-keygen指令,一路回车,如下所示:

[root@cdh-02 ~]# cd ~/.ssh
[root@cdh-02 .ssh]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
8b:70:f0:b3:db:6e:2c:ae:81:20:e9:79:07:cb:4c:b7 [email protected]
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|                 |
|    .            |
| .   o           |
|+  o..+ S        |
|o.=.+o.+ .       |
| o.=.Eo..        |
|  . ...oo        |
|    .oo+o        |
+-----------------+
[root@cdh-02 .ssh]# ll
total 16
-rw-------. 1 root root 1675 May 17 00:30 id_rsa
-rw-r--r--. 1 root root  407 May 17 00:30 id_rsa.pub
-rw-r--r--. 1 root root  346 May 17 00:30 known_hosts
[root@cdh-02 .ssh]# 

在cdh-02和cdh-03上都执行上述步骤,然后两台机器上都会生成~/.ssh/id_rsa.pub文件,我们将cdh-02上的该文件发送到cdh-03机器的~/.ssh/authorized_keys 文件中,使用ssh-copy-id指令完成发送,如下所示:

[root@cdh-02 .ssh]# ssh-copy-id -i ./id_rsa.pub 192.168.0.211
The authenticity of host '192.168.0.211 (192.168.0.211)' can't be established.
ECDSA key fingerprint is b1:98:56:7b:ec:6e:c6:3a:43:1f:f0:dd:88:8a:47:72.
Are you sure you want to continue connecting (yes/no)? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
[email protected]'s password: 

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh '192.168.0.211'"
and check to make sure that only the key(s) you wanted were added.

[root@cdh-02 .ssh]# 

然后再cdh-02机器上就可以免密登录到cdh-03了:

[root@cdh-02 .ssh]# ssh 192.168.0.211
Last login: Fri May 17 00:14:30 2019 from 192.168.0.61
[root@cdh-03 ~]# 

同样,把cdh-03的id_rsa.pub添加到cdh-02的authorized_keys ,也就能实现cdh-03免密登录到cdh-02了。

所以要我们所有节点都相互实现ssh免密登录,只需要在每个节点上到~/.ssh目录使用ssh-keygen指令生成id_rsa.pub,然后将每个节点的id_rsa.pub通过ssh-copy-id发送到其它所有节点的authorized_keys即可。

1.3 关闭防火墙

在每台机器上都执行以下操作,以关闭防火墙:

[root@cdh-03 ~] systemctl disable firewalld
[root@cdh-03 ~] systemctl stop firewalld

1.4 关闭SELINUX

执行getenforce指令查看selinux状态,如果输出为:enforcing,则需要处理一下,否则可以跳过这一步。

修改/etc/selinux/config文件(在某些系统中,可能是/etc/sysconfig/selinux文件),将SELINUX=enforcing修改为SELINUX=permissive:

更新配置之后要重启服务器生效,或者执行:setenforce 0,使其立即生效。

1.5 配置NTP(网络时间协议)服务

集群中的节点要求时钟同步,我们使用NTP来同步时间(这里简单使每个主机与外部server同步,如果要自己组建ntp同步集群,在网上搜搜就有教程了哈)。

每个节点安装ntp:

[root@cdh-03 ~] yum -y install ntp

然后修改每个节点的:/etc/ntp.conf文件,增加server:

server 0.pool.ntp.org

server 1.pool.ntp.org

server 2.pool.ntp.org

启动ntpd服务:

[root@cdh-03 ~] service ntpd start

使用ntpstat查看同步状态,可能需要几分钟时间:

[root@cdh-04 ~]# ntpstat
unsynchronised
  time server re-starting
   polling server every 8 s
[root@cdh-04 ~]# 

输出synchornised to NTP server表示完成同步:

[root@cdh-04 ~]# ntpstat
synchronised to NTP server (119.28.206.193) at stratum 3 
   time correct to within 119 ms
   polling server every 64 s
[root@cdh-04 ~]# 

1.6 确认Python环境

由于Hue是基于Python的Django框架的,所以需要在Hue主机上安装Python环境。CDH 6+需要Python2.7版本,博主使用的Centos-7中默认集成了该版本Python,所以不用处理。如果要集成CDH 6+版本下的Hue,则需要保证对应的Python版本。

1.7 安装JDK

这步就不说了哈,需要使用1.8版本,同时将jdk目录指定到/usr/java/jdk{version}。比如我们安装jdk1.8,那么JAVA_HOME就指定为:/usr/java/jdk1.8

export JAVA_HOME=/usr/java/jdk1.8

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

二、安装Cloudera Manager

由于安装包上G,在线下载巨慢,所以这里采取离线安装的方式。

2.1 版本选择

目前最高版本为6.2.0,我就直接选择6.2.0版本进行安装。

2.2 下载所需文件

确定好自己的系统和所需版本之后,到https://archive.cloudera.com下载对应的rpm包,博主当前下载redhat 7下的6.2.0版本:

这里我们暂时只需要用到cloudera-manager-agent、cloudera-manager-daemons和cloudera-manager-server三个rpm包,先下载这三个rpm就可以了。

2.3 安装

为了避免安装过程的一些奇葩问题,我们则直接使用root用户进行安装,并且我们选一个节点当做server节点,来布置server,这里我们选择192.168.0.211节点,也就是cdh-03节点。

接下来我们要在该节点上安装agent、daemons和server。

2.3.1 安装daemons

执行以下命令即可安装daemons:

rpm -ivh cloudera-manager-daemons-6.2.0-968826.el7.x86_64.rpm

2.3.2 安装agent

执行以下命令即可安装agent:

rpm -ivh cloudera-manager-agent-6.2.0-968826.el7.x86_64.rpm 

注:当前环境可能由于缺少agent需要依赖的组件导致安装失败,根据提示进行安装即可。博主简单整理了一下依赖的组件和对应的安装命令(可能不全,根据实际环境安装依赖):

httpd yum -y install httpd
mod_ssl yum -y install mod_ssl
openssl-devel yum -y install openssl-devel
python-psycopg2 yum -y install python-psycopg2
MySQL-python yum -y install MySQL-python
libpq.so.5()(64bit) yum -y install postgresql-libs.x86_64
init-functions yum -y  install redhat-lsb

如果还有异常,则根据提示进行解决。

2.3.3 安装 server

执行以下命令即可安装server:

rpm -ivh cloudera-manager-server-6.2.0-968826.el7.x86_64.rpm

注:如果您将使用Oracle数据库,那么可能需要修改/etc/default/cloudera-scm-server文件的CMF_JAVA_OPTS参数,其默认-Xmx是2G,将其调整大点(4G):

2.4 配置 Auto-TLS

通过Auto-TLS可以方便的管理内外部证书颁发机构和相应的证书,但这一步目前不是必须的,大家可以根据自己需要进行配置,我们这里跳过该步骤。

2.5 安装数据库

CM会依赖数据库存取很多东西,所以需要配置数据库,而我们有多种数据库选择,mysql、oracle、mariaDB等等,这里我还是选择使用MySQL。当然如果环境中已经安装有了数据库,那么可以跳过安装的步骤。

mysql安装比较简单,这里简单介绍就可以了哈,考虑到网络原因,还是采取离线安装的方式,我选择的是5.7.20版本,为了方便也直接将mysql安装到server节点。

2.5.1 创建mysql用户组和用户

使用groupadd 和useradd命令即可:

[root@cdh-02 ~]# cat /etc/group |grep mysql
[root@cdh-02 ~]# groupadd mysql
[root@cdh-02 ~]# useradd -r -g mysql mysql
[root@cdh-02 ~]# cat /etc/group |grep mysql
mysql:x:1001:
[root@cdh-02 ~]#

2.5.2 安装准备

首先下载软件包:

https://dev.mysql.com/downloads/file/?id=473563

我们还是将Mysql安装到/usr/local目录,当然要保证空间充足。将下载好的tar文件放到/usr/local目录,然后解压,解压出来有两个文件:

[root@cdh-03 local]# tar -xvf mysql-5.7.20-linux-glibc2.12-x86_64.tar 
mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz
mysql-test-5.7.20-linux-glibc2.12-x86_64.tar.gz
[root@cdh-03 local]#

我们会使用mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz文件。将其解压,为了方便我们改一下名字(mysql.server中使用的都是/usr/local/mysql):

[root@cdh-03 local]# tar -zxvf mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz
//...省略输出
[root@cdh-03 local]# mv mysql-5.7.20-linux-glibc2.12-x86_64 mysql

修改mysql目录所属用户组和用户:

[root@cdh-03 local]# chgrp -R mysql ./mysql
[root@cdh-03 local]# chown -R mysql ./mysql

2.5.3 开始安装

使用mysqld --initialize进行安装

[root@cdh-03 local]# cd mysql
[root@cdh-03 mysql]# ./bin/mysqld --initialize --console --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
//......省略输出
2019-05-16T11:18:44.997018Z 1 [Note] A temporary password is generated for root@localhost: fw,-:jWJ5rnA
//......省略输出
[root@cdh-03 mysql]# cp ./support-files/mysql.server /etc/init.d/mysqld
[root@cdh-03 mysql]# chmod +x /etc/init.d/mysqld

注:增加--console参数,将初始化信息也打印到了控制台,其中包括初始化的root@localhost用户的密码,将其记录下来,后面登录的时候要用。

我们现在可以直接使用support-files/mysql.server启动mysql服务,但还是不方便。所以按照惯例,我们上面将其拷贝到了/etc/init.d/mysqld。

最后创建一个/etc/my.cnf文件,先简单写上一些配置,可以根据自己需要更改(当然这对于mysql不是必须的,但是我们后面可能会调整一些参数,所以最好还是自己创建一个my.cnf):

[root@cdh-03 mysql]# vim /etc/my.cnf 
[mysql]
default-character-set=utf8
[mysqld]
port = 3306
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
max_connections=600
character-set-server=utf8
default-storage-engine=INNODB
transaction-isolation = READ-COMMITTED
innodb_flush_method = O_DIRECT

2.5.4 善后处理

将mysqld添加到服务:

[root@cdh-03 mysql]# chkconfig --add mysqld
[root@cdh-03 mysql]# chkconfig mysqld on

然后我们就可以通过service命令启动mysql服务了:

[root@cdh-03 system]# service mysqld start
Starting MySQL.                                            [  OK  ]
[root@cdh-03 system]#

接着配置环境变量:

[root@cdh-03 mysql]# vim /etc/profile
//...
export MYSQL_HOME=/usr/local/mysql
export PATH=$PATH:$MYSQL_HOME/bin
//...
[root@cdh-03 mysql]# source /etc/profile

最后使用前面步骤创建的密码就可以登录mysql了:

[root@cdh-03 mysql]# mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 5.7.20

Copyright (c) 2000, 2017, 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> use mysql;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

这时我们改一下密码就可以了:
 

#修改密码
mysql> alter user user() identified by "abc123";
Query OK, 0 rows affected (0.00 sec)

#退出
mysql> quit
Bye

#使用新密码重新登录
[root@cdh-03 mysql]# mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 5.7.20 MySQL Community Server (GPL)

Copyright (c) 2000, 2017, 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> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
#可以正常使用了
mysql>

设置允许root用户远程登录:

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456';  
Query OK, 0 rows affected, 1 warning (0.01 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> 

到这里数据库安装就介绍完了,具体的mysql配置项cloudera官网有一些推荐,去官网瞅瞅就可以了。

2.5.5 安装数据库驱动

我们需要在所有会安装可能会访问数据库角色的节点上安装好JDBC驱动程序,如果没有安装数据库驱动,在集群的数据库设置环节测试连接数据库就不会通过,为了避免以后的麻烦,我们可以直接在所有节点上都安装好驱动。

首先下载驱动:

wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.46.tar.gz

然后解压:

tar -zxvf mysql-connector-java-5.1.46.tar.gz

包含这样一些文件:

我们需要把 mysql-connector-java-5.1.46-bin.jar这个文件拷贝到/usr/share/java/目录,并且将文件重命名为:mysql-connector-java.jar。如果该目录不存在的话,那么创建它即可:

[root@cdh-03 data]# cd mysql-connector-java-5.1.46/
[root@cdh-03 mysql-connector-java-5.1.46]# cp mysql-connector-java-5.1.46-bin.jar /usr/share/java/mysql-connector-java.jar
[root@cdh-03 mysql-connector-java-5.1.46]# 

注:如果还是提示找不到驱动,那么直接将mysql-connector-java.jar拷贝到/opt/cloudera/cm/lib/:
 

[root@cdh-03 mysql-connector-java-5.1.46]# cp mysql-connector-java-5.1.46-bin.jar /opt/cloudera/cm/lib/mysql-connector-java.jar

2.6 创建Cloudera需要的数据库

下图是官网列出的服务和其对应的数据库以及用户,但是关于database名和user,我们不一定要完全照着这个来进行配置,这里为了方便,我还是用root用户。

创建SQL语句如下:

mysql> CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
Query OK, 1 row affected (0.00 sec)

mysql> CREATE DATABASE amon DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
Query OK, 1 row affected (0.00 sec)

mysql> CREATE DATABASE rman DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
Query OK, 1 row affected (0.00 sec)

mysql> CREATE DATABASE hue DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
Query OK, 1 row affected (0.00 sec)

mysql> CREATE DATABASE metastore DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
Query OK, 1 row affected (0.00 sec)

mysql> CREATE DATABASE sentry DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
Query OK, 1 row affected (0.00 sec)

mysql> CREATE DATABASE nav DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
Query OK, 1 row affected (0.00 sec)

mysql> CREATE DATABASE navms DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
Query OK, 1 row affected (0.01 sec)

mysql> CREATE DATABASE oozie DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
Query OK, 1 row affected (0.00 sec)

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

mysql> 

2.7 设置Cloudera Manager数据库

Cloudera Manager Server包含有可以为自己创建和配置数据库的脚本,我们前面已经创建好了所有需要的数据库,这里调用脚本进行配置即可。

2.7.1 准备Cloudera Manager Server数据库(cms)

我们可以使用脚本:/opt/cloudera/cm/schema/scm_prepare_database.sh 完成这一步操作。

该指令使用格式如下:

sudo /opt/cloudera/cm/schema/scm_prepare_database.sh <databaseType> <databaseName> <databaseUser>

databaseType:mysql、oracle等等

databaseName:数据库名

databaseUser:用户名

在当前环境中,具体执行以下指令:

[root@cdh-03 ~]# sudo /opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm root
Enter SCM password: 
JAVA_HOME=/usr/java/jdk1.8
Verifying that we can write to /etc/cloudera-scm-server
Creating SCM configuration file in /etc/cloudera-scm-server
Executing:  /data/jdk1.8.0_161/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.
Thu May 16 18:40:44 PDT 2019 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
[                          main] DbCommandExecutor              INFO  Successfully connected to database.
All done, your SCM database is configured correctly!
[root@cdh-03 ~]# 

执行成功后,会生成一个/etc/cloudera-scm-server/db.properties 数据库配置文件:

[root@cdh-03 cloudera-scm-server]# cat /etc/cloudera-scm-server/db.properties 
# Auto-generated by scm_prepare_database.sh on Thu May 16 19:01:31 PDT 2019
#
# 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=localhost
com.cloudera.cmf.db.name=scm
com.cloudera.cmf.db.user=root
com.cloudera.cmf.db.setupType=EXTERNAL
com.cloudera.cmf.db.password=123456
[root@cdh-03 cloudera-scm-server]# 

  注:我们当前执行脚本的节点,就是我们数据库所在的节点,如果数据库不再当前节点上,那么在执行该脚本的时候,需要添加更多参数,比如host等,该脚本可以使用的参数选项可以通过直接执行该脚本查看:

[root@cdh-03 cloudera-scm-server]# /opt/cloudera/cm/schema/scm_prepare_database.sh
Unknown database type: 
usage: /opt/cloudera/cm/schema/scm_prepare_database.sh [options] (postgresql|mysql|oracle) database username [password]

Prepares a database (currently either MySQL, PostgreSQL or Oracle)
for use by Cloudera Service Configuration Manager (SCM):
o Creates a database (For PostgreSQL and MySQL only)
o Grants access to that database, by:
  - (PostgreSQL) Creating a role
  - (MySQL) Creating a grant
o Creates the SCM database configuration file.
o Tests if the database connection parameters are valid.

MANDATORY PARAMETERS
database type: either "oracle", "postgresql" or "mysql"
database: For PostgreSQL and MySQL, name of the SCM database to create.
          For Oracle this is the SID of the Oracle database.
username: Username for access to SCM's database.

OPTIONAL PARAMETERS
password: Password for the SCM user. If not provided, and --scm-password-script
          is not specified as an option, will prompt for it.

OPTIONS
   -h|--host       Database host. Default is to connect locally.
   -P|--port       Database port. If not specified, the database specific
                   default will be used: namely, 3306 for MySQL,
                   5432 for PostgreSQL, and 1521 for Oracle.
   -u|--user       Database username that has privileges for creating
                   users and grants.  The default is 'root'.
                   Typical values are 'root' for MySQL and
                   'postgres' for PostgreSQL. Not applicable for Oracle.
   -p|--password   Database Password. Default is no password.
   --scm-host      SCM server's hostname. Omit if SCM is colocated with MySQL.
   --config-path   Path to SCM configuration files.
                   Default is /etc/cloudera-scm-server.
   --scm-password-script Instead of obtaining the SCM username's password
                   directly, execute a script whose stdout is used as the
                   password.
   -f|--force      Don't stop when an error is encountered.
   -v|--verbose    Print more informational messages.
   -?|--help       Show this message.

NOTE ON POSTGRESQL CONFIGURATION
PostgreSQL must be configured to accept connections
with md5 password authentication.  To do so,
edit /var/lib/pgsql/data/pg_hba.conf (or similar)
to include "host all all 127.0.0.1/32 md5" _above_
a similar line that allows 'ident' authentication.
[root@cdh-03 cloudera-scm-server]# 

到这里Cloudera Manager Server就安装完成了,我们启动该服务试试:

[root@cdh-03 java]# systemctl start cloudera-scm-server

开始启动该服务后,启动会初始化很多东西,可能会花点儿时间,可以查看日志文件输出:/var/log/cloudera-scm-server/cloudera-scm-server.log 观察启动日志

[root@cdh-03 java]# tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log

如果日志中出现:

INFO WebServerImpl:com.cloudera.server.cmf.WebServerImpl: Started Jetty server.

就说明服务启动成功了,然后我们就可以进入WEB界面了,地址栏输入 http://{ip}:7180,账号密码都是admin

到了这里Cloudera Manager Server已经安装好了,但是我们还没有安装agent节点。

2.8 安装agent节点

其实agent节点的安装可以放到后面集群安装的时候进行,这样的话我们需要搭建本地存储库,进行伪在线安装,配置本地存储库的方式我放到文章末尾的附录里介绍。我们在这里直接进行手动安装。

首先在所有机器上安装daemon和agent(安装步骤前面已经介绍了,如果已经安装了,就不用再安装了),这里我们需要在192.168.0.198、192.168.0.210、192.168.0.212节点上都安装上daemon和agent,而192.168.0.211节点在安装server的时候已经安装好了。

安装成功后,在所有节点上配置 /etc/cloudera-scm-agent/config.ini配置文件,将其中的server_hostserver_port配置为server节点的实际ip和port,当前我的环境server是192.168.0.211节点,如下所示:

修改之后,启动agent服务,agent服务启动之后会主动向server通信:

>systemctl start cloudera-scm-agent

三、安装CDH

我们这里安装CDH还是采取离线安装的方式,并且使用parcel进行安装,所以在开始之前我们需要下载一些需要的文件:

3.1 配置server本地parcel

首先在https://archive.cloudera.com/cdh6/6.2.0/parcels/ 根据自己的系统环境下载mainifes.json、sha和parcel文件,这里我选择的是el7:

然后将这些文件放到server节点的 /opt/cloudera/parcel-repo目录(目录不存在则创建),然后将sha1文件重命名为sha文件:

[root@cdh-03 parcel-repo]# cd /opt/cloudera/parcel-repo
[root@cdh-03 parcel-repo]# ll
total 2038856
-rw-r--r--. 1 cloudera-scm cloudera-scm 2087665645 May 20 02:00 CDH-6.2.0-1.cdh6.2.0.p0.967373-el7.parcel
-rw-r--r--. 1 root         root                 40 Mar 28 02:17 CDH-6.2.0-1.cdh6.2.0.p0.967373-el7.parcel.sha
-rw-r--r--. 1 root         root              33725 Mar 28 02:15 manifest.json
[root@cdh-03 parcel-repo]# 

修改权限:

[root@cdh-03 ~]# sudo chown -R cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo/*

然后重启server服务:

[root@cdh-03 ~]# systemctl restart cloudera-scm-server

注:如果要修改server或agent的启动配置,可以在/etc/default/下找到对应的配置文件(cloudera-scm-agent或cloudera-scm-server)进行修改。

3.2 安装流程

3.2.1 欢迎界面

等重启server服务之后,登录到web,首先就是欢迎界面,这里就是一个简单的介绍,直接点击继续即可:

接下来是用户许可条款部分,选择接受,然后继续即可:

然后会让我们选择版本,有免费版、试用版、正式商业版,这里我选择免费版本,然后点击继续。

3.2.2 集群安装

跳过欢迎页面,接下来就是安装集群环境了,这里会让我们输入集群名称,随便输一个点击继续:

接下来我们需要指定主机:

如果我们前面没有手动安装agent节点,那么这里的当前管理的主机就只有一个:当前我们运行server的主机,cm为我们提供了模式扫描的方式来寻找主机:

还记得我们最开始设置每个节点主机名的时候用的FQDN格式吗?我们现在的主机有:

cdh-01.echatsoft.com、cdh-02.echatsoft.com、cdh-03.echatsoft.com、cdh-04.echatsoft.com

我们可以在数据名称输入框中输入:cdh-[01-04].echatsoft.com,端口就是22,没有改过,点击搜索就能把我们配置的几个主机都搜索出来了(当然可以用ip搜索):

注:如果这里的搜索出来的结果有异常,比如无法连接ssh服务、无法解析主机的等等,请检查最开始做的环境配置步骤是否正确。

这里我们看到除了server节点,其它所有节点的“当前受管”都是否,所以我们这里来配置agent。

这里还是进行手动安装agent,步骤参考2.8部分。agent启动成功之后会主动向server节点通信,过一会儿再重新搜索主机,我们就发现所有主机都处于“受管”状态了:

 

当然,我们前面是安装了agent的,这里不用再重复安装了。大家在处理的时候如果有问题,要根据实际情况排查,最终我们的目的是让所有节点都处于受管状态,并且主机名、ip等解析都正确,然后就需要选择构建集群的节点了。

我在这里就直接全选了:

点击继续,接下来是选择存储库,当然我们这里已经手动安装了agent,就不会有Cloudera Manager Agent这个选项了:

然后就是CDH and other software这一栏,我们可以选择使用数据包和Parcel两种方式,用数据包的话,主机必须已经安装所有包;使用Parcel的话,要想离线安装就得配置本地Parcel。这里我们还是介绍如何使用Parcel:
 

注:如果没有手动安装agent,这里还会有一个JDK安装选项,我们前面已经安装了JDK了,所以这里不要打钩,当然我们这里并没有这步操作

接下来就到了安装Parcels阶段,这里分为下载分配解压激活四个步骤,都是自动进行的,如果上面配置(我们在3.1 步骤中配置了本地parcel)没有问题的话,下载步骤是瞬间完成的,分配过程则看内网网速,解压和激活主要看服务器性能,等待完成即可,可以在各个agent节点上查看日志:

[root@cdh-01 parcel-cache]# tail -f /var/log/cloudera-scm-agent/cloudera-scm-agent.log

注:大家在操作的时候要保证有足够的存储空间,CDH的parcel有将近两个G,下载下来之后还会解压,如果磁盘空间不足,可能会出现一些异常情况,比如:Src file /opt/cloudera/parcels/.flood/CDH-6.2.0-1.cdh6.2.0.p0.967373-el7.parcel/CDH-6.2.0-1.cdh6.2.0.p0.967373-el7.parcel does not exist

安装完成后如下所示:

然后接下来是根据实际要求选择需要安装的服务组合:

附1:创建本地CM存储库

如果我们没有手动安装agent服务,在上面的安装步骤中的选择存储库部分会让我们选择agent的存储库,当然我们可以配置本地存储库,然后将本地存储库的地址填到自定义存储库输入框里即可:

这里介绍一下创建本地CM存储库,还是以我们的centos-7环境为例:

我们需要使用http服务,前面也安装了httpd,所以这里我们启动httpd服务:

[root@cdh-03 data]# systemctl start httpd
[root@cdh-03 data]# 

然后创建目录:

[root@cdh-03 data]# mkdir -p /var/www/html/cloudera-repos
[root@cdh-03 data]# 

我们要创建本地存储库,需要把https://archive.cloudera.com/cm6/6.2.0/redhat7/目录下的所有文件都下载下来(包含目录结构),然后放到我们现在创建的cloudera-repos目录,具体是如何下载就是随各自喜好吧,达到目的就好,如果虚拟机网速好的话,直接递归下载整个目录即可:

 wget --recursive --no-parent --no-host-directories https://archive.cloudera.com/cm6/6.2.0/redhat7/ -P /var/www/html/cloudera-repos

同时这个文件:https://archive.cloudera.com/cm6/6.2.0/allkeys.asc也需要下载下来,放到/var/www/html/cloudera-repos/cm6/6.2.0目录。最终的目录结构如下所示:

[root@cdh-03 cloudera-repos]# tree
.
├── cm6
│   └── 6.2.0
│       ├── allkeys.asc
│       └── redhat7
│           ├── index.html
│           └── yum
│               ├── cloudera-manager.repo
│               ├── index.html
│               ├── repodata
│               │   ├── 236dccf7a389d73906180277ebbc49ae214d6955d3401d66e5dd65f44c6f9b44-filelists.sqlite.bz2
│               │   ├── 4e3de3876c4c33b986989dada5938b72981c838957578623b42e72ab2d950cd5-primary.xml.gz
│               │   ├── 8083afe684923a1d08bc5373b4abed7e7d95dad661b4261d063ddea3e7336eb5-other.sqlite.bz2
│               │   ├── 9f2c0f0285965d65ebabf846b947733e0570006b0418fa3773fd59e502a535df-other.xml.gz
│               │   ├── bd180f29c0774bcd27f6b969daac5a1d94d765e6a1903a123eeb88ec4802fd2f-primary.sqlite.bz2
│               │   ├── e58a1f0fbf40e865372ffc6672d99bf527ba395fad7c76131d0835fc862b353a-filelists.xml.gz
│               │   ├── index.html
│               │   ├── repomd.xml
│               │   ├── repomd.xml.asc
│               │   └── repomd.xml.key
│               ├── RPM-GPG-KEY-cloudera
│               └── RPMS
│                   ├── index.html
│                   └── x86_64
│                       ├── cloudera-manager-agent-6.2.0-968826.el7.x86_64.rpm
│                       ├── cloudera-manager-daemons-6.2.0-968826.el7.x86_64.rpm
│                       ├── cloudera-manager-server-6.2.0-968826.el7.x86_64.rpm
│                       ├── cloudera-manager-server-db-2-6.2.0-968826.el7.x86_64.rpm
│                       ├── enterprise-debuginfo-6.2.0-968826.el7.x86_64.rpm
│                       └── oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm
└── robots.txt

7 directories, 23 files
[root@cdh-03 cloudera-repos]# 

然后需要修改文件夹权限:

[root@cdh-03 cloudera-repos]# chmod -R ugo+rX /var/www/html/cloudera-repos/cm6
[root@cdh-03 cloudera-repos]# 

通过浏览器查看本地存储库是否创建成功:

然后就可以在存储库选择界面填入自定义存储库了:

2:创建本地CDH存储库

如果我们要创建CDH的本地存储库,把 https://archive.cloudera.com/cdh6/6.2.0/redhat7/和https://archive.cloudera.com/gplextras6/6.2.0/redhat7/ (包含目录结构)下载到 /var/www/html/cloudera-repos目录即可,和上面搭建cm本地存储库流程类似。如果网速给力还是可以直接wget下载:

>wget --recursive --no-parent --no-host-directories https://archive.cloudera.com/cdh6/6.2.0/redhat7/ -P /var/www/html/cloudera-repos
>wget --recursive --no-parent --no-host-directories https://archive.cloudera.com/gplextras6/6.2.0/redhat7/ -P /var/www/html/cloudera-repos

否则就在本地下载然后上传到虚拟机,最终 /var/www/html/cloudera-repo的目录结构(包含了cm)如下:

[root@cdh-03 cloudera-repos]# tree
.
├── cdh6
│   └── 6.2.0
│       └── redhat7
│           ├── index.html
│           └── yum
│               ├── index.html
│               ├── repodata
│               │   ├── 0e53506528c900cca5487e114e1bc811d949234b3526afccc8e45a65cc6968cf-other.sqlite.bz2
│               │   ├── 49846413ab28256017cc975e348886ba1b994ab7fe3067aac2800b32b3f6b30f-primary.xml.gz
│               │   ├── 578745f297cc2e5b93012181288ffcb1ca21235610a2e74e601cec0dbc8ee91e-filelists.sqlite.bz2
│               │   ├── 7acea62f66c8650d2b0b448d994ceab4cc8c0ff9a5ed502748f16e5ad9c1e44a-primary.sqlite.bz2
│               │   ├── 815c47491e4e8e44ea04884bf3914a1557988061f43f8275cfe4de9ec2a3cc98-other.xml.gz
│               │   ├── 9b104d5e710dc56c593e43c06602752223d553484724a4f9331056ee6aa15b56-filelists.xml.gz
│               │   ├── index.html
│               │   ├── repomd.xml
│               │   ├── repomd.xml.asc
│               │   └── repomd.xml.key
│               ├── RPM-GPG-KEY-cloudera
│               └── RPMS
│                   ├── index.html
│                   ├── noarch
│                   │   ├── avro-doc-1.8.2+cdh6.2.0-967373.el7.noarch.rpm
│                   │   ├── avro-libs-1.8.2+cdh6.2.0-967373.el7.noarch.rpm
│                   │   ├── avro-tools-1.8.2+cdh6.2.0-967373.el7.noarch.rpm
│                   │   ├── bigtop-utils-0.7.0+cdh6.2.0-967373.el7.noarch.rpm
│                   │   ├── flume-ng-1.9.0+cdh6.2.0-967373.el7.noarch.rpm
│                   │   ├── flume-ng-agent-1.9.0+cdh6.2.0-967373.el7.noarch.rpm
│                   │   ├── flume-ng-doc-1.9.0+cdh6.2.0-967373.el7.noarch.rpm
│                   │   ├── gcs-1.9.10+cdh6.2.0-967373.el7.noarch.rpm
│                   │   ├── hbase-solr-1.5+cdh6.2.0-967373.el7.noarch.rpm
│                   │   ├── hbase-solr-doc-1.5+cdh6.2.0-967373.el7.noarch.rpm
│                   │   ├── hbase-solr-indexer-1.5+cdh6.2.0-967373.el7.noarch.rpm
│                   │   ├── hive-2.1.1+cdh6.2.0-967373.el7.noarch.rpm
│                   │   ├── hive-hbase-2.1.1+cdh6.2.0-967373.el7.noarch.rpm
│                   │   ├── hive-hcatalog-2.1.1+cdh6.2.0-967373.el7.noarch.rpm
│                   │   ├── hive-jdbc-2.1.1+cdh6.2.0-967373.el7.noarch.rpm
│                   │   ├── hive-metastore-2.1.1+cdh6.2.0-967373.el7.noarch.rpm
│                   │   ├── hive-server-2.1.1+cdh6.2.0-967373.el7.noarch.rpm
│                   │   ├── hive-server2-2.1.1+cdh6.2.0-967373.el7.noarch.rpm
│                   │   ├── hive-webhcat-2.1.1+cdh6.2.0-967373.el7.noarch.rpm
│                   │   ├── hive-webhcat-server-2.1.1+cdh6.2.0-967373.el7.noarch.rpm
│                   │   ├── index.html
│                   │   ├── kafka-2.1.0+cdh6.2.0-967373.el7.noarch.rpm
│                   │   ├── kafka-mirror-maker-2.1.0+cdh6.2.0-967373.el7.noarch.rpm
│                   │   ├── kafka-server-2.1.0+cdh6.2.0-967373.el7.noarch.rpm
│                   │   ├── kite-1.0.0+cdh6.2.0-967373.el7.noarch.rpm
│                   │   ├── oozie-5.1.0+cdh6.2.0-967373.el7.noarch.rpm
│                   │   ├── oozie-client-5.1.0+cdh6.2.0-967373.el7.noarch.rpm
│                   │   ├── parquet-1.9.0+cdh6.2.0-967373.el7.noarch.rpm
│                   │   ├── parquet-format-2.3.1+cdh6.2.0-967373.el7.noarch.rpm
│                   │   ├── pig-0.17.0+cdh6.2.0-967373.el7.noarch.rpm
│                   │   ├── search-1.0.0+cdh6.2.0-967373.el7.noarch.rpm
│                   │   ├── sentry-2.1.0+cdh6.2.0-967373.el7.noarch.rpm
│                   │   ├── sentry-hdfs-plugin-2.1.0+cdh6.2.0-967373.el7.noarch.rpm
│                   │   ├── sentry-store-2.1.0+cdh6.2.0-967373.el7.noarch.rpm
│                   │   ├── solr-7.4.0+cdh6.2.0-967373.el7.noarch.rpm
│                   │   ├── solr-crunch-1.0.0+cdh6.2.0-967373.el7.noarch.rpm
│                   │   ├── solr-doc-7.4.0+cdh6.2.0-967373.el7.noarch.rpm
│                   │   ├── solr-mapreduce-1.0.0+cdh6.2.0-967373.el7.noarch.rpm
│                   │   ├── solr-server-7.4.0+cdh6.2.0-967373.el7.noarch.rpm
│                   │   ├── spark-core-2.4.0+cdh6.2.0-967373.el7.noarch.rpm
│                   │   ├── spark-history-server-2.4.0+cdh6.2.0-967373.el7.noarch.rpm
│                   │   ├── spark-python-2.4.0+cdh6.2.0-967373.el7.noarch.rpm
│                   │   ├── sqoop-1.4.7+cdh6.2.0-967373.el7.noarch.rpm
│                   │   └── sqoop-metastore-1.4.7+cdh6.2.0-967373.el7.noarch.rpm
│                   └── x86_64
│                       ├── bigtop-jsvc-1.0.10+cdh6.2.0-967373.el7.x86_64.rpm
│                       ├── bigtop-jsvc-debuginfo-1.0.10+cdh6.2.0-967373.el7.x86_64.rpm
│                       ├── hadoop-3.0.0+cdh6.2.0-967373.el7.x86_64.rpm
│                       ├── hadoop-client-3.0.0+cdh6.2.0-967373.el7.x86_64.rpm
│                       ├── hadoop-conf-pseudo-3.0.0+cdh6.2.0-967373.el7.x86_64.rpm
│                       ├── hadoop-debuginfo-3.0.0+cdh6.2.0-967373.el7.x86_64.rpm
│                       ├── hadoop-doc-3.0.0+cdh6.2.0-967373.el7.x86_64.rpm
│                       ├── hadoop-hdfs-3.0.0+cdh6.2.0-967373.el7.x86_64.rpm
│                       ├── hadoop-hdfs-datanode-3.0.0+cdh6.2.0-967373.el7.x86_64.rpm
│                       ├── hadoop-hdfs-fuse-3.0.0+cdh6.2.0-967373.el7.x86_64.rpm
│                       ├── hadoop-hdfs-journalnode-3.0.0+cdh6.2.0-967373.el7.x86_64.rpm
│                       ├── hadoop-hdfs-namenode-3.0.0+cdh6.2.0-967373.el7.x86_64.rpm
│                       ├── hadoop-hdfs-nfs3-3.0.0+cdh6.2.0-967373.el7.x86_64.rpm
│                       ├── hadoop-hdfs-secondarynamenode-3.0.0+cdh6.2.0-967373.el7.x86_64.rpm
│                       ├── hadoop-hdfs-zkfc-3.0.0+cdh6.2.0-967373.el7.x86_64.rpm
│                       ├── hadoop-httpfs-3.0.0+cdh6.2.0-967373.el7.x86_64.rpm
│                       ├── hadoop-kms-3.0.0+cdh6.2.0-967373.el7.x86_64.rpm
│                       ├── hadoop-kms-server-3.0.0+cdh6.2.0-967373.el7.x86_64.rpm
│                       ├── hadoop-libhdfs-3.0.0+cdh6.2.0-967373.el7.x86_64.rpm
│                       ├── hadoop-libhdfs-devel-3.0.0+cdh6.2.0-967373.el7.x86_64.rpm
│                       ├── hadoop-mapreduce-3.0.0+cdh6.2.0-967373.el7.x86_64.rpm
│                       ├── hadoop-mapreduce-historyserver-3.0.0+cdh6.2.0-967373.el7.x86_64.rpm
│                       ├── hadoop-yarn-3.0.0+cdh6.2.0-967373.el7.x86_64.rpm
│                       ├── hadoop-yarn-nodemanager-3.0.0+cdh6.2.0-967373.el7.x86_64.rpm
│                       ├── hadoop-yarn-proxyserver-3.0.0+cdh6.2.0-967373.el7.x86_64.rpm
│                       ├── hadoop-yarn-resourcemanager-3.0.0+cdh6.2.0-967373.el7.x86_64.rpm
│                       ├── hadoop-yarn-timelinereader-3.0.0+cdh6.2.0-967373.el7.x86_64.rpm
│                       ├── hbase-2.1.0+cdh6.2.0-967373.el7.x86_64.rpm
│                       ├── hbase-doc-2.1.0+cdh6.2.0-967373.el7.x86_64.rpm
│                       ├── hbase-master-2.1.0+cdh6.2.0-967373.el7.x86_64.rpm
│                       ├── hbase-regionserver-2.1.0+cdh6.2.0-967373.el7.x86_64.rpm
│                       ├── hbase-rest-2.1.0+cdh6.2.0-967373.el7.x86_64.rpm
│                       ├── hbase-thrift-2.1.0+cdh6.2.0-967373.el7.x86_64.rpm
│                       ├── hue-4.2.0+cdh6.2.0-967373.el7.x86_64.rpm
│                       ├── impala-3.2.0+cdh6.2.0-967373.el7.x86_64.rpm
│                       ├── impala-catalog-3.2.0+cdh6.2.0-967373.el7.x86_64.rpm
│                       ├── impala-debuginfo-3.2.0+cdh6.2.0-967373.el7.x86_64.rpm
│                       ├── impala-server-3.2.0+cdh6.2.0-967373.el7.x86_64.rpm
│                       ├── impala-shell-3.2.0+cdh6.2.0-967373.el7.x86_64.rpm
│                       ├── impala-state-store-3.2.0+cdh6.2.0-967373.el7.x86_64.rpm
│                       ├── impala-udf-devel-3.2.0+cdh6.2.0-967373.el7.x86_64.rpm
│                       ├── index.html
│                       ├── kudu-1.9.0+cdh6.2.0-967373.el7.x86_64.rpm
│                       ├── kudu-client0-1.9.0+cdh6.2.0-967373.el7.x86_64.rpm
│                       ├── kudu-client-devel-1.9.0+cdh6.2.0-967373.el7.x86_64.rpm
│                       └── kudu-debuginfo-1.9.0+cdh6.2.0-967373.el7.x86_64.rpm
├── cm6
│   └── 6.2.0
│       ├── allkeys.asc
│       └── redhat7
│           ├── index.html
│           └── yum
│               ├── cloudera-manager.repo
│               ├── index.html
│               ├── repodata
│               │   ├── 236dccf7a389d73906180277ebbc49ae214d6955d3401d66e5dd65f44c6f9b44-filelists.sqlite.bz2
│               │   ├── 4e3de3876c4c33b986989dada5938b72981c838957578623b42e72ab2d950cd5-primary.xml.gz
│               │   ├── 8083afe684923a1d08bc5373b4abed7e7d95dad661b4261d063ddea3e7336eb5-other.sqlite.bz2
│               │   ├── 9f2c0f0285965d65ebabf846b947733e0570006b0418fa3773fd59e502a535df-other.xml.gz
│               │   ├── bd180f29c0774bcd27f6b969daac5a1d94d765e6a1903a123eeb88ec4802fd2f-primary.sqlite.bz2
│               │   ├── e58a1f0fbf40e865372ffc6672d99bf527ba395fad7c76131d0835fc862b353a-filelists.xml.gz
│               │   ├── index.html
│               │   ├── repomd.xml
│               │   ├── repomd.xml.asc
│               │   └── repomd.xml.key
│               ├── RPM-GPG-KEY-cloudera
│               └── RPMS
│                   ├── index.html
│                   └── x86_64
│                       ├── cloudera-manager-agent-6.2.0-968826.el7.x86_64.rpm
│                       ├── cloudera-manager-daemons-6.2.0-968826.el7.x86_64.rpm
│                       ├── cloudera-manager-server-6.2.0-968826.el7.x86_64.rpm
│                       ├── cloudera-manager-server-db-2-6.2.0-968826.el7.x86_64.rpm
│                       ├── enterprise-debuginfo-6.2.0-968826.el7.x86_64.rpm
│                       └── oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm
├── gplextras6
│   └── 6.2.0
│       └── redhat7
│           ├── index.html
│           └── yum
│               ├── index.html
│               ├── repodata
│               │   ├── 2232f5eda3d5a8e89e419b0825d7422abedc01cc15f5b02706d5ff906a06abb8-other.xml.gz
│               │   ├── 3c484fc025a2fd99fb462100b0ca25bdc0ae87cbbd2a333cc3c8f286a05bc82e-filelists.sqlite.bz2
│               │   ├── 794e264ce5086e82663e4eb303f115039558cc7e45e9b247ec12389acf5eb5c4-primary.xml.gz
│               │   ├── 9aca1639d6616f2fc36c348e8117e8d455e3881443b0e73d8b6b3b51871ed5f3-other.sqlite.bz2
│               │   ├── cb33eebeaab10eec5a5788635ef95782ec72d4e16feeb5b77a5072eef80a2947-primary.sqlite.bz2
│               │   ├── f6a48fd92a33e295e6fb3cc902626f08c13814f50ceebd7a33c91ae606c1d3c4-filelists.xml.gz
│               │   ├── index.html
│               │   ├── repomd.xml
│               │   ├── repomd.xml.asc
│               │   └── repomd.xml.key
│               ├── RPM-GPG-KEY-cloudera
│               └── RPMS
│                   ├── index.html
│                   └── x86_64
│                       ├── hadoop-lzo-0.4.15+cdh6.2.0-967373.el7.x86_64.rpm
│                       ├── hadoop-lzo-debuginfo-0.4.15+cdh6.2.0-967373.el7.x86_64.rpm
│                       ├── impala-lzo-3.2.0+cdh6.2.0-967373.el7.x86_64.rpm
│                       ├── impala-lzo-debuginfo-3.2.0+cdh6.2.0-967373.el7.x86_64.rpm
│                       ├── index.html
│                       └── spark-netlib-1.1+cdh6.2.0-967373.el7.x86_64.rpm
└── robots.txt

和cm一样,还是需要修改文件夹权限:

[root@cdh-03 cloudera-repos]# chmod -R ugo+rX /var/www/html/cloudera-repos/cdh6
[root@cdh-03 cloudera-repos]# chmod -R ugo+rX /var/www/html/cloudera-repos/gplextras6

然后通过浏览器查看:

http://192.168.0.211/cloudera-repos/

猜你喜欢

转载自blog.csdn.net/huangzhilin2015/article/details/90215093