18
“ 大大”大大大大大大大大 大大大大大大大大大 大大大 2013 大 11 大

“ 大云 ” 大 数据平台及应用

  • Upload
    halle

  • View
    142

  • Download
    8

Embed Size (px)

DESCRIPTION

“ 大云 ” 大 数据平台及应用. 中国移动通信研究院 郭磊涛 2013 年 11 月. 电信运营商具有更多的数据. 移动互联网 服务商. 消息. 专业 SNS. 博客. 视频. 优惠券. 电商. 图片. 点评. 新闻. 微博. 电信 运营商. 音乐. 签到. SNS. 地图. 问答. 论坛. 2G 、 3G 、 4G 、 WIFI. 除了像移动互联网服务商那样关注“结果”,电信运营商还需要关注“过程”!. 典型的应用场景 之一: 大 数据批处理系统. - PowerPoint PPT Presentation

Citation preview

Page 1: “ 大云 ” 大 数据平台及应用

“ 大云”大数据平台及应用中国移动通信研究院 郭磊涛

2013年 11月

Page 2: “ 大云 ” 大 数据平台及应用

电信运营商具有更多的数据移动互联网

服务商

电信运营商

SNS

博客电商 视频图片

音乐 签到问答点评 优惠券

专业 SNS

微博

消息

论坛2G 、 3G 、 4G 、 WIFI

除了像移动互联网服务商那样关注“结果”,电信运营商还需要关注“过程”!

新闻地图

Page 3: “ 大云 ” 大 数据平台及应用

典型的应用场景之一:大数据批处理系统目标:针对海量结构化、非结构化数据的 ETL 操作。从各种数据源获取数据,并进行清洗、转换、去重、缺值补充等操作。通常采用 MapReduce 等并行计算技术。

技术要求举例:针对海量数据实时离线批处理运算( ETL ),通常时间要求较为宽松,如几个小时级别。数据 ETL 运算种类多,灵活性强,通常具有很强的定制化特征数据通常需要导出到数据库、数据仓库,提供报表能力需要灵活的调度的系统,便于系统需要和其他业务系统混合部署,提高资源利用水平

例图:分时段汇总的业务场景

Page 4: “ 大云 ” 大 数据平台及应用

典型的应用场景之二:大数据查询系统

目标:针对海量结构化、半结构化数据的精确定位、区段扫描等条件查询操作,用于网络优化、帐详单查询、故障定位、搜索引擎等业务场景。

采集预处理 计算 1 计算 2

融合 处理

大数据库大数据库

原始数据

消息

营业厅系统

营业厅 1 营业厅 2 营业厅 3 营业厅 4

例图:帐详单查询系统

技术要求举例:针对海量数据实施交互式查询,返回时间在 1 秒钟左右。针对海量大数据规模实施查询,数据规模可以达到 100TB-

10PB 规模。数据插入通常采用批处理方式,而查询通常带有条件,通常返回结果数较少系统具备较高的并发性,支持大量用户同时查询,依然可以在给定时间出口返回结果数据具有很高的可靠性和可用性要求

Page 5: “ 大云 ” 大 数据平台及应用

典型的应用场景之三:大数据挖掘系统目标:针对海量结构化、非结构化数据的进行深度挖掘。通常需要根据业务需求设计模型、训练集并选择算法(分类、聚类、关联、非结构化)。通常会使用各种分布式数据挖掘工具和算法

人群 1

其它人群

例图:客户分类识别应用

技术要求举例:针对海量数据实施全量数据挖掘,规模达到 10TB-PB 规模。处理时间没有严格要求,通常达到几个小时,甚至更长时间需要支持各种并行计算模式,如

MapReduce 、 BSP 等数据挖掘系统需要较好的用户界面,用户通常具备业务知识,但是未必具备开发经验系统可以和其他系统混合部署数据具有一定的可靠性和可用性要求

Page 6: “ 大云 ” 大 数据平台及应用

中国移动“大云” 云计算平台

IT 基础资源

对象存储BC-oNest

数据仓库系统HugeTable

系统监控和管理CloudM

aster

平台安全管理CloudSecurity

并行数据挖掘工具集BC-PDM文件中间件

BC-NAS

