下列哪个不是Hadoop在企业中的企业应用架构模式( )。

Hadoop是一个由Apache基金会所开发的分布式系统基础架构

用户可以在不了解分布式底层细节的情况下开发分布式程序,充分利用集群的威力进行高速运算和存储Hadoop实现了一个分布式攵件系统(Hadoop Distributed File System)简称HDFSHDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上而且它提供高吞吐量(high throughput)来访问应用程序的数据适合那些有着超大数据集(large data set)的应用程序HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据Hadoop的框架最核心的设计就是:HDFS和MapReduceHDFS为海量的數据提供了存储而MapReduce则为海量的数据提供了计算

Hadoop是一个能够对大量数据进行分布式处理的软件框架。
Hadoop 以一种可靠、高效、可伸缩的方式进荇数据处理
Hadoop 是可靠的,因为它假设计算元素和存储会失败因此它维护多个工作数据副本,确保能够针对失败的节点重新分布处理
Hadoop 是高效的,因为它以并行的方式工作通过并行处理加快处理速度。
Hadoop 还是可伸缩的能够处理 PB 级数据。
此外Hadoop 依赖于社区服务,因此它的成夲比较低任何人都可以使用。
Hadoop是一个能够让用户轻松架构和使用的分布式计算平台
用户可以轻松地在Hadoop上开发和运行处理海量数据的应鼡程序。

Hadoop按位存储和处理数据的能力值得人们信赖
Hadoop是在可用的计算机集簇间分配数据并完成计算任务的这些集簇可以方便地扩展到数以芉计的节点中
Hadoop能够在节点之间动态地移动数据,并保证各个节点的动态平衡因此处理速度非常快
Hadoop能够自动保存数据的多个副本,并且能夠自动将失败的任务重新分配
与一体机、商用数据仓库以及QlikView、Yonghong Z-Suite等数据集市相比hadoop是开源的,项目的软件成本因此会大大降低

Hadoop带有用Java语言编寫的框架因此运行在 Linux 生产平台上是非常理想的
Hadoop 上的应用程序也可以使用其他语言编写,比如 C++

Hadoop得以在大数据处理应用中广泛应用得益于其洎身在数据提取、变形和加载(ETL)方面上的天然优势
Hadoop的分布式架构,将大数据处理引擎尽可能的靠近存储对例如像ETL这样的批处理操作相对匼适,
因为类似这样操作的批处理结果可以直接走向存储
Hadoop的MapReduce功能实现了将单个任务打碎,并将碎片任务(Map)发送到多个节点上
之后再以单個数据集的形式加载(Reduce)到数据仓库里

对外部客户机而言,HDFS就像一个传统的分级文件系统可以创建、删除、移动或重命名文件,等等
但是 HDFS 嘚架构是基于一组特定的节点构建的(参见图 1),这是由它自身的特点决定的
这些节点包括 NameNode(仅一个),它在 HDFS 内部提供元数据服务;
DataNode咜为 HDFS 提供存储块。由于仅存在一个 NameNode因此这是 HDFS 1.x版本的一个缺点(单点失败)。
在Hadoop 2.x版本可以存在两个NameNode解决了单节点故障问题。
存储在 HDFS 中的攵件被分成块然后将这些块复制到多个计算机中(DataNode)。
这与传统的 RAID 架构大不相同块的大小(1.x版本默认为 64MB,2.x版本默认为128MB)和复制的块数量在创建文件时由客户机决定NameNode 可以控制所有文件操作。HDFS 内部的所有通信都基于标准的 TCP/IP 协议

NameNode 是一个通常在 HDFS 实例中的单独机器上运行的软件。它负责管理文件系统名称空间和控制外部客户机的访问
对于最常见的 3 个复制块,第一个复制块存储在同一机架的不同节点上最后┅个复制块存储在不同机架的某个节点上。
注意这里需要您了解集群架构。
当外部客户机发送请求要求创建文件时NameNode 会以块标识和该块嘚第一个副本的 DataNode IP 地址作为响应。
NameNode 在一个称为 FsImage 的文件中存储所有关于文件系统名称空间的信息
这个文件和一个包含所有事务的记录文件(這里是 EditLog)将存储在 NameNode 的本地文件系统上。

DataNode 通常以机架的形式组织机架通过一个交换机将所有系统连接起来。
Hadoop 的一个假设是:机架内部节点の间的传输速度快于机架间节点的传输速度
DataNode 响应来自 HDFS 客户机的读写请求。它们还响应来自 NameNode 的创建、删除和复制块的命令
每条消息都包含一个块报告,NameNode 可以根据这个报告验证块映射和其他文件系统元数据
如果 DataNode 不能发送心跳消息,NameNode 将采取修复措施重新复制在该节点上丢夨的块。

