本文主要记录 CDH的离线部署,不对CDH中的概念做解释,所以阅读本文之前,需要对CDH有一定的了解。
1. 环境准备
1.1 所需的软件包
- mysql-connector-java-5.1.47.jar
- mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz
- jdk-8u181-linux-x64.tar.gz
- cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm
- cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
- cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm
- CDH-6.3.1-1.cdh6.3.1.p0.1470567-el7.parcel
- CDH-6.3.1-1.cdh6.3.1.p0.1470567-el7.parcel.sha1
- manifest.json
1.1.1 下载地址
parcel : https://archive.cloudera.com/cdh6/6.3.2/parcels/
cm: https://archive.cloudera.com/cm6/6.3.1/redhat7/yum/RPMS/x86_64/
1.2 服务器/虚拟机
我这边准备了3台虚拟机
- 192.168.44.128 - 部署 scm-serser 和 scm-agent
- 192.168.44.129 - 部署 scm-agent
- 192.168.44.130 - 部署 scm-agent
2. 所需环境部署
2.1 设置所有节点的hosts⽂件:
vim /etc/hosts
添加如下:
192.168.44.128 vmware128
192.168.44.129 vmware129
192.168.44.130 vmware130
2.2 所有节点部署JDK
不是本文重点,不做过多阐述,要求JDK1.8以上,详见: https://docs.cloudera.com/documentation/enterprise/6/release-notes/topics/rg_java_requirements.html#java_requirements
2.3 主节点离线部署数据库
不是本文重点,不做过多阐述,CDH对数据库的版本有要求,我使用的是MySQL,当然也可以部署其他数据库,如PostgreSQL ,oracle,详见: https://docs.cloudera.com/documentation/enterprise/6/release-notes/topics/rg_database_requirements.html#cdh_cm_supported_db
2.4 创建数据库
创建CDH的元数据库和⽤户、amon服务的数据库及⽤户
create database cmf DEFAULT CHARACTER SET utf8;
create database amon DEFAULT CHARACTER SET utf8;
grant all on cmf.* TO 'cmf'@'%' IDENTIFIED BY '123456';
grant all on amon.* TO 'amon'@'%' IDENTIFIED BY '123456';
flush privileges;
2.5 数据库驱动
在主节点上把jdbc驱动放到指定的目录并去掉名称上的版本号,CDH会找 /usr/share/java/mysql-connector-java.jar
这个文件,所以我们需要将驱动放到这里
mkdir -p /usr/share/java/
cd /tmp/
cp mysql-connector-java-5.1.47.jar /usr/share/java/mysql-connector-java.jar
3. CDH正式部署
3.1 离线部署cm server及agent
这里解压的包就是上面提到需要下载的三个包:
- cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
- cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm
- cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm
如果已经有了这3个包,可以跳过这一步,执行下面的3.2 的安装步骤。
所有节点:
mkdir /opt/cloudera-manager
cd /tmp
tar -xzvf cm6.3.1-redhat7.tar.gz -C /opt/cloudera-manager/
cd /opt/cloudera-manager/cm6.3.1/RPMS/x86_64
3.2 安装CM
主节点:
依次安装 daemons
server
agent
rpm -ivh cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm --nodeps --force
rpm -ivh cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm --nodeps --force
rpm -ivh cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm --nodeps --force
从节点:
依次安装 daemons
agent
rpm -ivh cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm --nodeps --force
rpm -ivh cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm --nodeps --force
3.3 修改配置文件
所有agent节点配置:
vim /etc/cloudera-scm-agent/config.ini
#server_host=localhost
#改为:
server_host=vmware128
主节点修改serverDB的配置:
vim /etc/cloudera-scm-server/db.properties
配置如下:
# Copyright (c) 2012 Cloudera, Inc. All rights reserved.
#
# This file describes the database connection.
#
# The database type
# Currently 'mysql', 'postgresql' and 'oracle' are valid databases.
com.cloudera.cmf.db.type=mysql
# The database host
# If a non standard port is needed, use 'hostname:port'
com.cloudera.cmf.db.host=vmware128
# The database name
com.cloudera.cmf.db.name=cmf
# The database user
com.cloudera.cmf.db.user=cmf
#The database user's password
com.cloudera.cmf.db.password=123456
# The db setup type
# After fresh install it is set to INIT
# and will be changed post config.
# If scm-server uses Embedded DB then it is set to EMBEDDED
# If scm-server uses External DB then it is set to EXTERNAL
com.cloudera.cmf.db.setupType=EXTERNAL
3.4 主节点部署离线parcel源
安装httpd服务
yum install -y httpd
部署离线parcel源并启动httpd服务
cd tmp/
mkdir -p /var/www/html/cdh6_parcel
mv CDH-6.3.1-1.cdh6.3.1.p0.1470567-el7.parcel /var/www/html/cdh6_parcel/
mv CDH-6.3.1-1.cdh6.3.1.p0.1470567-el7.parcel.sha1 /var/www/html/cdh6_parcel/CDH-6.3.1-1.cdh6.3.1.p0.1470567-el7.parcel.sha
mv manifest.json /var/www/html/cdh6_parcel/
cd /var/www/html/cdh6_parcel/
systemctl start httpd
浏览器访问http://vmware128/cdh6_parcel/查看是否可以访问到 ,后续要用到这个地址配置 parcels
3.5 主节点启动Server服务
启动时间会比较长,日志出现了 INFO WebServerImpl:org.eclipse.jetty.server.AbstractConnector: Started ,就代表启动成功了
systemctl start cloudera-scm-server
tail -F /var/log/cloudera-scm-server/cloudera-scm-server.log
3.6 所有节点启动Agent服务
systemctl start cloudera-scm-agent
3.7 登录web界面
server 和 agent 都启动成功后,在浏览器中访问 http://vmware128:7180 ,初始帐号密码都为 admin