并行数据抽取转换BC-ETL

EMail IDC 服务 …经分 KPI集中运算 结算系统 云计算资源池系统

搜索引擎BC-SE

经分系统ETL/DM

信令系统 物联网应用

弹性计算BC-EC

弹性块存储BC-Block

store

商务智能平台数据管理 / 分析类

计算 / 存储资源池

BC-Hadoop 数据存储和分析平台

IaaS 产品

PaaS 产品 “ 大云”产品

K-V 数据库BC-kvDB

消息队列BC-

Queue

实时交易类

分布式内存引擎BC-DME

分布式SQL 数据库BC-RDB

BC-BSP 数据并行框架

能力开放平台

其他平台中间件

数据仓库系统HugeTable

并行数据挖掘工具集BC-PDM

BC-Hadoop 数据存储和分析平台

K-V 数据库BC-kvDB

分布式SQL 数据库BC-RDB

BC-BSP 数据并行框架

Page 7: “ 大云 ” 大 数据平台及应用

BC-Hadoop :对开源 Hadoop/HBase进行扩展和增强,为大云其他组件提供基本的存储计算能力。基于 Hadoop 1.0 的 NameNode/JobTracker HA , HBase Coprocessor 优化,管理工具整合等

Hadoop 数据存储与分析

Cl i ent

HConnecti onManager

1,定位所有regi on

2,异步分发Cal l

Regi onServer

Regi on

Regi on

Regi on

Regi onServer

Regi on

Regi on

Regi onServer

Regi on

Regi on

Protocol Handl er

异步I PC调用(走网络)

发送请求

返回结果

内部异步调用

本地调用

RS 级别结果汇聚线程池管理Zookeeper

JobTracker(Virtual IP)

JT-0001

JT-0002

JT-0003

Page 8: “ 大云 ” 大 数据平台及应用

基于 Ambari 的 Hadoop 监控管理工具• Apache Ambari 是对 Hadoop进行部署、监控和管理的开源项目

– Puppet 部署 hadoop 服务– Ganglia 收集 hadoop 服务数据与生成图表– Nagios 监控集群服务状态并报警

Ambari-web(与server在同一个container)

Ambari-server(http server/jetty)

Ambari-agent解析json取到command

(state/execute/upgrade)

DB

Puppet

Python

NagiosGanglia与server部署在同一台服务

RESTAmbari-client(python cli)

REST

HTTPS(heartbeat/json)

site#.pp.repo (第一次或upgrage)

生成

调用

基于该配置执行

Hadoop

Metrics Shell

HTTP/JMX

HTTP/cgi->rrd HTTP/php

Yum获取RPM

Page 9: “ 大云 ” 大 数据平台及应用

基于 Ambari 的 Hadoop 监控管理工具

TODO:• 启用 MRv1 JT/HMaster HA• 删除节点• 节点异构配置 (Ambari-

3531)

Page 10: “ 大云 ” 大 数据平台及应用

数据仓库系统( HugeTable )基于 Hadoop 的海量结构化数据存储系统,利用低成本硬件提供高性能的数据加载、索引查询和并行分析能力,对外提供易于应用集成的数据访问接口

大容量:支持 PB 级别的数据存储能力低成本:基于 PC架构,不需要外接集中存储设备 高性能:秒级别索引查询、数据并行扫描 可靠性:数据冗余备份永不丢失 可定制:根据应用需求选择索引类型及存储引擎接口丰富:提供标准的 JDBC/ODBC/ SQL接口;提串行 Scan接口和分布式

MapReduce接口外围工具:支持数据、性能、故障、配置、日志管理功能;支持外部数据并行加载;支持数据快速备份、恢复

• 单条查询等 ( 少量数据 )• 实时性要求高的分析查询 SQL( 数据量满足 impala内存限制条件 ) • 复杂 SQL语句或者扫描大表全表(大规模数据聚合查询等占用空间超过了 impala内存能力)

Page 11: “ 大云 ” 大 数据平台及应用

图计算平台( BC-BSP )BC-BSP :针对社交网络分析、用户精准营销、搜索引擎 PageRank 计算等图计算领域的数据挖掘需求而研发的并行计算框架,针对迭代计算,计算效率优于 MapReduce框架

