集群规模计算 集群规模取决于用户数据及应用需求,最终规划值为以下各种计算方式得出的最小集群规模的最大值 • 容量需求 – 估算相对容易且准确 – 大多数案例可以通过容量来决定集群规模 • 计算需求 – 准确的估算计算资源只能通过小规模测试并合理估算 • 其他资源限制 – 如用户MapReduce应用可能对内存等资源有特殊要求,且单节点可配置资源相对有限,则集群最小规模需满足用户此类资源要求

网络建议 • 建议使用万兆网络或更高速度网络 – 如要充分利用磁盘并行操作带宽,至少需要万兆网络 – 即使带宽足够,使用高带宽网络也能带来性能提升 • 对网络带宽敏感的场景: – ETL类型或其他高输入输出数据量的MapReduce任务 – 对于空间或者电力资源有限的环境中,可使用大容量节点并配合高速度网络 – HBase等时延敏感类应用也对网络传输速度有要求

传统树状网络 • 网络超额(Oversubscription) – 通过增加层次扩充网络,但会有如下问题 – 节点间网络距离增加 – 网络超额问题恶化 • 因此尽量采用超多端×××换机或扩充交换机背板扩充端口容量 – 小型或中型网络可以使用双层树形架构 – 仅通过顶层交换机上行端口和外部系统进行交互 – 避免Hadoop的网络传输风暴污染外部网络

组件架构 • 管理节点(Head/Master Node):如NameNode, Yarn及Master等 – 提供关键的、集中的、无替代的集群管理服务 – 若该管理服务停止,则对应集群Hadoop服务停止 – 需要可靠性高的硬件设备 • 数据节点(Data/Worker/Slave Node) – 处理实际任务,如数据存储,子任务执行等 – 同节点运行多个服务,为保证局部性 – 若该服务停止,则由其他节点自动代替服务 – 硬件各部件皆可能损坏,但能方便的替换 • 边缘节点(Edge Node) – 对外提供Hadoop服务代理以及包装 – 作为客户端访问实际Hadoop服务 – 需要可靠性高的硬件设备

管理节点硬件要求 • 管理节点角色主要包括NameNode,Secondary NameNode,Yarn RM – Hive Meta Server以及Hive Server通常部署在管理节点服务器上 – Zookeeper Server以及Hmaster可以选取数据节点服务器,由于一般负载有限,对节点无太大特殊要求 – 所有HA候选服务器(Active以及Standby)使用相同配置 – 通常对内存要求高但对存储要求低 • 建议使用高端PC服务器甚至小型机服务器,以提高性能和可靠性 – 双电源、冗余风扇、网卡聚合、RAID… – 系统盘使用RAID1 – 由于管理节点数目很少且重要性高,高配置一般不是问题

数据节点配置策略建议 • 数量少但单点性能高的集群 vs. 数量多但单点性能低的集群 – 一般而言,使用更多的机器而不是升级服务器配置 – 采购主流的最”合算”配置的服务器,可以降低整体成本 – 数据多分布可获得更好的scale-out并行性能以及可靠性 – 需要考虑物理空间、网络规模以及其他配套设备等综合因素来 • 考虑集群服务器数目 – 计算密集型应用考虑使用更好的CPU以及更多的内存

内存需求计算 • 需要大内存的主节点角色: – NameNode, Secondary NameNode,YARN AM, Hbase Regionserver • 节点内存算法: – 大内存角色内存相加 – 计算类应用需要大内存,如Spark/Impala建议至少256GB内存

硬盘容量选择 • 通常建议使用更多数目的硬盘 – 获得更好的并行能力 – 不同的任务可以访问不同的磁盘 – 8个1.5TB的硬盘性能好于6个2TB的硬盘 – 除去数据永久存储需求外,一般建议预留20%至30%的空间用于存储临时数据 • MapReduce任务中间数据 • 实际部署中每服务器配备12个硬盘非常常见 – 单节点存储容量最大值不超过48TB

存储服务需求

数据源 Hadoop方式物理存储容量 数据节点数量
原始文件、数据量 625T 625TB*3(复制份数)*0.3(压缩比)/80%(硬盘利用率)=703TB(只存放明细数据,无表,无MR) 按30T每节点703TB/30*1.05(冗余度)=25 台
Hbase 和 Cassandra 数据服务:假设历史数据量为2.6T,每日增量为55G,数据保留365天,3副本使用压缩时:( 2.6 + 0.055*365 ) 1.31.2(key开销)/70%(硬盘利用率)=51T 按30T每节点51T/30*1.3(冗余度)=3台打开WAL时需增加:region server wal大小(通常小於RS內存的一半)

服务器配置建议

| | 管理服务器 | 数据服务器 |边缘服务器 | | -------- | -------- | -------- | | CPU | 2E5-2620v4 | 2E5-2620v4 |2E5-2620v4 | 硬盘 | SAS 600GB4;RAID0+1| SAS 600GB2;SATA  2T15 |SAS 600GB2;SATA  2T15 | 内存 | 256G ECC | 256G ECC |256G ECC | 网络 | 双万兆网卡 | 双万兆网卡 |双万兆网卡 | 数量 | 3 | 30 |3