当前位置:
文档之家› 2014年数据库技术大会_王宝晗-大云Hadoop平台及应用-20140408
2014年数据库技术大会_王宝晗-大云Hadoop平台及应用-20140408
中国移动“大云” 云计算平台
经分KPI 集中运算 经分系统 ETL/DM 结算 系统 信令 系统 云计算 资源池系统 物联 网应用 EMail IDC服务
…
PaaS 产品
数据管理/分析类
实时交易类
“大云”产品
IaaS 产品
计算/存储资源池
商务智能平台
挖掘工 并行数据挖掘工具集 搜索引擎 集BC-PDM BC-SE BC-PDM
FTP
Phoenix
Hive
Pig
R
Solr
Ambari
Sqoop MR1/MR2
Flume NG
Spark
BC-BSP Hcatalog
Storm
HDFS Fuse
HBase
YARN
ZK
黄色框 是 BC-Hadoop的组件,正在整合Spark
BC-Hadoop 1.0 主节点HA
参考Facebook AvatarNode 的实现,采用双主 NameNode的自动故障检测与切换,大大缩短了 NameNode切换时间和对应用系统的影响
关系型数据库
HDFS
HBase
MySQL
• • •
支持数据的IUD操作 HBase存储引擎:支持同一份数据进行实时查询和统计分析:Hive直接读Hfile进行统计,通过HBase实时查询 Join优化:按照join key将两个表的数据存储在同一个HBase Table的不同column.
并行数据挖掘工具集(BC-PDM)
Worker1
Worker1
write
Output File1
DB
read
Worker2
vertexhash
Worker2
message
Worker2
Output File2
HDFS
Split4
Split5 Worker3 Worker3 compute Worker3
Output File3
HBase
ZooKeeper 1
ZooKeeper 2
任务 3 任务 4 Worker 2 超步S
2: 局部同步
等待
检查点 检查点 Worker 2
任务 3 任务 4
同步控制
超步S+1
• • •
先对同一个Worker上同一Job的多个Task进行局部同步,再以Worker为粒度进行全局同步 周期性进行数据检查点保存,与自动恢复 在计算任务的同时进行数据交换,降低数据交换时间
Run a Job BSPprogram BSP SubmitJob BSP JobClient Controller assign staff
File
Distributed Synchronization
Barrier Synchronization
assign staff
Worker1 Split1 Split2 Split3
– 资源管理:cpu,内存 – 资源调度:fair scheduler,DRF – Appmaster实现机制
• TODO
– 集成计算框架如spark – 多租户,资源抽象由slot变为<vcore,mem>
图计算平台(BC-BSP)
BC-BSP:针对社交网络分析、用户精准营销、搜索引擎PageRank计算等图计算领域的数据挖 掘需求而研发的并行计算框架,针对迭代计算,计算效率优于MapReduce框架
查询能力
SQL引擎
Scan
MR
适应运营商场景 的多种存储引擎 支持
监控/管理
导入导出工具
加载工具HTLoad
元数据存储 索引存储
TextFile Hfile RCFile HBase
自劢化测试工具
一致性检验工具 开发者工具包SDK
存储引擎
数据存储
基础存储部件选 择
分布式文件系统
分布式KV-Store
Web GUI/工作流引擎 SQL脚本 CLI命令行
广 域 网
数据交换
并行 数据ETL
并行 数据探索
并行 数据挖掘
社交 用户权限管 网络分析 理
BC-BSP
HugeTable
任 数据 务 割
block2
PC节点
MapReduce
子任 务 M1 M2 Mi R1 R2 Rj
…
元数据服务器
任务分解
b lock3 任务分发服务器
无 40
流程5
流程6 流程7
60
80 130
14
25 47
无
无 无
4.28
2.50 2.76
0.8
0.9 1.9
典型的应用场景之二:大数据查询系统
– Puppet部署和管理hadoop服务 – Ganglia 收集hadoop 服务数据与生成图表 – Nagios监控集群服务状态并报警
HTTr部署在同一台服务
Ambari-web
(与server在同一个container)
Metrics
Shell
Ganglia
Client
RS级别结果汇聚 线程池管理
RegionServer
内部异步调用
异步IPC调用 (走网络)
Region Region
本地调用
HConnectionManager 1,定位所有region
RegionServer Region
ProtocolHandler
•
优点 – 计算分摊:Client端的计算被分布到每个RS上
BC-PDM:支持SaaS模式的海量数据并行处理、分析与挖掘系统。适用于经营决策、用户行 为分析、精准营销、网络优化、移劢互联网等领域的智能数据分析与挖掘应用
应用
各种海量数据处理、挖掘应用
主要特点
• 数据交换:支持与RDB直接交换数据 、支持CSV格式数据 • 数据ETL:支持数据清洗、转换、集 成等7大类45种ETL • 数据探索:支持数据统计、变量分析 、分布特征探索等 • 数据挖掘算法:支持分类、聚类、关 联分析等3大类共15种算法 • 社交网络分析:支持网络特征分析、 社团发现和演化、社团展示等 • 支持SaaS服务模式:Web浏览器使用 ,并可支持应用共享 • 支持丰富的用户UI: 支持Web图形化 方式创建数据分析逻辑,支持SQL脚 本方式,支持CLI命令行方式 • 支持二次开发:Java API、Web Service
Nagios Yum
获取RPM
REST
DB
HTTP/cgi->rrd
HTTP/php
Ambari-agent
Ambari-client (python cli)
REST
Puppet
基于该配置执行
Ambari-server
(http server/jetty)
HTTPS (heartbeat/json)
“大云”Hadoop平台及应用
王宝晗 中国移动研究院 云计算系统部 wangbaohan@
电信运营商具有更多的数据
移劢互联网 服务商
专业SNS 博客 电商 SNS 音乐 图片
消息
视频 优惠券
新闻
点评
地图 问答
电信运营商
微博 签到 论坛
2G、3G、4G、WIFI
除了像移动互联网服务商那样关注“结果”,电信运营商还需要关注“过程”!
数据仓库系统 HugeTable
BC-BSP 数据并行框架 架
数据存 BC-Hadoop 数据存储与 储和分析平台 处理
分布式内 存引擎 BC-DME
消息队列 BCQueue
其他平台中间件
IT基础资源
BC-Hadoop项目介绍
BC-Hadoop:对开源Hadoop/HBase进行扩展和增强,为大云其他组件提供基 本的存储计算能力。分别基于Hadoop 1.0 和 2.0 提供1.0和2.0两个版本。
解析json取到command (state/execute/upgrade) 调用
Python
生成
site#.pp .repo (第一次或upgrage)
基于Ambari的Hadoop监控管理工具
DONE: • JobTracker HA管理 • 告警逻辑修改 TODO:
走向YARN
• 功能测试及源码熟悉
现网时 间 (min)
流程3 流程4 90 130
云ETL时 MR时间 间(min)
云ETL脚 本 加速比例
9.00 3.25
时间减 少绝对 值(小 时)
1.3 1.5
100 80 60 40 20 0 流程3 流程4 流程5 流程6 流程7 现网时间(min) HIVE时间(min) MR时间
10 59
能力开放平台
分布式 SQL SQL K-V数据库 分布式 数据库 库 BC-kvDB BC-RDB BC-RDB CloudSecurity 系 统 监 控 和 管 理 CloudMaster 平 台 安 全 管 理
并行数据
文件中间件 弹性计算 BC-NAS BC-EC
对象存储 弹性块存储 BC-oNest BC-Block store
PC节点
M2
… …
分布式集群 管理服务器
M1
block1 block2
PC节点
block1 block3
PC节点
block1
Rj
PC节点
block2
PC节点
block3
PC节点
R1
R2
PC节点
Mi
PC节点
典型的应用场景之一:大数据批处理系统
目标:针对海量结构化、非结构化数据的ETL操作。从各种数据源获取数据,并进 行清洗、转换、去重、缺值补充等操作。通常采用MapReduce等并行计算技术。