CentOS7下完全离线安装CDH6集群

 

shareSHARE

 

  • 245 浏览量
  • 分享到微博
  • 分享到 Twitter
  • 分享到 QQ

本文是在CentOS7.5下进行CDH6集群的完全离线部署。CDH5集群与CDH6集群的部署区别比较大,关于CDH5集群的部署请移步:CDH5高可用集群离线部署

环境准备部分在上一篇文章:安装CDH6集群之前的环境准备

说明:本文内容所有操作都是在root用户下进行的。

文件下载

首先一些安装CDH6集群的必须文件要先在外网环境先下载好。

Cloudera Manager 6.0.1

CM6 RPM:https://archive.cloudera.com/cm6/6.0.1/redhat7/yum/RPMS/x86_64/需要下载该链接下的所有RPM文件,由于jdk1.8我在环境准备部分已经手动安装了,所以可以不用下载RPMS/x86_64/目录下的jdk包oracle-j2sdk1.8-1.8.0+update141-1.x86_64.rpm,但是其他4个rpm包一定要下载,保存到cloudera-repos目录下。

ASC文件:https://archive.cloudera.com/cm6/6.0.1/allkeys.asc同时还需要下载一个asc文件,同样保存到cloudera-repos目录下:

  1. /upload/cloudera-repos/
  2. ├──.asc
  3. ├──-manager-agent-6.0.1-610811.el7.x86_64.rpm
  4. ├──-manager-daemons-6.0.1-610811.el7.x86_64.rpm
  5. ├──-manager-server-6.0.1-610811.el7.x86_64.rpm
  6. └──-manager-server-db-2-6.0.1-610811.el7.x86_64.rpm

  7. 0,4 files

MySQL JDBC驱动

要求使用5.1.26以上版本的jdbc驱动,可点击这里直接下载mysql-connector-java-5.1.47.tar.gz

CDH 6.0.1

CDH6 Parcels:https://archive.cloudera.com/cdh6/6.0.1/parcels/需要下载CDH-6.0.1-1.cdh6.0.1.p0.590678-el7.parcelmanifest.json这两个文件

配置Cloudera Manager yum库

注意:不要尝试使用FTP搭建CM的YUM库!

首先安装httpdcreaterepo
yum -y install httpd createrepo启动httpd服务并设置开机自启动:
systemctl start httpdsystemctl enable httpd然后进入到前面准备好的存放Cloudera Manager RPM包的目录cloudera-repos下:
cd /upload/cloudera-repos/生成RPM元数据:
createrepo .

  1. [root@cdh601 cloudera-repos]#.
  2. Spawning0with2 pkgs
  3. Spawning1with2 pkgs
  4. WorkersFinished
  5. SavingPrimary metadata
  6. Saving file lists metadata
  7. Saving other metadata
  8. GeneratingDBs
  9. SqliteDBs complete

然后将cloudera-repos目录移动到httpd的html目录下:

mv cloudera-repos /var/www/html/确保可以通过浏览器查看到这些RPM包:

cdh配置yarn队列 cdh6部署_Server


接着在Cloudera Manager Server主机上创建cm6的repo文件(要把哪个节点作为Cloudera Manager Server节点,就在这个节点上创建repo文件):

cd /etc/yum.repos.d

vim cloudera-manager.repo

添加如下内容:

  1. [cloudera-manager]
  2. name=ClouderaManager6.0.1
  3. baseurl=http://cdh601/cloudera-repos/
  4. gpgcheck=0
  5. enabled=1

保存,退出,然后执行yum clean all && yum makecache命令:

cdh配置yarn队列 cdh6部署_cdh配置yarn队列_02

安装Cloudera Manager Server

这一步只需要在CM Server节点上操作。

执行下面的命令:

yum install cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server将会需要很多依赖包,所以说还是有必要搭一个局域网内yum源的:

cdh配置yarn队列 cdh6部署_cdh配置yarn队列_03

配置本地Parcel存储库

Cloudera Manager Server安装完成后,进入到本地Parcel存储库目录:

cd /opt/cloudera/parcel-repo将第一部分下载的CDH Parcel文件(CDH-6.0.1-1.cdh6.0.1.p0.590678-el7.parcelmanifest.json)上传至该目录下,然后执行命令生成sha文件:

sha1sum CDH-6.0.1-1.cdh6.0.1.p0.590678-el7.parcel | awk '{ print $1 }' > CDH-6.0.1-1.cdh6.0.1.p0.590678-el7.parcel.sha

然后执行下面的命令修改文件所有者:

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

最终/opt/cloudera/parcel-repo目录内容如下:

cdh配置yarn队列 cdh6部署_Server_04

安装数据库