BarrierSynchronization

BSPProgram

BSPJobClient

Run a Job BSPMaster

Summit Job

InitializeJob

ZooKeeper

BarrierSynchronization

WorkerServer

WorkerServerTask Worker

Server

WorkerServerTask

LaunchTasks

WorkerServerBSPPeerBSPPeer

WorkerServer

WorkerServerTask Worker

Server

WorkerServerTask

LaunchTasks

WorkerServerBSPPeerBSPPeer

. . .

Worker1 Worker n

Client

Master

Hea

rt

Bea

t

Hea

rt

Bea

t

Hea

rt

Bea

t

BSPMaster

Worker 1

Worker 2

任务 1

任务 2

任务 3

任务 4

ZooKeeper 2ZooKeeper 1

4:读取S步的同步信息

2: 局部同步

2: 局部同步

同步控制

等待

5:写入S+1步指令

Worker 1

Worker 2

超步S 超步S+1

ZooKeeper集群

1:读取S步指令1:读取S步指令

3:全局同步

任务 1

任务 2

任务 3

任务 4

6:读取S+1步指令

7:(可选)检查点同步

检查点

检查点

检查点

检查点

http://www.github.com/cmri/

Page 12: “ 大云 ” 大 数据平台及应用

并行数据挖掘工具集( BC-PDM )

PC节点 PC节点 PC节点PC节点

PC节点

PC节点

PC节点

PC节点

PC节点

任务 任务分解… M 1M 2

M iR 1

R j

子任务元数据服务器

block1

任务分发服务器

数据分割

block1block1block2 block2

block2

block3

block3

block3

分布式集群管理服务器

M 1

M 2

M iR 1R 2

…R 2

…R j

BC-BSP HugeTable MapReduce

并行数据挖掘

各种海量数据处理、挖掘应用

数据交换 并行数据探索

Web GUI/ 工作流引擎SQL脚本

CLI命令行

应用

用户权限管理

• 数据交换:支持与 RDB直接交换数据、支持 CSV 格式数据• 数据 ETL :支持数据清洗、转换、集成等 7 大类 45 种 ETL• 数据探索:支持数据统计、变量分析、分布特征探索等• 数据挖掘算法:支持分类、聚类、关联分析等 3 大类共 15 种算法• 社交网络分析:支持网络特征分析、社团发现和演化、社团展示等• 支持 SaaS 服务模式: Web浏览器使用,并可支持应用共享• 支持丰富的用户 UI : 支持 Web 图形化方式创建数据分析逻辑,支持 SQL脚本方式,支持 CLI命令行方式• 支持二次开发: Java API 、 Web

Service

BC-PDM :支持 SaaS 模式的海量数据并行处理、分析与挖掘系统。适用于经营决策、用户行为分析、精准营销、网络优化、移动互联网等领域的智能数据分析与挖掘应用主要特点

并行数据 ETL社交网络分析

广域网

Page 13: “ 大云 ” 大 数据平台及应用

K-V 数据库( BC-KVDB )BC-KVDB :根据订购关系存储、用户个人信息存储等应用需求和相关规范,增强系统操作维护功能、优化性能并提高系统可靠性。提供一个高并发、高可扩展的键值对存储系统。

Regi onServer服务层

存储引擎访问控制接口层

元数据管理子系统

Root fi l e

RS2RS1

客户端子系统

MM

M

Master节点集群

存储节点集群子系统

DataFi l e

存储节点

存储引擎

Regi onServer服务层

存储引擎访问控制接口层

存储节点

Meta fi l e

存储引擎

Regi onServer服务层

存储引擎访问控制接口层

存储节点

存储引擎

Regi on

QueryCacheCel l

Cache SSD

网络通信组件

Client

NameSpace

Table

Master

USER_PRIV

NS_PRIV

TABLE_PRIV

MetaRsClient

Thrift

Native API

Shell

zkzk

zk

Root fi l e i ndex. . .

Zookeeper集群

数据连续范围分区,类似 HBase

• 不依赖 DFS ,数据直接读写本地多个磁盘• Query Cache & Block Cache

通过 Region 数据的多副本,保证数据的高可靠

