服务器搭建CDH详细指南(基于Cloudera Manager)
环境准备与前置条件
CDH(Cloudera Distribution Hadoop)是Cloudera公司提供的企业级Hadoop发行版,集成了Hadoop生态的核心组件(HDFS、YARN、Hive、Spark等),搭建CDH集群需要以下基础环境:
项目 | 要求 |
---|---|
操作系统 | CentOS 7.6+/Red Hat 7.6+/Ubuntu 20.04+(推荐CentOS) |
硬件配置 | 至少3台服务器(1个Master+2个Worker),每台CPU≥4核、内存≥8GB、磁盘≥500GB |
网络要求 | 所有节点互通,建议千兆网卡,关闭防火墙或开放必要端口(如22、7182、8088等) |
软件依赖 | Java JDK 1.8+、SSH免密登录(所有节点互相信任) |
Cloudera Manager | 需单独部署,用于管理CDH集群 |
安装前的关键步骤
配置SSH免密登录
在所有节点执行以下命令(以master
节点为例):ssh-keygen -t rsa # 生成密钥对,连续回车 ssh-copy-id user@worker1 # 将公钥复制到其他节点 ssh-copy-id user@worker2
同步时间
所有节点时间需一致,安装chrony
并配置NTP:yum install chrony -y systemctl enable --now chronyd # 修改`/etc/chrony.conf`,添加阿里云NTP服务器: server ntp.aliyun.com iburst
创建用户与目录
创建统一用户(如hadoop
)并设置权限:useradd hadoop su hadoop mkdir -p ~/data/{hdfs,yarn,hive,zookeeper}
安装Cloudera Manager Server
下载CM安装包
从Cloudera官网下载对应版本的cm-xx.tar.gz
,上传至Master节点。解压并安装
tar -zxvf cm-xx.tar.gz ./cm-installer --verbose
- 选择
Express Installation
模式。 - 设置数据库类型(推荐MySQL或PostgreSQL)。
- 配置管理员账号(如
admin/admin
)。
- 选择
启动CM服务
安装完成后,访问https://<master-ip>:7180
,使用管理员账号登录。
通过CM部署CDH集群
添加CDH Parcel包
- 在CM界面中,进入
Admin
→Management
→Parcels
。 - 点击
Add
,选择下载好的CDH Parcel包(如CDH-7.1.7-el7.parcel
)。
- 在CM界面中,进入
创建集群
- 点击
Clusters
→Add Cluster
。 - 填写集群名称(如
cdh-cluster
),选择CDH
版本。 - 分配角色:
- Master节点:HDFS NameNode、YARN ResourceManager、Hive Metastore等。
- Worker节点:HDFS DataNode、YARN NodeManager、Hive Server2等。
- 点击
配置存储布局
| 组件 | 路径 | 用途 |
|——————–|——————————|——————————|
| HDFS NameNode |/data/hdfs/nn
| 元数据存储 |
| HDFS DataNode |/data/hdfs/dn
| 数据块存储 |
| YARN ResourceManager |/data/yarn/rm
| 资源调度元数据 |
| Hive Metastore |/data/hive/metastore
| Hive元数据 |高可用配置(可选)
- HDFS HA:启用NameNode双活,配置JournalNode(建议3个节点)。
- YARN HA:启用ResourceManager高可用,依赖ZooKeepr。
- ZooKeepr:需单独部署,默认端口2181。
安全认证(Kerberos)
- 安装KDC服务器(如MIT Kerberos)。
- 在CM中启用Kerberos,生成
hadoop.keytab
并分发至各节点。 - 配置
krb5.conf
,示例如下:[libdefaults] default_realm = EXAMPLE.COM [realms] EXAMPLE.COM = { kdc = kdc.example.com admin_server = kdc.example.com }
集群启动与验证
启动服务
在CM界面点击Start
,按顺序启动HDFS、YARN、Hive等服务。验证HDFS
hadoop fs -mkdir /user/test hadoop fs -put /etc/hosts /user/test/ hadoop fs -ls /user/test
运行示例作业
提交Spark或MapReduce任务(如WordCount),验证YARN调度功能。
常见问题与优化
问题 | 解决方案 |
---|---|
Parcel包下载失败 | 检查网络代理,更换Cloudera镜像源(如阿里云镜像) |
NameNode无法启动 | 检查dfs.namenode.edits.dir 和dfs.namenode.checkpoint.dir 路径权限 |
Hive Metastore连接超时 | 确保MySQL/PostgreSQL服务正常运行,检查防火墙端口(默认3306/5432)是否开放 |
SSH连接被拒绝 | 确认所有节点已配置SSH免密登录,且用户属于hadoop 组 |
FAQs
Q1:CDH Parcel包与Tar包有什么区别?
A1:Parcel包是Cloudera定制的二进制包,集成了所有依赖组件,支持滚动升级;而Tar包是原始Hadoop源码编译包,需手动解决依赖问题。
Q2:如何扩展CDH集群?
A2:在CM界面中,进入Hosts
→ Add Host
,输入新节点IP并分配角色(如DataNode、NodeManager),完成后点击Rebalance
自动分配数据。
小编有话说
搭建CDH集群的核心在于规划与细节,建议初学者先在虚拟机或容器环境中模拟测试,熟悉流程后再部署到物理服务器,务必定期备份/etc/cloudera-scm-agent/config.xml
和HDFS元数据,避免因故障导致数据丢失,对于生产环境,建议开启Kerberos认证并限制YARN资源队列
以上内容就是解答有关“服务器搭建cdh”的详细内容了,我相信这篇文章可以为您解决一些疑惑,有任何问题欢迎留言反馈,谢谢阅读。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复