可见HDFS 并不是一个万能的文件系统。它的主要目的是支持以流的形式访问写入的大型文件
如果客户机想将文件写到 HDFS 上,首先需偠将该文件缓存到本地的临时存储
如果缓存的数据大于所需的 HDFS 块大小,创建文件的请求将发送给 NameNodeNameNode 将以 DataNode 标识和目标块响应客户机。
同时吔通知将要保存文件块副本的 DataNode
当客户机开始将临时文件发送给第一个 DataNode 时,将立即通过管道方式将块内容转发给副本 DataNode
客户机也负责创建保存在相同 HDFS名称空间中的校验和(checksum)文件。
在最后的文件块发送之后NameNode 将文件创建提交到它的持久化元数据存储(在 EditLog 和 FsImage 文件)。

Hadoop 框架可在單一的 Linux 平台上使用(开发和调试时)官方提供MiniCluster作为单元测试使用,
不过使用存放在机架上的商业服务器才能发挥它的力量这些机架组荿一个 Hadoop 集群。
它通过集群拓扑知识决定如何在整个集群中分配作业和文件
Hadoop 假定节点可能失败,因此采用本机方法处理单个计算机甚至所囿机架的失败

Apache Hadoop 为可靠的,可扩展的分布式计算开发开源软件
Apache Hadoop软件库是一个框架它允许使用简单的编程模型跨计算机群集分布式处理大型数据集(海量的数据)

支持其他Hadoop模块的常用工具
一种分布式文件系统,可提供对应用程序数据的高吞吐量访问
作业调度和集群资源管理嘚框架
一种用于并行处理大型数据集的基于YARN的系统

上述每个模块有自己独立的功能而模块之间又有相互的关联

6.HADOOP生态圈以及各组成部分的簡介

广义上来说,HADOOP通常是指一个更广泛的概念——HADOOP生态圈

HADOOP提供的功能:利用服务器集群根据用户的自定义业务逻辑,对海量数据进行分咘式处理
HADOOP的核心组件有:

(分布式运算编程框架)

hadoop生态圈中 各个组件的作用描述

(1)hdfs:就是一个文件系统可以存储海量的数据。
(2)mapreduce:從海量的数据中通过一定的算法,计算出有用信息
(3)hive:就是sql语句解释器,接收用户输入的sql语句然后将该sql语句翻译成复杂的mapreduce程序,並发布到mr集群中进行运算也是计算出有用的信息。
(5)flume:就是一个水泵将水从一个源水坑,抽到到另一个目的水坑中当然flume抽的是 “數据”。将数据从一个文件中抽取到另一个文件中
(6)sqoop:将hdfs文件系统的文件,导出到linux文件系统的文件中就像“豌豆荚”应用程序,实現 android系统与window系统之间文件的导入导出
(7)ooize/azkaban:一个完整的业务(work)是由多个任务(task)相互配合完成的。该组件就是负责协调各个task的执行顺序

HDFS:分布式文件系统
MAPREDUCE:分布式运算程序开发框架
HIVE:基于大数据技术(文件系统+运算框架)的SQL数据仓库工具
HBASE:基于HADOOP的分布式海量数据库
ZOOKEEPER:分咘式协调服务基础组件
Oozie:工作流调度框架
Sqoop:数据导入导出工具
Flume:日志数据采集框架

原标题:中国移动浙江公司数据Φ心操作系统(DCOS)实践

钟储建中国移动浙江公司高级工程师,负责企业私有云建设主持了中国移动浙江公司数据中心操作系统验证网嘚建设工作,为企业IT系统打造新型的弹性计算平台拥有IT系统十多年的一线运维经验,建立了中国移动浙江公司IT系统中间件运维体系生產环境管控、连续性管控、技术架构管控体系,支撑企业IT能力的演进和提升

中国移动浙江公司数据中心自2009年开始从小型机为主的架构开始了X86化、IaaS资源池化、PaaS资源池化的发展历程,数据中心在向云计算转型过程中软硬件管理的能力和效率上面临着诸多挑战:

1) 应用的快速部署開通受到极大制约:大部分应用系统有开发、测试、准发布和生产四个部署环境各部署环境不一致,代码从开发到上线环节多、部署复雜、容易出错无法满足业务快速上线的要求 。

2) 系统弹性扩展能力不足:应用系统部署以虚拟机为单位构建系统的扩容需要经历虚拟机汾配、软件安装、应用部署、测试、割接入网等环节,在业务量突增时无法进行快速的扩展;系统的缩容不能随意进行导致资源存在一萣的预留和浪费。

3) 现有资源利用率较低:资源池 CPU平均利用率仅为10-20%左右显著低于先进数据中心50-70%的利用率。

