Cloudera平台软件体系结构

XPWS9QQ2BT~_PF3$ONO]U@V.png

Cloudera的软件体系结构中包含了以下模块:系统部署和管理,数据存储,资源管理,处理引擎,安全,数据管理,工具库以及访问接口。一些关键组件的角色信息:

WT7SBQ1LCWNCU%LSK})AY9V.pngRO6FEMAPKC}K~7E[1G$BSP7.png

硬件配置

集群服务器按照节点承担的任务分为管理节点和工作节点。管理节点上一般部署各组件的管理角色,工作节点一般部署有各角色的存储、容器或计算角色。根据业务类型不同,集群具体配置也有所区别:

1. 实时流处理服务集群:Hadoop实时流处理性能对节点内存和CPU有较高要求,基于Spark Streaming的流处理消息吞吐量可随着节点数量增加而线性增长。

89DGKXSGY}1FBPCUZNWF_4O.png


2. 在线分析业务集群:在线分析业务一般基于Impala等MPP SQL引擎,复杂的SQL计算对内存容量有较高要求,因此需要配置128G甚至更多的内存。

IGTY)2F{[HDBI6L(NR[ZNXG.png


3. 云存储业务集群:云存储业务主要面向海量数据和文件的存储和计算,强调单节点存储容量和成本,因此配置相对廉价的SATA硬盘,满足成本和容量需求

)CQW6AWG1LNY~42DH4(5Y7N.png

角色分配

小规模集群

搭建小规模集群一般是为了支撑专有业务,受限于集群的存储和处理能力,不太适合用于多业务的环境。这可以部署成一个HBase的集群;也可以是一个分析集群,包含YARN,Impala。在小规模集群中,为了最大化利用集群的存储和处理能力,节点的复用程度往往也比较高。下图是一个典型的小规模集群部署方式:

X7V@1LIOQ]7YZ}AL%A~ZG7D.png

对于那些需要两个以上节点来支持HA功能的,集群中分配有一个工具节点可以承载这些角色,并同时可以部署一些其他工具角色,这些工具角色本身消耗不了多少资源:

SDX6DCVT1XE2W0ILBUH9(7U.png

其余节点可以部署为纯工作节点,包含:

CK_FODQV4RAY~~G1SU}[1SB.png

中等规模集群

一个中等规模的集群,集群的节点数一般在20到200左右,通常的数据存储可以规划到几百TB,适用于一个中型企业的数据平台,或者大型企业的业务部门数据平台。节点的复用程度可以降低,可以按照管理节点、主节点、工具节点和工作节点来划分。

`AIT@ZY)1~NVPA_25]FTRBP.png

管理节点上就安装Cloudera Manager、Cloudera Management Service。

主节点上安装有个CDH服务的管理节点以及HA的组件,可以如下方式部署:

VZBFE1B(}BUIICV`E20CSQV.png

工具节点可以部署以下一些角色:

AZ81)@4$1@8JMO35%R5)YDX.png

工作节点的部署和小规模类似:

X@0P]}@RXF[`TINZBG~`S7D.png

大规模集群

大规模集群的数量一般会在200以上,存储容量可以是大几百的TB甚至是PB级别,适用于大型企业搭建全公司的数据平台。和中等规模的集群相比,部署的方案相差不大,主要是一些主节点可用性的增强。

{)U}}T@XXMR[F_662J}FHHL.png

HDFS JournalNode由3个增加到5个,Zookeeper Server和HBase Master也由3个增加到5个,Hive Metastore的数量有1个增加到3个。

网络拓扑

单机架部署

对于一个小规模的集群,或者一个单个rack的集群,所有的节点都连接到相同的接入层交换机。接入层交换机配置为堆叠的方式,互为冗余并增加了交换机吞吐。所有的节点两个网卡配置为主备或者负载均衡模式,分别连入两个交换机。在这种部署模式下,接入层交换机也充当了聚合层的角色。

B9]4KX}5(4HMQDMSXI%)9TX.png

多机架部署

在多机架的部署模式下,除了接入层交换机,还需要聚合层交换机,用于连接各接入层交换机,负责跨rack的数据存取。

Y4{4R{VMVUCQCNRJA(WNPVF.png


实际部署样例

在机架上分配角色时,为了避免接入层交换机的故障导致集群的不可用,需要将一些高可用的角色部署到不同的接入层交换机之下(注是不同的接入层之下,而不是不同的物理rack下,很多时候,客户会将不同物理rack下的机器接入到相同的接入层交换机下。)以下是一个80个节点的物理部署样例。

S7G@HW[XK$3)SMRO$Y(CO7G.png


 本文章转自Cloudera中国