MySQL的安装在环境准备部分中已经有说明,这里就跳过MySQL安装了。

数据库配置

CDH官方给的有一份推荐的MySQL的配置内容:

  1. [mysqld]
  2. datadir=/var/lib/mysql
  3. socket=/var/lib/mysql/mysql.sock
  4. transaction-isolation =-COMMITTED
  5. # Disabling symbolic-links is recommended to prevent assorted security risks;
  6. # to do so, uncomment this line:
  7. symbolic-links =0

  8. key_buffer_size =32M
  9. max_allowed_packet =32M
  10. thread_stack =256K
  11. thread_cache_size =64
  12. query_cache_limit =8M
  13. query_cache_size =64M
  14. query_cache_type =1

  15. max_connections =550
  16. #expire_logs_days = 10
  17. #max_binlog_size = 100M

  18. #log_bin should be on a disk with enough free space.
  19. #Replace '/var/lib/mysql/mysql_binary_log' with an appropriate path for your
  20. #system and chown the specified folder to the mysql user.
  21. log_bin=/var/lib/mysql/mysql_binary_log

  22. #In later versions of MySQL, if you enable the binary log and do not set
  23. #a server_id, MySQL will not start. The server_id must be unique within
  24. #the replicating group.
  25. server_id=1

  26. binlog_format = mixed

  27. read_buffer_size =2M
  28. read_rnd_buffer_size =16M
  29. sort_buffer_size =8M
  30. join_buffer_size =8M

  31. # InnoDB settings
  32. innodb_file_per_table =1
  33. innodb_flush_log_at_trx_commit =2
  34. innodb_log_buffer_size =64M
  35. innodb_buffer_pool_size =4G
  36. innodb_thread_concurrency =8
  37. innodb_flush_method = O_DIRECT
  38. innodb_log_file_size =512M

  39. [mysqld_safe]
  40. log-error=/var/log/mysqld.log
  41. pid-file=/var/run/mysqld/mysqld.pid

  42. sql_mode=STRICT_ALL_TABLES

配置mysql jdbc驱动

从前面下载好的mysql-connector-java-5.1.47.tar.gz包中解压出mysql-connector-java-5.1.47-bin.jar文件,将mysql-connector-java-5.1.47-bin.jar文件上传至CM Server节点上的/usr/share/java/目录下并重命名为mysql-connector-java.jar(如果/usr/share/java/目录不存在,需要手动创建):
tar zxvf mysql-connector-java-5.1.47.tar.gzmkdir -p /usr/share/java/cp mysql-connector-java-5.1.47-bin.jar /usr/share/java/mysql-connector-java.jar

创建CDH所需要的数据库

根据所需要安装的服务参照下表创建对应的数据库以及数据库用户,数据库必须使用utf8编码,创建数据库时要记录好用户名及对应密码:

服务名

数据库名

用户名

Cloudera Manager Server

scm

scm

Activity Monitor

amon

amon

Reports Manager

rman

rman

Hue

hue

hue

Hive Metastore Server

metastore

hive

Sentry Server

sentry

sentry

Cloudera Navigator Audit Server

nav

nav

Cloudera Navigator Metadata Server

navms

navms

Oozie

oozie

oozie

我这里就先创建4个数据库及对应用户:

  1. mysql>;
  2. Query,1(0.11)

  3. mysql>;
  4. Query,1(0.00)

  5. mysql>;
  6. Query,1(0.00)

  7. mysql>;
  8. Query,1(0.00)

  9. mysql>.*'scm'@'%''scm';
  10. Query,0,1(0.16)

  11. mysql>.*'amon'@'%''amon';
  12. Query,0,1(0.00)

  13. mysql>.*'rman'@'%''rman';
  14. Query,0,1(0.00)

  15. mysql>.*'hive'@'%''hive';
  16. Query,0,1(0.00)

  17. mysql>;
  18. Query,0(0.00)

查看授权是否正确:

  1. mysql>'scm'@'%';
  2. +----------------------------------------------+
  3. |Grantsfor%|
  4. +----------------------------------------------+
  5. |*.*'scm'@'%'|
  6. |`scm`.*'scm'@'%'|
  7. +----------------------------------------------+
  8. 2inset(0.00)

  9. mysql>'amon'@'%';
  10. +------------------------------------------------+
  11. |Grantsfor%|
  12. +------------------------------------------------+
  13. |*.*'amon'@'%'|
  14. |`amon`.*'amon'@'%'|
  15. +------------------------------------------------+
  16. 2inset(0.00)

  17. mysql>'rman'@'%';
  18. +------------------------------------------------+
  19. |Grantsfor%|
  20. +------------------------------------------------+
  21. |*.*'rman'@'%'|
  22. |`rman`.*'rman'@'%'|
  23. +------------------------------------------------+
  24. 2inset(0.00)

  25. mysql>'hive'@'%';
  26. +----------------------------------------------------------+
  27. |Grantsfor%|
  28. +----------------------------------------------------------+
  29. |*.*'hive'@'%'|
  30. |`metastore`.*'hive'@'%'|
  31. +----------------------------------------------------------+
  32. 2inset(0.00)