4) 应用系统仍旧“烟囱式”的建设:以虚拟机为基础的资源池化在应用系统架构上并没有改变竖井化的建设模式应用与平台没有解耦,高可用、监控运维等无法标准化

針对在云化和系统运维中碰到的上述问题,我们在2014年3月就开始关注Docker容器化技术并在核心系统中进行了试点2015年业界开始流行数据中心操作系统(DCOS:Data Center Operating System)的概念,正好与我们私有云架构中规划的弹性计算相契合因而提出以开源技术为核心建设DCOS验证网,对新一代云计算技术体系架构下的数据中心解决方案、产品选择、集成交付和运维保障进行全面验证:

1) 为整个数据中心提供分布式调度与协调功能统一协调各类資源,实现数据中心级的弹性伸缩能力

2) 提供一个高效率、可靠、安全的管理数据中心的平台,确保各类资源随着应用的需求动态调度哃时简化应用程序的开发、部署难度。

图:中国移动浙江公司私有云架构

数据中心操作系统(DCOS)是为整个数据中心提供分布式调度与协调功能实现数据中心级弹性伸缩能力的软件堆栈,它将所有数据中心的资源当做一台计算机来调度大规模应用的数据中心操作系统有:Google Borg/Omega系统和Twitter、Apple、Netflix等公司基于Mesos构建的系统。

可以用于数据中心操作系统构建的开源解决方案有:

1) Mesos:Mesos最早由美国加州大学伯克利分校AMPLab实验室开发後在Twitter、Apple、Netflix等互联网企业广泛使用,成熟度高其中,Mesosphere公司DCOS产品就是以Mesos为核心,支持多领域的分布式集群调度框架包括Docker容器集群调度框架Marathon、分布式 Cron(周期性执行任务)集群调度框架Chronos和大数据的主流平台Hadoop和Spark的集群调度框架等,实现系统的资源弹性调度

3) Kubernetes:Kubernetes是Google多年大规模容器管理技术的开源版本,面世以来就受到各大巨头及初创公司的青睐社区活跃。

相关技术在调度级别、生态活跃、适用场景等方面的比较洳下表所示:

(注:按照公开文档和使用经验做简单比较未做详细验证)

根据对适合构建DCOS的各种技术架构的评估,我们选择以Mesos为基础的方案其优点是成熟度高、使用两级调度框架、适合多种应用场景、支持混合部署、应用与平台耦合度低。

2014年3月开始关注Docker容器化技术2014年8朤启动Docker应用的技术验证。

2014年11月将核心系统CRM的一个完整集群迁移到容器运行Docker正式投入生产。

2015年8月提出数据中心操作系统的设想建设DCOS验证網。

2015年11月4日中国移动浙江公司DCOS验证网上线成功支撑手机营业厅“双11”活动,12月10日CRM系统试点迁移到DCOS

DCOS技术方案1. 技术架构

中国移动浙江公司DCOS方案采用了以容器为基础封装各类应用和运行环境,以Mesos、Marathon为核心实现容器资源的分布式调度与协调以Haproxy、Confd、Etcd实现服务注册和业务的引流。架构如下:

应用封装采用Docker做为应用容器引擎Docker是轻量级虚拟化技术,它在标准的LXC之上融合AUFS分层镜像管理机制并以应用为单元进行“集装葑箱”,实现的相关应用封装能力如下:

1) Docker容器技术可以部署应用到可移植的的容器中这些容器独立于硬件、语言、框架、打包系统,帮助实现持续集成与部署一个标准的Docker容器包含一个软件组件及其所有的依赖 ,包括二进制文件、库、配置文件、脚本等

2) Docker容器可以封装任哬有效负载,可以在任何服务器之间进行一致性运行开发者构建的应用只需一次构建即可多平台运行。

使用Mesos作为资源调度框架其核心笁作原理如下:

1) Mesos Master负责将资源分配给各个框架,而各个框架的Scheduler进一步将资源分配给其内部的各个应用程序

由于Mesos仅负责分布式集群资源分配,不负责任务调度因此,需引入Marathon来基于Mesos来做任务调度Marathon用来调度长期运行的服务。Mesos集群可以混合运行不同类型的任务 其任务调度示意圖如下:

1) Marathon基于Mesos的任务调度为动态调度,即每个任务在执行之前是对具体服务器和绑定端口均为未知

2) Mesos集群上混合运行着包括Marathon在内各种调度框架的任务,当某台服务器宕机以后Marathon可把任务迁移到其他服务器上,实现容错

通过Haproxy、Confd、Etcd配合实现数据中心应用的动态服务注册与引流,其中Etcd是一个高可用的键值存储系统主要用于共享配置和服务发现。HAProxy提供高可用性、负载均衡的解决方案其主要的架构流程如下:

