本文详细记录在 Linux 环境下离线部署 Cloudera Manager (CM) 和 CDH 集群的全过程,包括 HBase、JDK、MySQL 等组件的安装与配置。
1. 环境准备
集群规划:
本文演示环境为三台机器:
- Master: 10.0.0.10
- Node1: 10.0.0.11
- Node2: 10.0.0.12
1.1 修改主机名 (Hostname)
在三台机器上分别执行:
1 | # Master 节点 |
1.2 配置 Hosts
修改所有节点的 /etc/hosts 文件,内容需保持一致:
1 | 10.0.0.10 master |
1.3 配置 SSH 免密登录
在 Master 节点生成密钥并分发给所有节点(包括自己):
1 | # 生成密钥 (一路回车) |
1.4 关闭防火墙与 SELinux
所有节点执行:
1 | # 关闭防火墙 |
注意:如果不关闭 SELinux,后续 HTTP 服务可能会报 403 Forbidden 错误。
1.5 配置 NTP 时间同步
所有节点执行:
1 | # 修改时区 |
2. 离线安装资源准备
2.1 搭建本地 Yum 源
选择 Master (10.0.0.10) 作为本地仓库服务器。
安装 HTTPD
1
2yum install -y httpd createrepo
systemctl start httpd准备 RPM 包
创建目录/var/www/html/cm6,将下载好的 CM6 RPM 包和 JDK RPM 包放入其中。生成 Repodata
1
2cd /var/www/html/cm6
createrepo .配置 Yum Repo文件 (所有节点)
创建/etc/yum.repos.d/cm6.repo:1
2
3
4
5[cm6-local]
name=cm6-local
baseurl=http://10.0.0.10/cm6/
enabled=1
gpgcheck=0刷新缓存
1
yum clean all && yum makecache
2.2 安装 JDK
所有节点执行:
1 | # 假设 RPM 包已在 yum 源中,或者直接安装 |
2.3 安装 MySQL (Master 节点)
安装 MySQL 5.7 作为元数据库。
卸载旧版本 (Mariadb)
1
rpm -qa | grep mariadb | xargs rpm -e --nodeps
安装新版本
解压 RPM Bundle 包并安装:1
2
3
4
5tar -xvf mysql-5.7.19-1.el7.x86_64.rpm-bundle.tar
rpm -ivh mysql-community-common-*.rpm
rpm -ivh mysql-community-libs-*.rpm
rpm -ivh mysql-community-client-*.rpm
rpm -ivh mysql-community-server-*.rpm配置
/etc/my.cnf1
2
3
4
5
6[mysqld]
# 允许远程连接
bind-address=0.0.0.0
character_set_server=utf8mb4
explicit_defaults_for_timestamp=true
# ... 其他标准配置启动并初始化
1
2
3systemctl start mysqld
# 获取临时密码
grep 'temporary password' /var/log/mysqld.log修改密码与授权
1
2
3
4
5
6mysql -u root -p
-- 修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '12345678Qq!';
-- 允许远程 Root 登录
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '12345678Qq!' WITH GRANT OPTION;
FLUSH PRIVILEGES;准备 JDBC 驱动
创建目录并放置驱动:1
2mkdir -p /usr/share/java
cp mysql-connector-java-5.1.49.jar /usr/share/java/mysql-connector-java.jar
2.4 创建业务数据库
登录 MySQL,执行建库脚本(为 scm, amon, rman, hue, hive, oozie 等服务创建数据库和用户)。
(此处省略详细 SQL,参照原文即可,重点是字符集必须为 utf8)
3. 安装 Cloudera Manager
3.1 安装 Server 与 Agent
Master 节点:
1 | yum install cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server |
其他节点:
1 | yum install cloudera-manager-daemons cloudera-manager-agent |
3.2 准备 Parcel 包
Master 节点:
将 CDH Parcel 文件(.parcel, .sha)放入 /opt/cloudera/parcel-repo。
注意:将 .sha1 后缀重命名为 .sha。
3.3 初始化 CM 数据库
Master 节点执行:
1 | /opt/cloudera/cm/schema/scm_prepare_database.sh mysql -h master -uroot -p'12345678Qq!' --scm-host master scm scm scm |
3.4 启动 CM Server
1 | systemctl start cloudera-scm-server |
当出现 Started Jetty server 即表示启动成功。
4. Web 界面安装 CDH 集群
- 访问
http://10.0.0.10:7180,默认账号密码admin。 - 按照向导添加主机(搜索 master, node1, node2)。
- 选择存储库:选择“使用 Parcel”,此时应能识别到本地的 CDH 版本。
- 主机检查:根据提示调整 linux 内核参数(Swappiness, THP 等)。
- 选择服务:根据需求勾选 HDFS, YARN, Zookeeper, HBase, Hive 等。
- 数据库配置:填写之前创建的数据库用户和密码。
- 等待安装完成。
5. 常见问题排查
5.1 主机运行状况不良 (cm_guid 冲突)
如果克隆的虚拟机,可能会导致 UUID 冲突。
解决: 删除所有 Agent 节点的 /var/lib/cloudera-scm-agent/cm_guid 文件并重启 Agent。
1 | rm -f /var/lib/cloudera-scm-agent/cm_guid |
5.2 日志清理脚本
CM 相关服务产生的日志较大,可配置定时任务清理 *.log.* 和 *.out.* 文件。清理后若监控页面无数据,需重启 Cloudera Management Service。
本文作者: NUK
最后更新: 2026年01月08日 17:59:45
本文链接: http://www.uilucky.com/post/5a1d538c.html
版权声明: 本作品采用 CC BY-NC-SA 4.0 许可协议进行许可,转载请注明出处!