设置Cloudera Manager 数据库

Cloudera Manager Server包含一个配置数据库的脚本。

  • mysql数据库与CM Server是同一台主机
    执行命令:/opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm scm
  • cdh配置yarn队列 cdh6部署_cloudera_05


  • mysql数据库与CM Server不在同一台主机上
    执行命令:/opt/cloudera/cm/schema/scm_prepare_database.sh mysql -h <mysql-host-ip> --scm-host <cm-server-ip> scm scm

安装CDH节点

启动Cloudera Manager Server服务

systemctl start cloudera-scm-server然后等待Cloudera Manager Server启动,可能需要稍等一会儿,可以通过命令tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log去监控服务启动状态。

当看到INFO WebServerImpl:com.cloudera.server.cmf.WebServerImpl: Started Jetty server.日志打印出来后,说明服务启动成功,可以通过浏览器访问Cloudera Manager WEB界面了。

访问Cloudera Manager WEB界面

打开浏览器,访问地址:http://<server_host>:7180,默认账号和密码都为admin:

cdh配置yarn队列 cdh6部署_cloudera_06

欢迎页面

首先是Cloudera Manager的欢迎页面,点击页面右下角的【继续】按钮进行下一步:

cdh配置yarn队列 cdh6部署_mysql_07

接受条款

勾选接受条款,点击【继续】进行下一步:

cdh配置yarn队列 cdh6部署_cloudera_08

版本选择

这里我就选择免费版了:

cdh配置yarn队列 cdh6部署_cdh配置yarn队列_09

第二个欢迎界面

选择版本以后会出现第二个欢迎界面,不过这个是安装集群的欢迎页:

cdh配置yarn队列 cdh6部署_cloudera_10

选择主机

这一步是要搜索并选择用于安装CDH集群的主机,在主机名称后面的输入框中输入各个节点的hostname,中间使用英文逗号分隔开,然后点击搜索,在结果列表中勾选要安装CDH的节点即可:

cdh配置yarn队列 cdh6部署_mysql_11

指定存储库

Cloudera Manager Agent

这里选择自定义,填写上面使用httpd搭建好的Cloudera Manager YUM 库URL:

cdh配置yarn队列 cdh6部署_Server_12

CDH and other software

如果我们之前的【配置本地Parcel存储库】步骤操作无误的话,这里会自动选择【使用Parcel】,并加载出CDH版本,确认无误后点击【继续】:

cdh配置yarn队列 cdh6部署_mysql_13

JDK安装选项

这一步骤我就不再勾选安装JDK了,因为我在环境准备部分已经安装过了。取消勾选,然后继续:

cdh配置yarn队列 cdh6部署_cloudera_14

SSH登录配置

用于配置集群主机之间的SSH登录,填写root用户的密码,根据集群配置填写合适的【同时安装数量】值即可:

cdh配置yarn队列 cdh6部署_cloudera_15

安装Agent

到这一步会自动进行节点Agent的安装,稍等一会儿,即可安装完成:

cdh配置yarn队列 cdh6部署_mysql_16


cdh配置yarn队列 cdh6部署_cloudera_17

安装Parcels

这一步同样是自动安装,分配步骤的速度主要取决于网络环境,耐心等待即可(我的3台虚拟机性能实在是太差了,这一步等了好久):

cdh配置yarn队列 cdh6部署_cdh配置yarn队列_18


cdh配置yarn队列 cdh6部署_Server_19

主机检查

等待检查完成即可:

cdh配置yarn队列 cdh6部署_mysql_20

安装CDH集群

选择服务类型

这里我选择自定义服务,HDFS,Hive,Yarn:

cdh配置yarn队列 cdh6部署_cloudera_21

角色分配

CDH会自动给出一个角色分配,如果觉得不合理,我们可以手动调整一下,注意角色分配均衡:

cdh配置yarn队列 cdh6部署_Server_22

数据库设置

因为我选择的服务中只有Hive需要数据库,故这里只需要配置Hive的metastore数据库。注意要将mysql的jdbc驱动放到hive metastore主机的/usr/share/java/目录下:

cdh配置yarn队列 cdh6部署_Server_23

到这里CDH集群的安装基本上就已经完成了,我的虚拟机实在是承受不住了,后续内容等我换个环境再补充~。