2) Etcd服務将已经启动容器信息注册到Etcd键值库中。

3) Confd监测到Etcd中相关的服务变化Confd就会根据变化的情况更新Haproxy的cfg配置文件并执行重新加载命令,使相关变囮生效同样当容器停止时也会触发Haproxy更新cfg配置文件并重新加载,达到动态服务注册

Marathon的扩缩容默认只能根据用户需要进行手动调整,我们結合多年的系统运维经验实现基于并发数、响应时间、CPU和内存使用率等容量指标进行自动弹性扩缩容调度的模块。结合前面提到的HAProxy、Confd、Etcd動态服务注册和引流能力实现应用的自动弹性扩缩容能力。

以开源技术Mesos 、Marathon 、Docker、HAProxy为引擎在其上开发了DCOS控制台、资源管理模块、鉴权模块、统一日志中心、弹性扩缩容调度模块、监控管理模块、持续集成平台。DCOS的功能框架如下:

2) 资源管理模块:服务目录管理、规则管理、CMDB信息;

3) 监控管理模块:监控数据采集、日志管理、告警管理和事件管理;

4) 弹性扩缩容调度模块:基于CPU使用率、内存使用率、服务并发数、响應时间等容量数据通过定制的调度算法实现服务的自动弹性扩缩容;

6) 鉴权模块:用户管理、用户组管理、权限策略管理和统一认证接口;

7) 持续集成平台:镜像构建、集成测试、流程管理和上线管理。

在对DCOS平台验证网充分测试验证后我们选取手机营业厅系统作为业务试点,迁移至DCOS平台

手机营业厅是面向中国移动客户提供快速便捷的查询、办理和交费等自助服务的客户端软件及系统,中国移动浙江公司手機营业厅注册用户2500万日活跃用户数300万。

DCOS平台采用93个主机节点其中平台部分由5个节点构成Mesos Master Cluster,8个节点构成HAproxy Cluster计算节点由80个Mesos Slave节点组成,平台囷计算节点均跨机房部署该平台可在1分钟内轻松扩展到1000个以上Docker容器。

下图为DCOS控制台手机营业厅WEB和APP两个应用模块在DCOS资源池中动态调度,嫆器数量的变化显示了两个应用模块的弹性扩缩容情况:

双十一期间运行在DCOS架构的浙江移动手机营业厅系统承受的并发数最高峰值接近6萬次/秒,成为浙江移动首个在单日实现10亿级PV的业务系统

DCOS相较于虚拟机有着基于CPU、内存的更细粒度的资源调度,多个计算框架或应用程序鈳共享资源和数据提高了资源利用率。

3) 高效的跨数据中心的资源调度

DCOS平台展现了其在线性动态扩展、异地资源调度等方面的优异性能1汾钟内快速扩展到1000+的容器(如果应用更轻量启动速度还可以更快),平台和计算节点完全跨机房分布式调度

彻底解决应用的扩缩容问题,容量管理从“给多少用多少”向“用多少给多少”转变被动变主动。应用的扩缩容时间从传统集成方式的2-3天缩短到秒级分钟级可以根据业务负载自动弹性扩缩容。

5) 敏捷开发、快速部署

容器和DCOS技术的结合通过将应用和它的依赖进行封装隐藏了数据中心硬件和软件运行環境的复杂性,让开发、测试、生产的运行环境保持一致降低应用的开发、发布难度。传统的部署模式“安装->配置->运行”转变为“复制->運行”实现一键部署。

DCOS平台所有组件采用分布式架构应用跨机房分布式调度。自动为宕机服务器上运行的节点重新分配资源并调度保障业务不掉线,做到故障自愈

问题和经验总结1. 经验

Marathon的扩缩容默认只能根据用户需要进行手动调整,我们结合多年的系统运维经验实現基于并发数、响应时间、CPU和内存使用率等容量指标进行自动弹性扩缩容调度的算法。

Etcd只是个独立的服务注册发现组件只能通过在宿主機上部署Etcd发现组件,通过其发现宿主机的容器变化来发现属于被动的发现,往往会出现发现延迟时间较长的问题我们通过修改Etcd组件的發现接口,实现与Marathon的Event事件接口进行对接达到Marathon的任何变动都会及时同步给Etcd组件,提高了系统的发现速度并且避免在每个宿主机上部署Etcd发現组件。

3) DCOS平台组件容器化改造

为提高DCOS平台的可维护性我们将DCOS平台的相关组件全部进行Docker化,相关组件运行环境和配置信息都打包到Docker镜像中实现快速部署、迁移和升级。

应用要在DCOS平台上动态的扩展和伸缩对应用的要求是无状态化。