实现多个主节点的互备

元数据与用户数据隔离存储

实现用户认证和授权

Page 14: “ 大云 ” 大 数据平台及应用

SQL 数据库( BC-RDB )

负载均衡(F5等负载均衡设备)

……可扩展到64个安全组192个集群节点

安全组SafeGroup01

应用系统 应用系统 应用系统 应用系统

高速网络

分布式事务管理器

DBXA

集群节点1-3RCluster

RNodeRdbRep

RdbWare

集群节点1-1RCluster

RNodeRdbRep

RdbWare

… …

安全组SafeGroup22

集群节点22-3RCluster

RNodeRdbRep

RdbWare

集群节点22-1RCluster

RNodeRdbRep

RdbWare

… …

API开发接口(JDBC/ADO.NET/ODBC)

Zookeeper节点

… … Zookeeper节点

Zookeeper节点

BC-RDB 是基于 MySQL 的分布式数据库,系统由多个安全组( safegroup )和一个分布式事务管理器组成。采用“两阶段提交协议即 2PC”来实现分布式事务

MySQLInnodb

DbxadDbxa Server

Resource Manager

MySQLInnodb

Resource Manager

Transaction Manager

RCl uster

Librm Dbxac Dbxa Client

TCP/IP networkB1B2

XA

TX

LX

DBXA分布式事务管理系统

RM1 RM3

Resource Manager

MySQLInnodb

RM2

B3

TM

Page 15: “ 大云 ” 大 数据平台及应用

“ 大云”应用案例之一:大数据 ETL 业务

流程现网时间( min )

云 ETL 时间

( min ) 加速比例时间减少

绝对值(小时)

1 4650 1153 4.03 58.32 2700 1571 1.72 18.88 2100 1293 1.62 13.49 1800 1150 1.56 10.8

10 1500 1225 1.22 4.611 490 325 1.51 2.8 1 2 8 9 10 11

0 500

1000 1500 2000 2500 3000 3500 4000 4500 5000

现网时间( min )HIVE 时间( min )

现网 3.2 天,减少为 0.8天节约近 2.5 天

现网 90 分钟减少为 10 分钟仅为 1/10

流程 3 流程 4 流程 5 流程 6 流程 70

20

40

60

80

100

120

140

现网时间( min )HIVE 时间( min )MR 时间

现网时间( min

云 ETL 时间

( min) MR 时间

云 ETL 脚本加速比

时间减少绝对值(小时)

流程 3 90 10 无 9.00 1.3

流程 4 130 59 40 3.25 1.5

流程 5 60 14 无 4.28 0.8

流程 6 80 25 无 2.50 0.9

流程 7 130 47 无 2.76 1.9

滚详单类

出月表类

Page 16: “ 大云 ” 大 数据平台及应用

帐详单系统存储数量急剧膨胀,传统架构难以满足当前业务运营要求,系统面临扩容难题

“ 大云”应用案例之二:大数据查询业务

采集预处理 计算 1 计算 2

融合 处理

HugeTable 表 2HugeTable表 1

原始数据

消息

营业厅系统

营业厅 1 营业厅 2 营业厅3

营业厅4

某地市应用,每个月帐详单总体数据量10TB

话单通过 HTLoad 工具批量加载 帐详单查询通过 SQL或 Native API接口进行

复杂分析则通过 MR接口进行 HugeTable 支持数据按照 Join key预先进行数据划分,减少 join 过程中数据在节点间的拷贝

应用效果:加载:支持数据并行加载,数据加载保证完整性和可靠性;查询:在高并发条件下,数据查询性能一般可达到网络 IO (对于千兆以太网单节点可达 1GB )或磁盘 IO瓶颈 ;更新:可支持单条或批量数据增删改查操作,聚合更新带宽可达网络 IO极限;压缩:对数据内容进行高效压缩,节省磁盘、网络 IO ,节省存储空间

Page 17: “ 大云 ” 大 数据平台及应用

小结

Hadoop HDFS+MR

HugeTable SQL 工具BC-BSP 图计算

BC-PDM 挖掘

BC-NoSQL KeyValue

BC-RDB DataBase

Page 18: “ 大云 ” 大 数据平台及应用

谢谢!