离线安装Cloudera Manager 5与CDH5.1.3完全教程
Cloudera Manager(CM)是Cloudera推出的企业级大数据集群管理平台,能够自动化部署、监控、运维CDH(Cloudera Distribution Hadoop)集群,大幅降低大数据集群的管理复杂度。在企业内网等无网络连接的场景下,离线安装CM与CDH是刚需。本文将详细讲解离线环境下安装Cloudera Manager 5.1.3与CDH5.1.3的完整流程,包含环境准备、离线包制备、集群部署、优化配置及常见问题排查,帮助用户快速搭建稳定的大数据集群。
目录#
- 前期准备 1.1 硬件要求 1.2 操作系统兼容性 1.3 基础环境配置 1.4 JDK离线安装
- 离线资源制备 2.1 资源下载地址 2.2 必备离线资源清单
- 数据库配置(MySQL) 3.1 MySQL离线安装 3.2 CM元数据数据库初始化
- Cloudera Manager 离线安装 4.1 CM Server 安装与配置 4.2 CM Agent 批量安装与注册
- CDH5.1.3 Parcel离线部署 5.1 Parcel包上传与配置 5.2 Parcel分配与激活
- CDH集群部署(Web界面) 6.1 集群创建向导 6.2 角色分配与最佳实践 6.3 服务配置与启动
- 集群验证与后期优化 7.1 核心服务验证 7.2 自动启动与监控配置 7.3 性能调优建议
- 常见问题与解决方案
- 最佳实践总结
- 参考资料
1. 前期准备#
1.1 硬件要求#
CM5.1.3与CDH5.1.3对硬件的最低要求如下(生产环境建议翻倍):
| 节点类型 | CPU核心 | 内存 | 磁盘空间 | 网络带宽 |
|---|---|---|---|---|
| 管理节点(CM) | ≥4核 | ≥8GB | 系统盘≥100GB,数据盘≥200GB | 1Gbps+ |
| 数据节点 | ≥2核 | ≥4GB | 数据盘≥500GB×2(RAID0/5) | 1Gbps+ |
| ZooKeeper节点 | ≥2核 | ≥2GB | 系统盘≥50GB | 1Gbps+ |
1.2 操作系统兼容性#
CM5.1.3支持以下稳定版本:
- CentOS 6.4+ / 7.0+
- Red Hat Enterprise Linux (RHEL) 6.4+ /7.0+
- SUSE Linux Enterprise Server 11 SP3+
注意:不支持CentOS 8及以上版本,本文以CentOS 7.6为例。
1.3 基础环境配置#
所有节点执行以下操作:
1.3.1 主机名与Hosts解析#
# 设置主机名(管理节点示例)
hostnamectl set-hostname cm-manager
# 编辑hosts文件,添加所有节点映射
cat >> /etc/hosts << EOF
192.168.1.100 cm-manager
192.168.1.101 dn-01
192.168.1.102 dn-02
192.168.1.103 dn-03
EOF1.3.2 关闭防火墙与SELinux#
# 关闭防火墙
systemctl stop firewalld && systemctl disable firewalld
# 临时禁用SELinux
setenforce 0
# 永久禁用SELinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config1.3.3 时间同步(NTP)#
离线环境搭建本地NTP服务器,所有节点同步:
# 安装NTP(离线需提前下载rpm包)
yum localinstall -y ntp-4.2.6p5-29.el7.centos.2.x86_64.rpm
# 配置本地NTP(cm-manager作为NTP服务器)
sed -i 's/^server.*/server 127.127.1.0 iburst/' /etc/ntp.conf
# 启动NTP服务
systemctl start ntpd && systemctl enable ntpd
# 所有数据节点同步时间
ntpdate cm-manager1.4 JDK离线安装#
CM5.1.3要求JDK 1.7(禁止使用JDK1.8),统一使用Oracle JDK 1.7u80:
# 上传jdk-7u80-linux-x64.tar.gz到/usr/local/
tar -zxvf jdk-7u80-linux-x64.tar.gz -C /usr/local/
mv /usr/local/jdk1.7.0_80 /usr/local/java
# 配置全局环境变量
cat >> /etc/profile << EOF
export JAVA_HOME=/usr/local/java
export PATH=\$JAVA_HOME/bin:\$PATH
export CLASSPATH=.:\$JAVA_HOME/lib/dt.jar:\$JAVA_HOME/lib/tools.jar
EOF
# 生效环境变量
source /etc/profile
# 验证版本
java -version2. 离线资源制备#
2.1 资源下载地址#
所有资源从Cloudera归档仓库下载:
- Cloudera Manager 5.1.3归档:https://archive.cloudera.com/cm5/5.1.3/
- CDH5.1.3 Parcel归档:https://archive.cloudera.com/cdh5/parcels/5.1.3/
- MySQL Connector/J 5.1:https://dev.mysql.com/downloads/connector/j/5.1.html
2.2 必备离线资源清单#
| 资源类型 | 文件名示例 |
|---|---|
| CM Server RPM包 | cloudera-manager-daemons-5.1.3-1.cm513.p0.11.el7.x86_64.rpm cloudera-manager-server-5.1.3-1.cm513.p0.11.el7.x86_64.rpm |
| CM Agent RPM包 | cloudera-manager-agent-5.1.3-1.cm513.p0.11.el7.x86_64.rpm |
| CDH Parcel包 | CDH-5.1.3-1.cdh5.1.3.p0.10-el7.parcel CDH-5.1.3-1.cdh5.1.3.p0.10-el7.parcel.sha1 manifest.json |
| 数据库驱动 | mysql-connector-java-5.1.49-1.el7.noarch.rpm |
| 系统依赖包 | python2-2.7.5-90.el7.x86_64.rpm postfix-2.10.1-9.el7.x86_64.rpm |
3. 数据库配置(MySQL)#
3.1 MySQL离线安装#
CM需使用存储元数据,推荐MySQL 5.6:
# 上传MySQL RPM包到节点,执行离线安装
rpm -ivh mysql-community-common-5.6.51-2.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.6.51-2.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.6.51-2.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.6.51-2.el7.x86_64.rpm
# 启动MySQL服务
systemctl start mysqld && systemctl enable mysqld
# 初始化root密码
mysqladmin -u root password "Root@123"3.2 CM元数据数据库初始化#
# 安装MySQL驱动
rpm -ivh mysql-connector-java-5.1.49-1.el7.noarch.rpm
cp /usr/share/java/mysql-connector-java.jar /usr/share/java/mysql-connector-java-original.jar
cp /usr/share/java/mysql-connector-java-5.1.49-bin.jar /usr/share/java/mysql-connector-java.jar
# 创建CM数据库与用户
mysql -uroot -pRoot@123 << EOF
CREATE DATABASE cm DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'scm'@'%' IDENTIFIED BY 'Scm@123';
GRANT ALL PRIVILEGES ON cm.* TO 'scm'@'%';
FLUSH PRIVILEGES;
EOF
# CM数据库初始化
/usr/share/cmf/schema/scm_prepare_database.sh mysql cm scm Scm@1234. Cloudera Manager 离线安装#
4.1 CM Server 安装与配置#
# 安装CM Server与Daemons
rpm -ivh cloudera-manager-daemons-5.1.3-1.cm513.p0.11.el7.x86_64.rpm
rpm -ivh cloudera-manager-server-5.1.3-1.cm513.p0.11.el7.x86_64.rpm
# 启动CM Server
systemctl start cloudera-scm-server
# 查看启动状态(等待约2分钟)
tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log
# 日志显示"Started Jetty server"表示启动成功访问CM Web界面:http://cm-manager:7182,默认用户名/密码:admin/admin
4.2 CM Agent 批量安装与注册#
方法1:SSH批量安装(推荐)
# 在管理节点将Agent包分发到所有数据节点
for node in dn-01 dn-02 dn-03; do
scp cloudera-manager-agent-5.1.3-1.cm513.p0.11.el7.x86_64.rpm $node:/root/
done
# 批量安装并配置Server地址
for node in dn-01 dn-02 dn-03; do
ssh $node "rpm -ivh /root/cloudera-manager-agent-5.1.3-1.cm513.p0.11.el7.x86_64.rpm"
ssh $node "sed -i 's/server_host=localhost/server_host=cm-manager/g' /etc/cloudera-scm-agent/config.ini"
ssh $node "systemctl start cloudera-scm-agent && systemctl enable cloudera-scm-agent"
done在CM Web界面"主机"页面可查看所有Agent节点注册状态。
5. CDH5.1.3 Parcel离线部署#
5.1 Parcel包上传与配置#
# 创建Parcel仓库目录
mkdir -p /opt/cloudera/parcel-repo
# 上传CDH Parcel包到目录
cp CDH-5.1.3-1.cdh5.1.3.p0.10-el7.parcel /opt/cloudera/parcel-repo/
cp CDH-5.1.3-1.cdh5.1.3.p0.10-el7.parcel.sha1 /opt/cloudera/parcel-repo/
cp manifest.json /opt/cloudera/parcel-repo/
# 重命名SHA文件(CM要求文件名后缀为.sha)
mv /opt/cloudera/parcel-repo/CDH-5.1.3-1.cdh5.1.3.p0.10-el7.parcel.sha1 /opt/cloudera/parcel-repo/CDH-5.1.3-1.cdh5.1.3.p0.10-el7.parcel.sha
# 修改权限
chown -R cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo/5.2 Parcel分配与激活#
- 登录CM Web界面,进入"Parcel"页面;
- 等待CM自动识别Parcel包,点击"分配"选择所有节点;
- 分配完成后点击"激活",等待激活完成(约5-10分钟);
- 验证:所有节点
/opt/cloudera/parcels/CDH目录存在即为成功。
6. CDH集群部署(Web界面)#
6.1 集群创建向导#
- 点击主页"添加集群",输入集群名称(如BigData-Cluster);
- 选择已注册的所有Agent节点,点击"继续";
- 选择要安装的服务:推荐基础组合为ZooKeeper、HDFS、YARN+MapReduce2、HBase、Hive、Spark2;
6.2 角色分配与最佳实践#
| 服务 | 角色分配建议 |
|---|---|
| ZooKeeper | 3个数据节点(奇数节点,避免脑裂) |
| HDFS | NameNode:单独管理节点 SecondaryNameNode:非NameNode节点 DataNode:所有数据节点 |
| YARN | ResourceManager:非NameNode节点 NodeManager:所有数据节点 |
| HBase | HMaster:非NameNode/ResourceManager节点 RegionServer:所有数据节点 |
| Hive | HiveServer2:管理节点或单独节点 Metastore:管理节点 |
6.3 服务配置与启动#
- CM会根据硬件自动推荐配置,可调整:
- HDFS块大小:256MB(大文件场景)
- YARN Container内存:根据节点内存调整(如节点16G内存,分配12G给YARN)
- 点击"继续",CM自动安装、配置、启动所有服务;
- 完成后进入集群主页,查看所有服务状态为"绿"即成功。
7. 集群验证与后期优化#
7.1 核心服务验证#
# HDFS验证
hdfs dfs -mkdir /test
hdfs dfs -put /etc/hosts /test
hdfs dfs -cat /test/hosts
# YARN MapReduce验证
yarn jar /opt/cloudera/parcels/CDH/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar pi 2 5
# Hive验证
beeline -u jdbc:hive2://cm-manager:10000 -n hive -p hive
> show databases;7.2 自动启动与监控配置#
- 进入CM"集群设置",开启"服务自动启动";
- 配置CM邮件告警:进入"管理"→"监控"→"告警",添加SMTP服务器;
- 配置磁盘告警阈值:设置数据盘使用率超过85%触发告警。
7.3 性能调优建议#
- 磁盘优化:数据目录挂载添加
noatime参数(编辑/etc/fstab); - JVM调优:调整NameNode/ResourceManager的堆内存为节点内存的1/4~1/3;
- 网络优化:开启HDFS短路径读取、YARN容器网络隔离。
8. 常见问题与解决方案#
| 问题现象 | 解决方案 |
|---|---|
| CM Agent无法注册到Server | 1. 检查主机名解析是否正确;2. 关闭防火墙;3. 验证Server 7182端口开放(telnet cm-manager 7182) |
| Parcel无法激活 | 1. 检查SHA文件命名是否正确;2. 验证Parcel包MD5与SHA文件一致;3. 清理临时文件后重试 |
| NameNode启动失败 | 1. 检查JDK版本是否为1.7;2. 查看HDFS元数据目录权限;3. 验证ZooKeeper服务正常 |
| CM Web界面无法访问 | 1. 检查cloudera-scm-server状态;2. 查看端口7182是否被占用;3. 清理CM日志缓存 |
9. 最佳实践总结#
- 资源隔离:管理节点与数据节点物理分离,避免资源竞争;
- 离线源维护:搭建本地YUM源,统一管理CM、CDH及系统依赖包;
- 备份策略:定期备份CM数据库、HDFS元数据(fsimage)及服务配置;
- 权限管控:禁用root用户运行服务,使用cloudera-scm用户;
- 日志管理:配置日志轮转,避免日志占满磁盘。
10. 参考资料#
- Cloudera Manager 5.1.3 官方安装指南:https://archive.cloudera.com/cm5/5.1.3/DOCUMENTATION/Cloudera-Manager-Installation-Guide-5.1.3.pdf
- CDH5.1.3 官方文档:https://archive.cloudera.com/cdh5/5.1.3/DOCUMENTATION/
- Cloudera 离线安装官方教程:https://docs.cloudera.com/documentation/enterprise/5-1-x/topics/install_offline.html
- MySQL Connector/J 5.1 文档:https://dev.mysql.com/doc/connector-j/5.1/en/