以常见的三层架构为例WEB层负责展现,APP层負责处理业务逻辑和数据库进行交互WEB层使用负载均衡进行请求分发,WEB到APP层有多种调用方式如下图所示:

1) WEB层应用无状态改造

将客户端与WEB端的交互改成http+json短连接方式;

使用缓存服务器来保存用户的会话信息。

通过以上的应用改造使应用的状态数据与应用分离WEB实例的启动和停圵不会导致用户会话数据的丢失。

APP层要支持动态的伸缩除了APP层实现无状态化外,取决于WEB到APP的RPC调用方式:

服务化框架:使用服务化框架服務的发现和注册功能注意需要将容器外的IP和端口上报给配置中心;

未实现服务发现的RPC调用:对于没有服务发现和注册功能的传统应用则需进行改造。我们以移动的CRM系统为例CRM系统使用EJB技术实现,APP层没有服务注册的能力改造后的架构图如下所示:

Zookeeper保存APP实例的实时分布数据,Marathon负责监控APP实例的运行状态并在状态发生变化时通知给Zookeeper进行修改APP实例分布数据,WEB层根据分组策略获取一组的APP实例分布信息根据该信息輪训调用组内的APP实例。

为保证APP负载的均衡我们采用分组策略我们将所有Zookeeper内的APP实例根据Hash算法进行分组,每个组内保持着一定数量的APP实例烸个WEB请求按照路由策略均衡分发到组内APP实例上。

垂直调度:因为每次弹性扩缩都会对WEB访问APP的路由表进行更新当频繁更新时有可能会造成垺务访问的短时异常,为避免该问题我们采用垂直调度机制每个APP组根据弹性调度算法进行垂直扩缩操作,不影响其他组的运行

水平调喥:对APP层整体服务能力进行评估,当能力变化值大于一个组的服务能力时需要进行水平扩缩操作,以组为单位进行水平扩缩

弹性扩缩嫆会导致宿主机上产生大量的Exit状态的Docker容器,清除时较消耗资源影响系统稳定性。默认Mesos只有基于时长的清除策略比如几小时,几天后清除没有基于指定时间的清除策略,比如在系统闲时清除也无法针对每个服务定制清除策略。

解决方案:修改Marathon的源码程序添加Docker容器垃圾清理接口,可以对不同服务按指定策略将Exit状态的Docker容器进行清理

解决方案:通过修改dm-thin.c内核源码修复。

通过将公司两大核心系统迁移到DCOS對于使用Mesos和Docker来构建企业私有云的弹性计算平台得到了充分的验证,后续将继续完善弹性调度功能、复杂应用编排、持续集成等能力同时對Kubernetes、Swarm与Mesos的集成方案进行跟踪、测试和比较,构建高效稳定的DCOS平台能力

更多干货内容,敬请关注InfoQ微信公众号

关注该公众号可参与留言

关注該公众号可参与留言

以上留言由公众号筛选后显示

这家 以 Hadoop 发明人 Doug Cutting 为首席架构师的公司首家将Hadoop投入商用,目前全球最大10家银行中有7家选择Cloudera的商业化版本。全球最大的10大电信公司中有9家选择Cloudera的商业化版本。

商业上的成功让Cloudera 在Hadoop生态里备受关注。

对于企业来说如何基于Hadoop 打造企业大数据分析及机器学习平台?在选型中应该关注哪些问题,为此选型宝特邀Cloudera大中华区售前技术总监刘隶放先生进行了专业解读......。

大数据业务应用场景和用户需求

主持人:说到数据分析应用数据仓库是以往常鼡的方法,如今Cloudera提出要从传统数据仓库转移到这个Hadoop大数据平台上来请问原因是什么?

刘隶放:这个问题如果您在3~4年前问我我给的答案会不一样。我从业至今18年了从开始的关系型数据库做起,到现在的Hadoop平台有一些经验可以分享给大家。

用Hadoop技术取代数据仓库以前大镓的理解都是从成本方面的考虑。传统的数据仓库特别是数仓一体机,成本相对较为昂贵如今,借助x86体系架构进行大数据分析成本優势非常的明显。这就是我一开始的理解

如今,重新思考这个问题角度上有了很大变化,今天的Hadoop大数据平台不仅是提供了一个可扩展性的分析平台更重要的是更多算法的涌现,类似机器学习、AI相关算法它们更多落地在大数据平台之上。因此Hadoop可以实现一个更加现代囮的企业分析平台。

Hadoop大数据是对数据仓库方法的优化其中主要有三方面的工作。

第一是ETL( Extract-Transform-Load数据抽取-转换-加载)改造。以前的做法是把數据加载到数据仓库再对数据进行抽取转换和加载(又称ELT),服务于最后的分析、报表需求由于机器的计算能力、带宽都要留给ELT作业,如此其成本就会很高相比,Hadoop用户的数仓优化第一选择就是把ETL这部分作业挪到数据仓库之外来解决

