
2.4 Cloudera平台参考部署架构
按照Cloudera官方手册,这里归纳总结出Cloudera大数据平台参考部署的架构指导。
2.4.1 Cloudera的软件体系结构
Cloudera的软件体系结构中包含系统部署和管理,数据存储,资源管理,处理引擎,安全,数据管理,工具仓库以及访问接口模块。一些关键组件的角色信息如表2-1所示。
表2-1 Cloudera一些关键组件的角色信息

2.4.2 群集硬件规划配置
集群服务器按照节点承担的任务分为管理节点和工作节点。管理节点上一般部署各组件的管理角色,工作节点一般部署有各角色的存储、容器或计算角色。根据业务类型不同,集群具体配置也有所区别。
(1)实时流处理服务集群:由于性能的原因,Hadoop实时流处理对节点内存和CPU有较高要求,基于Spark Streaming的流处理消息吞吐量可随着节点数量增加而线性增长,配置可参考图2-12。

图2-12
(2)在线分析业务集群:在线分析业务一般基于Impala等MPP SQL引擎,复杂的SQL计算对内存容量有较高要求,因此需要配置128GB甚至更多的内存。硬件参考规划如图2-13所示。

图2-13
(3)云存储业务集群:云存储业务主要面向海量数据和文件的存储和计算,强调单节点存储容量和成本,因此配置相对廉价的SATA硬盘,满足成本和容量需求。硬件规划配置如图2-14所示。

图2-14
2.4.3 Hadoop集群角色分配
Hadoop大数据平台集群角色简称如图2-15所示,请读者务必熟悉这些简称。

图2-15
(1)搭建小规模集群一般是为了支撑专有业务,受限于集群的存储和处理能力,不太适合用于多业务的环境。可以部署成一个HBase的集群,也可以部署成一个分析集群,包含YARN、Impala。在小规模集群中,为了最大化利用集群的存储和处理能力,节点的复用程度往往比较高,如图2-16所示。对于那些需要两个以上节点来支持HA功能的,集群中分配有一个工具节点可以承载这些角色,并可以同时部署一些其他工具角色(这些工具角色本身消耗不了多少资源),其余节点可以部署为纯工作节点。

图2-16
(2)对于一个中等规模的集群,节点数一般在20~200,通常的数据存储可以规划到几百太字节,适用于一个中型企业的数据平台或者大型企业的业务部门数据平台。节点的复用程度可以降低,可以按照管理节点、主节点、工具节点和工作节点来划分,如图2-17所示。

图2-17
管理节点上安装Cloudera Manager、Cloudera Management Service。主节点上安装CDH服务以及HA的组件。工具节点部署HiveServer2、Hue Server、Oozie Server、Flume Agent、Sqoop Client、Gateway。工作节点的部署和小规模集群类似。
(3)大规模集群的数量一般会在200以上,存储容量可以是几百太字节(TB)甚至是拍字节(PB)级别,适用于大型企业搭建全公司的数据平台,如图2-18所示。
这里HDFS JournalNode由3个增加到5个,ZooKeeper Server和HBase Master也由3个增加到5个,Hive Metastore的数量由1个增加到3个。和中等规模的集群相比,部署的方案相差不大,主要是一些主节点可用性的增强。

图2-18
2.4.4 网络拓扑
对于一个小规模的集群或者单个rack的集群,所有的节点都连接到相同的接入层交换机。接入层交换机配置为堆叠的方式,互为冗余并增加了交换机吞吐。所有的节点两个网卡配置为主备或者负载均衡模式,分别连入两个交换机。在这种部署模式下,接入层交换机充当了聚合层的角色。
在多机架的部署模式下,除了接入层交换机,还需要聚合层交换机,用于连接各接入层交换机,负责跨rack的数据存取。
在机架上分配角色时,为了避免接入层交换机的故障导致集群的不可用,需要将一些高可用的角色部署到不同的接入层交换机之下(注意是不同的接入层之下,而不是不同的物理rack下,很多时候,客户会将不同物理rack下的机器接入到相同的接入层交换机下)。一个80个节点的物理部署示例如图2-19所示。

图2-19
第3章 Cloudera Manager及CDH离线安装部署
Cloudera Manager(CM)是由Cloudera公司提供的大数据组件自动部署和监控管理工具。CDH是Cloudera公司在Apache Hadoop社区版的基础上做了商业化封装的大数据平台。Apache Hadoop服务的部署非常烦琐,需要手动编辑配置文件、下载依赖包、协调版本兼容等。Cloudera Manager以GUI的方式管理Cloudera Hadoop集群,并提供向导式的安装步骤。