离线安装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 硬件要求 1.2 操作系统兼容性 1.3 基础环境配置 1.4 JDK离线安装
  2. 离线资源制备 2.1 资源下载地址 2.2 必备离线资源清单
  3. 数据库配置(MySQL) 3.1 MySQL离线安装 3.2 CM元数据数据库初始化
  4. Cloudera Manager 离线安装 4.1 CM Server 安装与配置 4.2 CM Agent 批量安装与注册
  5. CDH5.1.3 Parcel离线部署 5.1 Parcel包上传与配置 5.2 Parcel分配与激活
  6. CDH集群部署(Web界面) 6.1 集群创建向导 6.2 角色分配与最佳实践 6.3 服务配置与启动
  7. 集群验证与后期优化 7.1 核心服务验证 7.2 自动启动与监控配置 7.3 性能调优建议
  8. 常见问题与解决方案
  9. 最佳实践总结
  10. 参考资料

1. 前期准备#

1.1 硬件要求#

CM5.1.3与CDH5.1.3对硬件的最低要求如下(生产环境建议翻倍):

节点类型CPU核心内存磁盘空间网络带宽
管理节点(CM)≥4核≥8GB系统盘≥100GB,数据盘≥200GB1Gbps+
数据节点≥2核≥4GB数据盘≥500GB×2(RAID0/5)1Gbps+
ZooKeeper节点≥2核≥2GB系统盘≥50GB1Gbps+

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
EOF

1.3.2 关闭防火墙与SELinux#

# 关闭防火墙
systemctl stop firewalld && systemctl disable firewalld
# 临时禁用SELinux
setenforce 0
# 永久禁用SELinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

1.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-manager

1.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 -version

2. 离线资源制备#

2.1 资源下载地址#

所有资源从Cloudera归档仓库下载:

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@123

4. 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分配与激活#

  1. 登录CM Web界面,进入"Parcel"页面;
  2. 等待CM自动识别Parcel包,点击"分配"选择所有节点;
  3. 分配完成后点击"激活",等待激活完成(约5-10分钟);
  4. 验证:所有节点/opt/cloudera/parcels/CDH目录存在即为成功。

6. CDH集群部署(Web界面)#

6.1 集群创建向导#

  1. 点击主页"添加集群",输入集群名称(如BigData-Cluster);
  2. 选择已注册的所有Agent节点,点击"继续";
  3. 选择要安装的服务:推荐基础组合为ZooKeeper、HDFS、YARN+MapReduce2、HBase、Hive、Spark2;

6.2 角色分配与最佳实践#

服务角色分配建议
ZooKeeper3个数据节点(奇数节点,避免脑裂)
HDFSNameNode:单独管理节点
SecondaryNameNode:非NameNode节点
DataNode:所有数据节点
YARNResourceManager:非NameNode节点
NodeManager:所有数据节点
HBaseHMaster:非NameNode/ResourceManager节点
RegionServer:所有数据节点
HiveHiveServer2:管理节点或单独节点
Metastore:管理节点

6.3 服务配置与启动#

  1. CM会根据硬件自动推荐配置,可调整:
    • HDFS块大小:256MB(大文件场景)
    • YARN Container内存:根据节点内存调整(如节点16G内存,分配12G给YARN)
  2. 点击"继续",CM自动安装、配置、启动所有服务;
  3. 完成后进入集群主页,查看所有服务状态为"绿"即成功。

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 自动启动与监控配置#

  1. 进入CM"集群设置",开启"服务自动启动";
  2. 配置CM邮件告警:进入"管理"→"监控"→"告警",添加SMTP服务器;
  3. 配置磁盘告警阈值:设置数据盘使用率超过85%触发告警。

7.3 性能调优建议#

  • 磁盘优化:数据目录挂载添加noatime参数(编辑/etc/fstab);
  • JVM调优:调整NameNode/ResourceManager的堆内存为节点内存的1/4~1/3;
  • 网络优化:开启HDFS短路径读取、YARN容器网络隔离。

8. 常见问题与解决方案#

问题现象解决方案
CM Agent无法注册到Server1. 检查主机名解析是否正确;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. 最佳实践总结#

  1. 资源隔离:管理节点与数据节点物理分离,避免资源竞争;
  2. 离线源维护:搭建本地YUM源,统一管理CM、CDH及系统依赖包;
  3. 备份策略:定期备份CM数据库、HDFS元数据(fsimage)及服务配置;
  4. 权限管控:禁用root用户运行服务,使用cloudera-scm用户;
  5. 日志管理:配置日志轮转,避免日志占满磁盘。

10. 参考资料#

  1. Cloudera Manager 5.1.3 官方安装指南:https://archive.cloudera.com/cm5/5.1.3/DOCUMENTATION/Cloudera-Manager-Installation-Guide-5.1.3.pdf
  2. CDH5.1.3 官方文档:https://archive.cloudera.com/cdh5/5.1.3/DOCUMENTATION/
  3. Cloudera 离线安装官方教程:https://docs.cloudera.com/documentation/enterprise/5-1-x/topics/install_offline.html
  4. MySQL Connector/J 5.1 文档:https://dev.mysql.com/doc/connector-j/5.1/en/