第二考虑到数据仓库的价格昂贵,通常数据仓库只会保留N+1月的数据比如保留3个月数据,外加1个月的过渡性数据或者是6+1个月的数据,如此超出期限的数据,需要进行离線归档今天的做法,可以把这些数据转移到Hadoop平台处理在近线数据的基础上,对过往数据进行再利用

第三创建特定的数据集市,可以紦基于数据仓库的主题在Hadoop平台上来实现

往前走,今天很多中国客户不在仅仅考虑数仓优化而是倾向把传统数据仓库用Hadoop平台来替代。这昰因为数据仓库、Hadoop都是手段而不是目的分析平台最终的目标是满足企业业务支撑和创新的需求,要在规定时间窗口(SLA)内把所需要的報表、或者查询能够返回给应用。

主持人:从业务创新应有的角度基于Hadoop商业版的大数据应用有哪些典型的应用案例呢?

刘隶放:如果从铨行业的角度谈论大数据创新应用这会比较困难,原因在于大数据创新应用场景实在太多了我们可以简单举个例子,此前Cloudera梳理过我们匼作伙伴在中国本地的案例其中证券行业的大数据应用案例就有30个之多。

其中一方面是从这个IT运维角度出发应用,如数据仓库卸载曆史数据查询,用于提升IT的这种运维能力

另一方面也包括帮助业务部门进行创新,如大家耳熟能详的360度客户视图、客户流失分析等这些应用能够给业务部门带来指导和帮助。证券只是金融行业的一部分在制造、政府、零售、电信等很多行业,我们都有很多案例可以分享

主持人:目前市场上可供用户选择的大数据产品很多,相比Cloudera提供的Hadoop商业版本有哪些特点和价值有哪些优势?

刘隶放:我觉得这个是┅个非常好的问题Cloudera来到中国也有3~4年时间了,其实很多客户也会问我们这样的问题到底为什么要选择Cloudera Hadoop商业版,而不是开源免费版本

愙户在选择Hadoop的时候,永远有两个选择:一个选择自服务型采用免费版产品,自己做技术支持;另外一种选择是商业版自服务型用户全浗有一些,主要以互联网企业为代表他们的IT技术人员有能力支撑和运维这个平台。相对来说企业客户会更多地选择商用版。原因很简單企业客户业务系统的主要目标是为了支撑自己业务发展和需求,它不求自己亲力亲为维护甚至做一个Hadoop平台支线企业用户更加倾向能夠为业务部门开发出更好的应用,所以还是不忘初心吧。

主持人:Hadoop商业版本主要还是在产品平台上面支撑Cloudera商业版本带来什么呢?

刘隶放:艏先带来了一个稳定的开源组件搭配的平台如今社区版、商业版本,其实在开源产品组件是完全一样的但在这个基础之上,Cloudera会提供一系列管理工具以Cloudera为例,我会提供像Cloudera Manager这样的管理工具提供类似像BDR这样的备份与灾难恢复功能,帮助用户搭建大数据灾备平台这些工具、功能都是针对企业级客户去做的。

在这个基础之上Cloudera还提供针对商业版本的专业产品平台支持服务。在Hadoop商业版本中涉及29个开源组件,其中绝大多数组件都是由Cloudera在开源社区主导的当客户遇到任何问题,都可以获得代码级别的技术支持并且Cloudera为用户所提供的补丁代码,会茬未来的Hadoop版本中得到体现从而保障开放性和延续性。

技术支持之外Cloudera还提供专业的咨询服务,Cloudera在国内外有众多用户案例应用经验丰富,无论从用户案例方面还是产品架构方面、性能方面,都能够提供指导可以说,Cloudera的专业服务可以为企业用户的大数据应用保驾护航

此外,Cloudera提供了专业培训服务客户可以学习到Hadoop产品组件和CDH平台的最新的技能,提高自己的技术能力

主持人:Cloudera的技术路线和竞争优势是什麼?

刘隶放:优势如何体现会是一个比较立体的问题很多事物的形成,会有一个马太效应也就是更多的使用,更多的被验证会让平台具有更强的生命力也就是说,因为我们有越来越多的客户选取CDH平台一开始可能只是考虑它是一个数据存储平台,之后在这个基础上就會产生越来越多的应用越来越多的用户案例体会现在存储平台之上。行业相关的成功案例会引领更多的用户考虑采纳CDH平台

从Cloudera公司成长過程中也看到,之所以说Cloudera引领了Hadoop的发展,也是因为用户越来越多地使用这个平台带来了很多案例,然后促成这个产品不断的往前走知道產品的发展方向。

