服务器搭建cdh集群

规划集群架构,安装JDK及SSH互信,部署CM管理节点,安装CDH组件至各节点,配置角色与服务,调优内存和JCE参数后启动集群

环境准备与集群规划

硬件与软件要求

CDH(Cloudera Distribution Hadoop)集群的搭建需要满足以下基础条件:

服务器搭建cdh集群

项目 要求
操作系统 CentOS 7.6+/RedHat 7.3+/Ubuntu 18.04+(推荐CentOS)
CPU 单节点至少4核(主节点建议8核以上)
内存 单节点至少8GB(主节点建议16GB+)
磁盘 主节点需50GB+(安装软件及元数据存储),数据节点需1TB+ HDD/SSD
网络 所有节点需互通,建议千兆网卡,关闭防火墙或开放必要端口(如22、80、443等)
Java环境 JDK 1.8+(CDH自带,但需确认版本兼容性)

集群角色分配

CDH集群通常包含以下角色,需根据业务需求分配:
| 角色 | 职责 | 推荐节点数量 |
|——————-|———————————————————————-|——————|
| NameNode | HDFS元数据管理(唯一) | 1 |
| DataNode | HDFS数据存储(可多节点) | ≥1 |
| ResourceManager| YARN资源调度(唯一) | 1 |
| NodeManager | YARN任务执行(每数据节点1个) | ≥1 |
| Hive Metastore| Hive元数据管理(可与NameNode共用) | 1(可选独立) |

安装前配置

SSH免密登录

所有节点需配置SSH免密登录(以hadoop用户为例):

# 在主节点生成密钥对
ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa
# 将公钥分发到其他节点
for node in node1 node2 node3; do
  ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop@$node
done

系统配置优化

编辑/etc/sysctl.conf,添加以下参数:

vm.swappiness = 1          # 禁用交换分区
fs.file-max = 1000000      # 增大文件句柄数
net.core.somaxconn = 1024  # 增大TCP连接队列

生效配置:

sysctl -p

主机名与IP映射

在所有节点的/etc/hosts中添加:

服务器搭建cdh集群

168.1.100 master
192.168.1.101 node1
192.168.1.102 node2

CDH安装步骤

下载与解压Parcel包

从Cloudera官网下载对应版本的CDH Parcel包(如CDH-7.1.7-el7.parcel),上传至主节点/opt/cloudera/parcels/目录并解压。

安装CM与CDH

# 添加Cloudera仓库
wget -O /etc/yum.repos.d/cloudera-cdh.repo https://archive.cloudera.com/cdh7/7.1.7/rhel7/x86_64/cdh/cloudera-cdh.repo
# 安装CDH Manager Server(仅主节点)
yum install -y cloudera-manager-server cloudera-manager-agent
# 安装CDH组件(所有节点)
yum install -y hadoop-lib-native hadoop-client hadoop-hdfs-namenode hadoop-yarn-resourcemanager

启动CM服务

# 主节点启动CM Server
systemctl start cloudera-scm-server
systemctl enable cloudera-scm-server
# 其他节点启动Agent
systemctl start cloudera-scm-agent
systemctl enable cloudera-scm-agent

集群配置与启动

通过CM控制台配置集群

  1. 访问http://master:7180,输入默认账号admin/admin
  2. 添加主机组,选择所有节点。
  3. 分配角色:
    • 主节点:NameNode、ResourceManager、Hive Metastore。
    • 数据节点:DataNode、NodeManager。
  4. 配置HDFS:
    • NameNode数据目录:/var/lib/hadoop-hdfs/cache/hdfs/dfs/name
    • DataNode数据目录:/var/lib/hadoop-hdfs/cache/hdfs/dfs/data
  5. 配置YARN:
    • 资源调度策略:Capacity Scheduler(默认)
    • 内存与CPU分配:按物理资源比例分配。

启动集群服务

在CM控制台中依次启动以下服务:

  1. ZooKeeper Quorum(若启用HA)
  2. HDFS NameNode
  3. HDFS DataNodes
  4. YARN ResourceManager
  5. YARN NodeManagers
  6. Hive Metastore(可选)

验证集群状态

Web界面检查

  • HDFS健康状态:http://master:50070/
  • YARN状态:http://master:8088/
  • Hive接口:http://master:10000/

运行测试任务

在任意节点提交MapReduce任务:

hadoop jar /usr/share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar wordcount /tmp/input /tmp/output

检查输出是否符合预期。

常见问题与优化

性能调优

参数 优化建议
dfs.replication 根据数据重要性设置为2或3(默认3)
yarn.scheduler.maximum-allocation-mb 调整为物理内存的80%(如16GB节点设为12800MB)
mapreduce.map.memory.mb 设为物理内存的50%(如8GB节点设为4096MB)

故障排查

问题 解决方案
NameNode无法启动 检查/var/lib/hadoop-hdfs/cache/hdfs目录权限,确保属主为hdfs:hdfs
DataNode失联 验证SSH免密登录,检查网络连通性(pingtelnet测试)
YARN任务失败 查看NodeManager日志(/var/log/hadoop-yarn/),检查容器内存分配是否合理

FAQs

Q1:CDH版本如何选择?
A1:根据业务需求选择:

服务器搭建cdh集群

  • CDH 6.x:适合传统Hadoop生态,兼容旧版组件。
  • CDH 7.x:支持Kubernetes集成、HDFS纠删码,推荐新项目使用。
  • CDP(Cloudera Data Platform):企业级付费版,提供更高安全性和混合云支持。

Q2:如何扩展已有CDH集群?
A2:

  1. 在CM控制台中添加新节点到现有主机组。
  2. 分配角色(如DataNode、NodeManager)。
  3. 手动同步配置文件(如hdfs-site.xml)到新节点。
  4. 重启相关服务(HDFS或YARN)使配置生效。

小编有话说

CDH集群的搭建只是起点,实际生产环境中需关注以下问题:

  1. 安全认证:建议启用Kerberos或LDAP,限制未授权访问。
  2. 监控告警:集成Nagios、Prometheus或Cloudera自带的Alert机制,及时处理磁盘满、内存溢出等问题。
  3. 数据备份:定期备份NameNode元数据(fsimage)和Hive元数据(metastore_db)。
  4. 日志管理:集中收集/var/log/hadoop-*日志,便于排查问题。

通过以上步骤,您将拥有一个稳定且可扩展的CDH大数据集群,为后续的数据分析、

以上就是关于“服务器搭建cdh集群”的问题,朋友们可以点击主页了解更多内容,希望可以够帮助大家!

【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!

(0)
热舞的头像热舞
上一篇 2025-05-10 09:52
下一篇 2025-05-10 10:01

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

QQ-14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信