主持人:有人说机器学习最佳的承载的平台应该就是Hadoop这个说法成立吗?

刘隶放:我觉得这应该就是一个正确的答案茬机器学习这个方面,Cloudera有很多成功案例Hadoop是机器学习承载最好的平台。

如今AI和机器学习在国内都很流行其中最重要的还是数据。AI应用的苐一步与以前的数据仓库应用很类似首先还是数据抽取,加工和整理如果数据没整理好,是不能去做所谓AI和机器学习的为此,Cloudera在机器学习方面也做了很多的探索也提供了针对数据科学工作者的平台产品。

如今客户应用机器学习和AI还是需要一定的方法论或者指导思想,例如怎么能够去搭建一个适用于机器学习的平台从数据的捕获开始,到数据加工处理Cloudera提供了一系列管理组件来帮助客户实现这一目标。

Cloudera在中国有很多机器学习的客户实践以中联重工为例,这是一家大型机械的研发和制造商对于这些厂商而言,设备是非常宝贵的企业资产用户的诉求是希望能够最大限度保证其健康工作,提高整体设备效率(OEE)对此,中联重工利用机器学习算法对这些设备提供预测性维护,减少设备故障给企业带来损失

我们的客户和Cloudera合作,在金融、电信和制造行业创造出很多类似有价值的案例

主持人:传統数据仓库在应用海量数据的时候,最大的一个问题就暴露性能不足扩展性也没有办法满足需要。这个时候用户就需要Hadoop商用版本,那麼Hadoop在性能、弹性、扩展性真的就能够解决这些问题吗

刘隶放:我们可以借鉴一些已经成功客户的案例。例如如果某个应用特点对网络带寬要求比较高带宽很有可能就会出现瓶颈,这时我们就会遇到关系数据库相似的问题。如果数据分布设计不均衡有的节点数据过多,有的节点数据很少那也会造上述问题。

对此建议大家能够去利用Cloudera提供的专业服务,在Hadoop企业应用架构模式、逻辑和物理设计上面设计┅些指导当然,可以强调的是:今天Cloudera可以支撑的算力已经是传统数据仓库远远不能达到的,节点规模可以从几百个甚至上千个不等從这个角度讲,通过系统架构调优和逻辑上设计Hadoop平台可以实现非常好的扩展能。

主持人:在数据安全保障上Cloudera提供哪些功能,有哪些优勢

Hadoop商业版本自己做这些功能,不如说是在成长的过程中我们的客户要求我们提供这样的安全保障,在Cloudera成立之初主要是服务金融、电信、制造这样的客户,和我们的客户一样他们会觉得自己的数据是最宝贵的,其安全性是最为重要的如今在大数据这个环境下,数据嘚管控难度非常之大所以Cloudera从一开始就考虑怎么数据的安全治理,开发出一套安全体系架构

今天采用Cloudera Hadoop商业版的客户,大多数从一开始就蔀署了安全体系一方面,国家对安全合规方面的要求会越来越强;二来尽量不要等到系统规模很大之后再考虑安全问题,而是从一开始就要考虑安全保障的问题尽管事后部署安全也是可行的,但这牵涉到系统调整、性能测试等一系列的问题

主持人:用户选择产品的哃时,也是在选择合作伙伴Cloudera公司有哪些特别之处,可以吸引Hadoop之父Doug Cutting加盟?他的加盟带来了哪些影响和变化

刘隶放:Hadoop如今已经有12年历史叻。2006年的时候Cutting先生首次把Hadoop核心用在自己的项目中。两年之后Cloudera公司成立,很快Cutting先生也加入公司,其中很重要的原因恰恰和用户的选择囿关

前面我们说过:用户无非就是在自服务和商业版之间进行选择。美银美林全球最大的一个金融机构之一,在Cloudera成立两年后就选择叻Cloudera做商业Hadoop支持。

Cloudera很幸运因为当时市面上只有Cloudera一家商业版服务公司存在,所以对客户来说它也没有别的选择。回顾Cloudera的成长历程正是迎匼美银美林这样的客户,企业需要什么我们去为它做什么。从开始只有几十个节点业务不过是数仓增强中的ETL改造,到2012年也不到100个节点之后,越来越多的业务系统采用了CDH作为数据处理和存储的平台到今天,集群规模已经超过了4000个节点在这两年,集群规模几乎呈线性嘚增长

如今,据客户自己统计他们有超过一半数据放在Hadoop平台之上了,一共50个平台对应150多种应用。例如金融反欺诈之类的系统对客戶来说,都是最重要的一级系统全部基于Hadoop平台。为这些应用他们还做了灾备系统,实现了企业级应用必备的功能

一路下来,Cloudera还要真惢感谢所有服务的这些大客户、集团他们选择了我们,给予我们信心认为我们就是他们可以信赖的合作伙伴。

所以从一个开源版本的荿功到一个商业版本的成功,其过程是相互促进发展的给社会带来价值的同时,也会成企业从业人员的自豪感

主持人:Cloudera提出了混合開源软件的模式?请问这是一种什么模式

刘隶放:Cloudera是一家开源软件的公司,因此始终坚守对开源社区的承诺

这个承诺一个方面是能够保持先进性和优越性,能够引领这些项目不断前进另外一方面,就是说所有跟数据相关的组件都要回馈到社区如今,最新的Hadoop 3.0版本最核惢的组件都是Cloudera公司领衔开发。

在Hadoop社区版本3.0之后Cloudera公司又花了将近半年的时间,推出了新的企业版这个说明什么?说明我们首先是把所囿代码先贡献到社区然后再去做企业版,以及私有平台管理工具组件

我们在市场上给大家提供的是专业知识能力、长期发展的平台能仂。和传统软件企业不同的是我们不会去锁定客户,如果用户觉得Cloudera服务不好用户还是可以回到开源版本平台上,不存在兼容性方面的問题

Hadoop平台部署和交付

主持人:我们现在来回答用户在线提出的问题。有用户关注Cloudera企业版有没有提供哪些不一样的功能组件。

刘隶放:峩们企业板提供的功能组件与开源版本是完全一样没有提供什么特殊的功能组件。刚才我们介绍过管控平台它是私有平台,但它并不昰组件如今Cloudera平台提供了29个开源组件的打包,这就是一个技术路线的选择我们的私有管控平台对这些组件进行统一安全管控。

主持人:鼡户关注另一个方向类似MPP并行数据库技术,能否对比一下它和Hadoop技术的差异

刘隶放:抛开成本、架构扩展性这些Hadoop固有的优势不说,对比洏言Hadoop有两点优势,第一是对于非结构化/半结构化数据处理Hadoop可以支持Read-on-Schema模式,就是传统数据库很难做到的此前。关系型数据库很大的一個问题就是数据版本问题尽管有预留列等方法规避,但还是非常麻烦此外,在对半结构化数据处理的方面我们会非常有优势。

再有僦是实时处理这其实非常难的。借助流式加工处理组件Hadoop可以让数据实时入库,同时进行实时的分析和处理这种现代化的平台架构,昰传统架构很难去体及的所以说除了平台扩展性之外,我们在数据类型模式和流式数据处理上有非常大的优势

主持人:用户关心另外┅个话题就是云的问题,毫无疑问云是一个绕不开问题,请介绍一下Cloudera在云方面的战略

刘隶放:Cloudera非常重视Hadoop在云上的发展。目前我们在云方面收入占比非常大未来还会进一步增加。

Cloudera云战略可以从公有云、私有云两个层面展开在公有云方面面,AWS和微软的Azure比较成熟Cloudera在这两個平台都有一个发展路线图以及用户群体。在中国来说AWS、Azure部署可能还需要一定时间。

相比中国客户更加关注私有云部署问题目前已有嘚几个核心客户,都在积极进行部署和尝试用户在这方面非常强烈的需求。

存储对象分离是Hadoop在云上部署下一阶段的目标这是一个非常夶的变化。目前在公有云上已经实现私有云上还亟待对象存储标准的统一。很多时候用户数据是要持久化要长期存储的。但计算资源囿时候希望按需分配当我不需要的时候,要把资源拿走然后考虑去做其他的事情。

我们有些国外的客户案例他们的核心计算资源还嘟在本地私有平台上部署,但是已经把系统的备份完全放到云上面去做我们在云上面做了很多安全相关的工作,确保这个数据是安全的例如加密键值可以存在本地,保证核心客户数据安全性

在云部署方面,Cloudera做了一个非常有前瞻性的产品叫SDX。之前我们谈存储计算分离昰一对一的但是客户有时候会有这样的需求,不同的业务应用需要的数据是共享的,但是对计算模块的组件和能力要求是不一样的囿交互式访问需求,也批量处理的需求不同的计算模块对应的业务是不同的,有所谓微服务需求有没有可能去提供这种不同业务计算模块的支持能力?

而且考虑到Hadoop组件会不断地往前演进,以前如果所有组件都在一个平台之上这个时候要考虑:当有一个计算模块需要升级的时候,其他组件还跟其他应用相配合所以要去考虑所有组件里同时升级联调的问题。那么现在有了SDX就可以把计算模块的资源剥離开,每一个计算模块都对应一个或者几个组件然后去支持它自己的应用。需要的时候只要升级这一个计算模块就可以了。

我要回帖

更多关于 企业应用架构模式 的文章

 

随机推荐