SlideShare a Scribd company logo
基于Hadoop的内部
海量数据服务平台  
罗李(吴威)	
  
阿里数据平台-­‐海量数据  
•  阿里大数据发展历程	
  
•  云梯Hadoop服务集群	
  
•  问题和挑战	
  
•  我们的对策	
  
•  案例介绍  –	
  淘宝数据平台	
  
•  未来展望  
提纲  
阿里大数据发展历程  
•  单机	
  
– 容量,性能	
  
•  分布式数据库	
  
– Oracle	
  RAC	
  /	
  Greenplum	
  /	
  …	
  
– 商业软件(价格),容量,稳定性	
  
•  分散的Hadoop集群	
  
– 数据互操作,稳定性,成本和效率	
  
阿里大数据发展历程  
•  云梯	
  
–  一个项目	
  
–  一个集群	
  
–  一项服务	
  
•  为阿里集团提供海量数据的存储和计算服务	
  
•  为何选择  Hadoop?	
  
–  MapReduce	
  和  HDFS	
  能满足大部分离线业务的需求	
  
–  商业公司  Yahoo	
  /	
  Facebook	
  支持,工业级应用	
  
–  可扩展,大规模	
  
–  开源软件,社区活跃	
  
云梯Hadoop服务集群	
  
•  HDFS	
  -­‐	
  海量数据存储服务	
  
–  分组,通过quota(空间/文件数)限制:/group/taobao	
  
–  数据共享:淘宝/天猫/一淘/B2B/支付宝	
  
•  MapReduce	
  -­‐	
  大规模分布式计算服务	
  
–  分组,slot限制,按需申请,集中分配和调度	
  
–  生产	
  /	
  开发	
  /	
  测试共享集群,白天开发,晚上生产	
  
•  服务特色	
  
–  单一大集群	
  
–  多用户共享	
  
–  计算分时	
  
–  资源按需申请,按使用量计费	
  
云梯Hadoop服务集群	
  
其他相关服务  
	
    基于MapReduce的SQL引擎  Hive  
	
    可以用任意可执行程序或脚本运行MapReduce  Streaming	
    
      机器学习算法库  Mahout	
    
    类似于Hive的大规模数据分析平台  Pig  
      离线和在线存储服务  HBase  
服务基本架构  
淘宝对外
HBase	
  
(CDH3)  
支付宝集群	
  
(0.20.2)	
  
业务调度系统	
  
  
B2B	
  	
  
Gateways	
  
淘宝
机房  
集团机房  
云梯	
  
Gatewa
y  
云梯	
  
Gatewa
y  
云梯
集群  
云梯	
  
Gatewa
y  
云梯	
  
Gatewa
y  
HDFS  
MapReduce  
HBase  
云梯	
  
Gatewa
y  
DFSClient	
  
MRClient	
  
HiveClient  
Hive	
  Meta  
云梯集群发展历程  
200	
  
700	
  
1000	
  
2000	
  
3000	
  
X000	
  
0	
  
500	
  
1000	
  
1500	
  
2000	
  
2500	
  
3000	
  
3500	
  
4000	
  
2009.4	
   2010.3	
   2010.7	
   2012.1	
   2012.10	
   2013.4	
  
集群规模(台)	
  
上线   集群迁
移机房  
Oracle	
  RAC基
本迁移完成  
服务扩展
至全集团  
现在  
云梯集群现状  
20多个事
业群  
150多用
户组  
3000多用
户  
云梯服务  vs.	
  自建集群  
•  从用户角度出发  
自建Hadoop集群   使用平台Hadoop服务  
集群搭建   机器采购,机房布局   不用考虑  
集群运维   节点宕机后需要立即介入   不用考虑  
集群扩容  
计算资源不足,存储空间不足,
需要扩容,采购新的机器  
网页申请,审批通过即可
生效  
代码维护  
Hadoop代码维护,专业的
Hadoop开发人员  
不用考虑  
数据复制  
使用其他团队数据,需要从另
外集群复制过来  
阿里集团大部分数据能在
云梯上找到  
平台服务的成本优势  
资源组   高峰时段slot申请量   自建集群需要机器数  
cug-­‐groupA   31000   1550  
cug-­‐groupB   7500   375  
cug-­‐groupC   5500   275  
cug-­‐groupD   4500   225  
cug-­‐groupE   4000   200  
cug-­‐groupF   4000   200  
其他100多个组   176860   8843  
总计   233360   11668  
2861	
  
11668	
  
0	
  
5000	
  
10000	
  
云梯集群	
   自建集群	
  
机器数目	
  
问题和挑战  
问题和挑战  
•  稳定性和安全性	
  
– 大作业占用集群的所有  slot	
  (计算资源)	
  
– 某些机器网卡打满	
  
– NameNode	
  被某个用户的作业拖慢	
  
•  共享	
  
– 计算资源共享:	
  A组在白天用,	
  B组晚上用	
  
– 数据共享:	
  支付宝读取淘宝的某张表数据,	
  怎么
开放?	
  
问题和挑战  
•  兼容性	
  
– 上千个客户端/Gateway,	
  上百个部门	
  
– 客户端全量升级代价大	
  
– 服务器端升级要尽量保持向下兼容	
  
– 客户端版本:	
  
•  Hadoop	
  0.19.0	
  
•  Hadoop	
  0.20.2	
  
•  CDH3	
  
问题和挑战  
•  性能和扩展性	
  
– Hadoop	
  Master节点是单点	
  
– NameNode	
  压力:几亿文件  +	
  几亿  Block,RPC
日请求量超过几十亿次	
  
– JobTracker	
  调度压力:日调度运行超过几十万
个Job,几千万个  Task,高并发  (1000+	
  jobs,	
  
55000	
  tasks),多用户  (3000+)	
  
– JVM的极限,超过  150G	
  的  JVM	
  Heap	
  
– 单点故障	
  
问题和挑战  
•  可观测和可测试	
  
– 上千台机器,多个  Master	
  
– 上百个指标:系统,Java	
  GC,Hadoop	
  metrics…	
  
– 集群突然变慢了?某个组新上线大规模作业?	
  
– 大压力情况下出现bug了!	
  
– 每个季度都有新版本发布,版本性能是否有提
升?	
  
我们的对策  
•  重构Task调度器	
  
– 资源组的划分:	
  消除某些组的大作业对其他组的
影响	
  (Min	
  slots	
  vs.	
  Max	
  slots)	
  
– Slot	
  资源动态管理	
  (create/delete/increase/decrease)	
  
– 完整的作业优先级支持:	
  支持业务优先级调度	
  
– 对异构操作系统或硬件的兼容性:	
  比如支持跨OS
版本调度	
  
计算资源的分配和调度  
HDFS上的扩展ACL  
•  传统Unix文件系统权限	
  
–  Apache	
  Hadoop	
  0.17	
  已经实现	
  
–  User/Group/Other,	
  rwxr-­‐x-­‐-­‐-­‐,	
  750	
  
–  数据组内可读,	
  但外部用户不可读	
  
•  跨组,	
  跨部门,	
  跨公司文件共享	
  
–  新功能:	
  扩展ACL	
  
–  ACL条目:	
  /group/taobao/hive/auceons:alipay:
+R:tbclient:+RW	
  
–  外部系统:	
  
•  资源注册,	
  权限申请,	
  权限审批,	
  ACL条目同步  
稳定性改进  
•  消除异常Job的影响	
  
– 内存监控:	
  单个Task内存限制,计算节点内存上
限控制	
  
– 磁盘IO监控:	
  单个Job	
  shuffle线程对单块磁盘的
读取限制	
  
– 限制单个Job	
  map/reduce	
  task数目	
  
– 限制单个Job	
  counter数目	
  
– Job本地文件系统数据读写量监控	
  
– Job创建HDFS文件数目的监控	
  
– ……  
解决跨版本的兼容性  
•  现状	
  
–  Hadoop	
  Server:云梯  Hadoop	
  (基于Apache	
  Hadoop	
  
0.19.1)	
  
–  Hadoop	
  Client:	
  
•  0.19.x:公司内大规模部署,几百个Gateway	
  
•  0.20.x/1.0.x:社区主流版本,Hadoop生态圈支持	
  
•  方案	
  
–  实现0.20上的新增重要功能	
  
•  HDFS	
  Append	
  
•  MapReduce	
  new	
  API	
  
–  Hack	
  Hadoop协议,服务可以同时支持多个客户端	
  
•  0.19.x,0.20.2,CDH3uX	
  
•  性能:解决Master节点的单点性能压力	
  
– NameNode	
  改进	
  
•  RPC	
  改造,Listener	
  拆分出多个  Reader	
  
•  使用读写锁,尽可能的提高NameNode内部的并发	
  
•  写操作在等待  edit	
  log	
  commit	
  阶段时释放  handler	
  
– JobTracker	
  改进	
  
•  Scheduler调度算法重写,从O(n2)降低到O(1)	
  
•  一次心跳分配多个Task	
  
•  Job	
  History	
  log	
  改造成异步写	
  
•  Out-­‐of-­‐bound	
  heartbeat提高调度的效率  
挑战性能极限  
高压力下的	
  JVM	
  bug  
•  NameNode内存泄露	
  
– NameNode高并发RPC	
  
– Java	
  nio	
  SocketAdapter创建的SocksSocketImpl对
象需要finalize,但在CMS	
  gc回收不及时	
  
– Oracle	
  JDK	
  bug	
  ID:	
  7115586	
  (Oracle	
  JDK	
  6u32	
  fix)	
  
•  CMS	
  gc使用135G的Heap后JVM	
  crash	
  
– NameNode大内存	
  
– 1	
  <<	
  32	
  移位操作溢出	
  
– Oracle	
  JDK	
  bug	
  ID:	
  7197906	
  (OpenJDK)	
  
JobTracker	
  HA实现  
Aceve	
  
JobTracker	
  
Standby	
  
JobTracker  
JobClient  JobClient  
TaskTracke
r  
TaskTracke
r  
TaskTracke
r  
提交作业&
查询状态  
心跳  
NFS或
TimeTunnel	
  
Job	
  History   Job	
  History  
VIP  
NameNode	
  HA实现  
DST:	
  分布式系统测试工具  
资料来源:	
  
阿里技术嘉年华
(2012)	
  -­‐	
  《分布
式系统测试实
践》	
  -­‐	
  神秀  (淘
宝网)  
云梯医生:	
  集群诊断系统    
•  集群全局指标	
  
•  存储、计算利用率趋势	
  
•  用户/组资源使用趋势分析	
  
•  Slots*sec,	
  HDFS/local	
  r/w	
  
•  机器/机器组视图	
  
•  业务作业对比(vs.	
  前一天/前一周)	
  
•  数据量增长趋势	
  
•  不同优先级作业消耗的资源	
  
•  Master节点关键指标	
  
•  JobTracker每秒心跳频率/时间	
  
•  NameNode	
  RPC	
  process	
  eme,	
  
queue	
  eme,	
  queue	
  len,	
  OPS	
  
案例分享  
基于云梯的淘宝数据	
  
平台架构  
Oracle  备库   MySQL  备库   日志系统  
云梯服务集群  
数据平台   搜索   支付宝   B2B
Gateway	
  Servers
数据魔方   量子统计  
口碑  
DBSync
爬虫数据  
	
  
Map	
  Reduce	
  Jobs
	
  
Streaming	
  Jobs
	
  
Hive	
  Jobs
广告   BI
淘数据   推荐系统   搜索排行   …
TimeTunnelDataX
数
据
流
向
天网
调度
系统  
数据用
户部门  
对外数
据产品   资料来源:Velocity	
  China	
  2010	
  -­‐	
  《淘宝云梯分布式计
算平台整体架构》-­‐	
  张清(淘宝)	
  
•  其他数据来源	
  
–  来自其他团队和公司的数据,比如支付宝数据,广告
反作弊数据,通过云梯共享	
  
•  数据流出	
  
–  前台业务系统,如传统数据库或NoSQL	
  (主要是HBase):
DataX	
  …	
  
–  在云梯上共享给其他团队和公司,做进一步分析	
  
数据同步工具  
•  数据流入	
  
TimeTunnel,分布式日志收集工具  –  日志数据:	
  
–  数据库表:  
DBsync,增量,大表的快速同步  
DataX,前台数据库<=>云梯  (双向同步)	
  
 
计算内容  
	
  
处理方式  
ETL数据分析处理,OLAP
大数据量分析场景  
主要使用Hive	
  
点击流日志分析   MapReduce批量处理  
搜索排行榜和其他搜索
相关业务  
大量使用C/C++算法库,分词库,
利用MapReduce	
  Streaming或Pipes  
机器学习   使用Mahout  
数据处理  
调度系统  
•  Gateway管理  
–  提交Hadoop	
  Job	
  
–  运行数据导入导出任务  
•  作业优先级管理  
–  hadoop.job.level:	
  利用云梯作业调度器开发的接口,
完整的优先级支持  
–  云梯作业调度器的特点:  
•  资源空闲时,低优先级作业可以运行  
•  后提交的高优先级作业立即占用低优先级作业释放的资
源  
•  监控报警管理  
•  数据分析	
  
– Hive	
  SQL	
  Web	
  IDE	
  
– 帐号和云梯服务集成	
  
•  知识管理	
  
– 元数据/数据字典/数据订阅/表字段血缘分析	
  
•  存储管理	
  
– 数据生命周期管理	
  
– 数据保留策略:周期性删除/极限存储/压缩/
HDFS	
  Raid	
  
数据开发工具  
未来展望  
服务平台未来展望  
•  服务类型扩展	
  
– 支持多种计算模型,比如MPI/Storm等,超越
Hadoop	
  MapReduce	
  (Hadoop	
  2.0	
  Yarn)	
  
– 更好的资源控制,隔离和计费,利用cgroup等  
(基于Hadoop	
  2.0	
  Yarn)	
  
•  期望和开源社区结合更加紧密  
未来展望  
•  服务质量提升	
  
– 继续推进Master节点HA	
  
•  NameNode	
  HA	
  (Hadoop	
  2.0)	
  
•  做到不停机升级,加快软件的进化速度	
  
– Hive实时化	
  
•  M/R调度性能的深度优化	
  
•  结合HBase或索引等相关技术	
  
– 安全性	
  
•  Hive表的权限控制,对MR/Pig程序的等访问控制	
  
•  Hive表字段级别的访问控制	
  
未来展望  
•  性能	
  
– M/R	
  Shuffle性能优化	
  
– 利用操作系统的底层性能优化  (Linux内核团队)	
  
– 利用JVM的性能优化  (淘宝JVM团队)	
  
•  扩展性	
  
– NameNode扩展性:Federaeon	
  
– MapReduce扩展性:Yarn	
  
– 支持跨机房  (当集群规模渐渐到达机房上限…)	
  
Q&A  
41
@InfoQ	
   infoqchina	
  

More Related Content

What's hot

Big Data Projet Management the Body of Knowledge (BDPMBOK)
Big Data Projet Management the Body of Knowledge (BDPMBOK)Big Data Projet Management the Body of Knowledge (BDPMBOK)
Big Data Projet Management the Body of Knowledge (BDPMBOK)
Jazz Yao-Tsung Wang
 
Observe Changes of Taiwan Big Data Communities with Small Data (Updated)
Observe Changes of Taiwan Big Data Communities with Small Data (Updated)Observe Changes of Taiwan Big Data Communities with Small Data (Updated)
Observe Changes of Taiwan Big Data Communities with Small Data (Updated)
Jazz Yao-Tsung Wang
 
淘宝Hadoop数据分析实践
淘宝Hadoop数据分析实践淘宝Hadoop数据分析实践
淘宝Hadoop数据分析实践
Min Zhou
 
Hadoop 生態系十年回顧與未來展望
Hadoop 生態系十年回顧與未來展望Hadoop 生態系十年回顧與未來展望
Hadoop 生態系十年回顧與未來展望
Jazz Yao-Tsung Wang
 
Data Pipeline Matters
Data Pipeline MattersData Pipeline Matters
Data Pipeline Matters
Jazz Yao-Tsung Wang
 
Hadoop 與 SQL 的甜蜜連結
Hadoop 與 SQL 的甜蜜連結Hadoop 與 SQL 的甜蜜連結
Hadoop 與 SQL 的甜蜜連結
James Chen
 
2016-07-12 Introduction to Big Data Platform Security
2016-07-12 Introduction to Big Data Platform Security2016-07-12 Introduction to Big Data Platform Security
2016-07-12 Introduction to Big Data Platform Security
Jazz Yao-Tsung Wang
 
ClickHouse北京Meetup ClickHouse Best Practice @Sina
ClickHouse北京Meetup ClickHouse Best Practice @SinaClickHouse北京Meetup ClickHouse Best Practice @Sina
ClickHouse北京Meetup ClickHouse Best Practice @Sina
Jack Gao
 
用Python实现hadoop任务调度管理
用Python实现hadoop任务调度管理用Python实现hadoop任务调度管理
用Python实现hadoop任务调度管理
Leo Zhou
 
Track A-1: Cloudera 大數據產品和技術最前沿資訊報告
Track A-1: Cloudera 大數據產品和技術最前沿資訊報告Track A-1: Cloudera 大數據產品和技術最前沿資訊報告
Track A-1: Cloudera 大數據產品和技術最前沿資訊報告
Etu Solution
 
Testetstetets
TestetstetetsTestetstetets
Testetstetets
志华 乔
 
基于hbase的实时计算框架prom(20111114)
基于hbase的实时计算框架prom(20111114)基于hbase的实时计算框架prom(20111114)
基于hbase的实时计算框架prom(20111114)
yiihsia
 
Matrix factoration and DSGD in Spark
Matrix factoration and DSGD in SparkMatrix factoration and DSGD in Spark
Matrix factoration and DSGD in Spark
peng liu
 
准实时海量数据分析系统架构探究
准实时海量数据分析系统架构探究准实时海量数据分析系统架构探究
准实时海量数据分析系统架构探究Min Zhou
 
Selling sybase hds solution for banking
Selling sybase hds solution for bankingSelling sybase hds solution for banking
Selling sybase hds solution for bankingfocusbi
 
Mesos-based Data Infrastructure @ Douban
Mesos-based Data Infrastructure @ DoubanMesos-based Data Infrastructure @ Douban
Mesos-based Data Infrastructure @ Douban
Zhong Bo Tian
 
Data Analyse Black Horse - ClickHouse
Data Analyse Black Horse - ClickHouseData Analyse Black Horse - ClickHouse
Data Analyse Black Horse - ClickHouse
Jack Gao
 
分布式构架简介 草稿
分布式构架简介 草稿分布式构架简介 草稿
分布式构架简介 草稿guestd7133d1
 
Azure Data Lake 簡介
Azure Data Lake 簡介Azure Data Lake 簡介
Azure Data Lake 簡介
Herman Wu
 

What's hot (20)

Big Data Projet Management the Body of Knowledge (BDPMBOK)
Big Data Projet Management the Body of Knowledge (BDPMBOK)Big Data Projet Management the Body of Knowledge (BDPMBOK)
Big Data Projet Management the Body of Knowledge (BDPMBOK)
 
Observe Changes of Taiwan Big Data Communities with Small Data (Updated)
Observe Changes of Taiwan Big Data Communities with Small Data (Updated)Observe Changes of Taiwan Big Data Communities with Small Data (Updated)
Observe Changes of Taiwan Big Data Communities with Small Data (Updated)
 
淘宝Hadoop数据分析实践
淘宝Hadoop数据分析实践淘宝Hadoop数据分析实践
淘宝Hadoop数据分析实践
 
Hadoop 生態系十年回顧與未來展望
Hadoop 生態系十年回顧與未來展望Hadoop 生態系十年回顧與未來展望
Hadoop 生態系十年回顧與未來展望
 
Data Pipeline Matters
Data Pipeline MattersData Pipeline Matters
Data Pipeline Matters
 
Hadoop 與 SQL 的甜蜜連結
Hadoop 與 SQL 的甜蜜連結Hadoop 與 SQL 的甜蜜連結
Hadoop 與 SQL 的甜蜜連結
 
2016-07-12 Introduction to Big Data Platform Security
2016-07-12 Introduction to Big Data Platform Security2016-07-12 Introduction to Big Data Platform Security
2016-07-12 Introduction to Big Data Platform Security
 
ClickHouse北京Meetup ClickHouse Best Practice @Sina
ClickHouse北京Meetup ClickHouse Best Practice @SinaClickHouse北京Meetup ClickHouse Best Practice @Sina
ClickHouse北京Meetup ClickHouse Best Practice @Sina
 
用Python实现hadoop任务调度管理
用Python实现hadoop任务调度管理用Python实现hadoop任务调度管理
用Python实现hadoop任务调度管理
 
Track A-1: Cloudera 大數據產品和技術最前沿資訊報告
Track A-1: Cloudera 大數據產品和技術最前沿資訊報告Track A-1: Cloudera 大數據產品和技術最前沿資訊報告
Track A-1: Cloudera 大數據產品和技術最前沿資訊報告
 
Testetstetets
TestetstetetsTestetstetets
Testetstetets
 
大數據
大數據大數據
大數據
 
基于hbase的实时计算框架prom(20111114)
基于hbase的实时计算框架prom(20111114)基于hbase的实时计算框架prom(20111114)
基于hbase的实时计算框架prom(20111114)
 
Matrix factoration and DSGD in Spark
Matrix factoration and DSGD in SparkMatrix factoration and DSGD in Spark
Matrix factoration and DSGD in Spark
 
准实时海量数据分析系统架构探究
准实时海量数据分析系统架构探究准实时海量数据分析系统架构探究
准实时海量数据分析系统架构探究
 
Selling sybase hds solution for banking
Selling sybase hds solution for bankingSelling sybase hds solution for banking
Selling sybase hds solution for banking
 
Mesos-based Data Infrastructure @ Douban
Mesos-based Data Infrastructure @ DoubanMesos-based Data Infrastructure @ Douban
Mesos-based Data Infrastructure @ Douban
 
Data Analyse Black Horse - ClickHouse
Data Analyse Black Horse - ClickHouseData Analyse Black Horse - ClickHouse
Data Analyse Black Horse - ClickHouse
 
分布式构架简介 草稿
分布式构架简介 草稿分布式构架简介 草稿
分布式构架简介 草稿
 
Azure Data Lake 簡介
Azure Data Lake 簡介Azure Data Lake 簡介
Azure Data Lake 簡介
 

Viewers also liked

BDTC2015 小米-大数据和小米金融
BDTC2015 小米-大数据和小米金融BDTC2015 小米-大数据和小米金融
BDTC2015 小米-大数据和小米金融
Jerry Wen
 
Hadoop系统及其关键技术
Hadoop系统及其关键技术Hadoop系统及其关键技术
Hadoop系统及其关键技术冬 陈
 
张振杰:大数据时代的隐私保护的挑战和机遇
张振杰:大数据时代的隐私保护的挑战和机遇张振杰:大数据时代的隐私保护的挑战和机遇
张振杰:大数据时代的隐私保护的挑战和机遇
hdhappy001
 
Hadoop-分布式数据平台
Hadoop-分布式数据平台Hadoop-分布式数据平台
Hadoop-分布式数据平台
Jacky Chi
 
Introduction to big data
Introduction to big dataIntroduction to big data
Introduction to big data
邦宇 叶
 
大数据知识及技术简介(Introduction to basic concepts and techiques of big data in Chinese)
大数据知识及技术简介(Introduction to basic concepts and techiques of big data in Chinese)大数据知识及技术简介(Introduction to basic concepts and techiques of big data in Chinese)
大数据知识及技术简介(Introduction to basic concepts and techiques of big data in Chinese)
Ye (Julia) Li
 
大数据漫谈-bilibili
大数据漫谈-bilibili大数据漫谈-bilibili
大数据漫谈-bilibili
不持
 
BDTC2015 启明星辰-潘柱廷-中国大数据技术与产业发展报告
BDTC2015 启明星辰-潘柱廷-中国大数据技术与产业发展报告BDTC2015 启明星辰-潘柱廷-中国大数据技术与产业发展报告
BDTC2015 启明星辰-潘柱廷-中国大数据技术与产业发展报告
Jerry Wen
 
Spark on yarn
Spark on yarnSpark on yarn
Spark on yarn
datamantra
 

Viewers also liked (9)

BDTC2015 小米-大数据和小米金融
BDTC2015 小米-大数据和小米金融BDTC2015 小米-大数据和小米金融
BDTC2015 小米-大数据和小米金融
 
Hadoop系统及其关键技术
Hadoop系统及其关键技术Hadoop系统及其关键技术
Hadoop系统及其关键技术
 
张振杰:大数据时代的隐私保护的挑战和机遇
张振杰:大数据时代的隐私保护的挑战和机遇张振杰:大数据时代的隐私保护的挑战和机遇
张振杰:大数据时代的隐私保护的挑战和机遇
 
Hadoop-分布式数据平台
Hadoop-分布式数据平台Hadoop-分布式数据平台
Hadoop-分布式数据平台
 
Introduction to big data
Introduction to big dataIntroduction to big data
Introduction to big data
 
大数据知识及技术简介(Introduction to basic concepts and techiques of big data in Chinese)
大数据知识及技术简介(Introduction to basic concepts and techiques of big data in Chinese)大数据知识及技术简介(Introduction to basic concepts and techiques of big data in Chinese)
大数据知识及技术简介(Introduction to basic concepts and techiques of big data in Chinese)
 
大数据漫谈-bilibili
大数据漫谈-bilibili大数据漫谈-bilibili
大数据漫谈-bilibili
 
BDTC2015 启明星辰-潘柱廷-中国大数据技术与产业发展报告
BDTC2015 启明星辰-潘柱廷-中国大数据技术与产业发展报告BDTC2015 启明星辰-潘柱廷-中国大数据技术与产业发展报告
BDTC2015 启明星辰-潘柱廷-中国大数据技术与产业发展报告
 
Spark on yarn
Spark on yarnSpark on yarn
Spark on yarn
 

Similar to Qcon2013 罗李 - hadoop在阿里

Hadoop大数据实践经验
Hadoop大数据实践经验Hadoop大数据实践经验
Hadoop大数据实践经验
Hanborq Inc.
 
Cloudera企业数据中枢平台
Cloudera企业数据中枢平台Cloudera企业数据中枢平台
Cloudera企业数据中枢平台
Jianwei Li
 
开源+自主开发 - 淘宝软件基础设施构建实践
开源+自主开发  - 淘宝软件基础设施构建实践开源+自主开发  - 淘宝软件基础设施构建实践
开源+自主开发 - 淘宝软件基础设施构建实践
Wensong Zhang
 
《数据库发展研究报告-解读(2023年)》.pdf
《数据库发展研究报告-解读(2023年)》.pdf《数据库发展研究报告-解读(2023年)》.pdf
《数据库发展研究报告-解读(2023年)》.pdf
markmind
 
Taobao图片存储与cdn系统到服务
Taobao图片存储与cdn系统到服务Taobao图片存储与cdn系统到服务
Taobao图片存储与cdn系统到服务
Wensong Zhang
 
淘宝对象存储与Cdn系统到服务
淘宝对象存储与Cdn系统到服务淘宝对象存储与Cdn系统到服务
淘宝对象存储与Cdn系统到服务drewz lin
 
Hadoop的典型应用与企业化之路 for HBTC 2012
Hadoop的典型应用与企业化之路 for HBTC 2012Hadoop的典型应用与企业化之路 for HBTC 2012
Hadoop的典型应用与企业化之路 for HBTC 2012
James Chen
 
分布式流数据实时计算平台 Iprocess
分布式流数据实时计算平台 Iprocess分布式流数据实时计算平台 Iprocess
分布式流数据实时计算平台 Iprocess
babel_qi
 
The Construction and Practice of Apache Pegasus in Offline and Online Scenari...
The Construction and Practice of Apache Pegasus in Offline and Online Scenari...The Construction and Practice of Apache Pegasus in Offline and Online Scenari...
The Construction and Practice of Apache Pegasus in Offline and Online Scenari...
acelyc1112009
 
Hadoop con 2015 hadoop enables enterprise data lake
Hadoop con 2015   hadoop enables enterprise data lakeHadoop con 2015   hadoop enables enterprise data lake
Hadoop con 2015 hadoop enables enterprise data lake
James Chen
 
Greenplum技术
Greenplum技术Greenplum技术
Greenplum技术锐 张
 
Hadoop development in China Mobile Research Institute
Hadoop development in China Mobile Research InstituteHadoop development in China Mobile Research Institute
Hadoop development in China Mobile Research Institute
Xu Wang
 
大型电商的数据服务的要点和难点
大型电商的数据服务的要点和难点 大型电商的数据服务的要点和难点
大型电商的数据服务的要点和难点
Chao Zhu
 
云梯的多Namenode和跨机房之路
云梯的多Namenode和跨机房之路云梯的多Namenode和跨机房之路
云梯的多Namenode和跨机房之路
li luo
 
Paas研究介绍
Paas研究介绍Paas研究介绍
Paas研究介绍
snakebbf
 
線上埋碼資料收集實作
線上埋碼資料收集實作線上埋碼資料收集實作
線上埋碼資料收集實作
FEG
 
F1 07 淘宝软件基础设施构建实践_章文嵩_淘宝
F1 07 淘宝软件基础设施构建实践_章文嵩_淘宝F1 07 淘宝软件基础设施构建实践_章文嵩_淘宝
F1 07 淘宝软件基础设施构建实践_章文嵩_淘宝drewz lin
 
百度系统部分布式系统介绍 马如悦 Sacc2010
百度系统部分布式系统介绍 马如悦 Sacc2010百度系统部分布式系统介绍 马如悦 Sacc2010
百度系统部分布式系统介绍 马如悦 Sacc2010
Chuanying Du
 
数据科学分析协作平台CDSW
数据科学分析协作平台CDSW数据科学分析协作平台CDSW
数据科学分析协作平台CDSW
Jianwei Li
 

Similar to Qcon2013 罗李 - hadoop在阿里 (20)

Hadoop大数据实践经验
Hadoop大数据实践经验Hadoop大数据实践经验
Hadoop大数据实践经验
 
Cloudera企业数据中枢平台
Cloudera企业数据中枢平台Cloudera企业数据中枢平台
Cloudera企业数据中枢平台
 
Hadoop 介紹 20141024
Hadoop 介紹 20141024Hadoop 介紹 20141024
Hadoop 介紹 20141024
 
开源+自主开发 - 淘宝软件基础设施构建实践
开源+自主开发  - 淘宝软件基础设施构建实践开源+自主开发  - 淘宝软件基础设施构建实践
开源+自主开发 - 淘宝软件基础设施构建实践
 
《数据库发展研究报告-解读(2023年)》.pdf
《数据库发展研究报告-解读(2023年)》.pdf《数据库发展研究报告-解读(2023年)》.pdf
《数据库发展研究报告-解读(2023年)》.pdf
 
Taobao图片存储与cdn系统到服务
Taobao图片存储与cdn系统到服务Taobao图片存储与cdn系统到服务
Taobao图片存储与cdn系统到服务
 
淘宝对象存储与Cdn系统到服务
淘宝对象存储与Cdn系统到服务淘宝对象存储与Cdn系统到服务
淘宝对象存储与Cdn系统到服务
 
Hadoop的典型应用与企业化之路 for HBTC 2012
Hadoop的典型应用与企业化之路 for HBTC 2012Hadoop的典型应用与企业化之路 for HBTC 2012
Hadoop的典型应用与企业化之路 for HBTC 2012
 
分布式流数据实时计算平台 Iprocess
分布式流数据实时计算平台 Iprocess分布式流数据实时计算平台 Iprocess
分布式流数据实时计算平台 Iprocess
 
The Construction and Practice of Apache Pegasus in Offline and Online Scenari...
The Construction and Practice of Apache Pegasus in Offline and Online Scenari...The Construction and Practice of Apache Pegasus in Offline and Online Scenari...
The Construction and Practice of Apache Pegasus in Offline and Online Scenari...
 
Hadoop con 2015 hadoop enables enterprise data lake
Hadoop con 2015   hadoop enables enterprise data lakeHadoop con 2015   hadoop enables enterprise data lake
Hadoop con 2015 hadoop enables enterprise data lake
 
Greenplum技术
Greenplum技术Greenplum技术
Greenplum技术
 
Hadoop development in China Mobile Research Institute
Hadoop development in China Mobile Research InstituteHadoop development in China Mobile Research Institute
Hadoop development in China Mobile Research Institute
 
大型电商的数据服务的要点和难点
大型电商的数据服务的要点和难点 大型电商的数据服务的要点和难点
大型电商的数据服务的要点和难点
 
云梯的多Namenode和跨机房之路
云梯的多Namenode和跨机房之路云梯的多Namenode和跨机房之路
云梯的多Namenode和跨机房之路
 
Paas研究介绍
Paas研究介绍Paas研究介绍
Paas研究介绍
 
線上埋碼資料收集實作
線上埋碼資料收集實作線上埋碼資料收集實作
線上埋碼資料收集實作
 
F1 07 淘宝软件基础设施构建实践_章文嵩_淘宝
F1 07 淘宝软件基础设施构建实践_章文嵩_淘宝F1 07 淘宝软件基础设施构建实践_章文嵩_淘宝
F1 07 淘宝软件基础设施构建实践_章文嵩_淘宝
 
百度系统部分布式系统介绍 马如悦 Sacc2010
百度系统部分布式系统介绍 马如悦 Sacc2010百度系统部分布式系统介绍 马如悦 Sacc2010
百度系统部分布式系统介绍 马如悦 Sacc2010
 
数据科学分析协作平台CDSW
数据科学分析协作平台CDSW数据科学分析协作平台CDSW
数据科学分析协作平台CDSW
 

Qcon2013 罗李 - hadoop在阿里

  • 1.
  • 3. •  阿里大数据发展历程   •  云梯Hadoop服务集群   •  问题和挑战   •  我们的对策   •  案例介绍  –  淘宝数据平台   •  未来展望   提纲  
  • 4. 阿里大数据发展历程   •  单机   – 容量,性能   •  分布式数据库   – Oracle  RAC  /  Greenplum  /  …   – 商业软件(价格),容量,稳定性   •  分散的Hadoop集群   – 数据互操作,稳定性,成本和效率  
  • 5. 阿里大数据发展历程   •  云梯   –  一个项目   –  一个集群   –  一项服务   •  为阿里集团提供海量数据的存储和计算服务   •  为何选择  Hadoop?   –  MapReduce  和  HDFS  能满足大部分离线业务的需求   –  商业公司  Yahoo  /  Facebook  支持,工业级应用   –  可扩展,大规模   –  开源软件,社区活跃  
  • 7. •  HDFS  -­‐  海量数据存储服务   –  分组,通过quota(空间/文件数)限制:/group/taobao   –  数据共享:淘宝/天猫/一淘/B2B/支付宝   •  MapReduce  -­‐  大规模分布式计算服务   –  分组,slot限制,按需申请,集中分配和调度   –  生产  /  开发  /  测试共享集群,白天开发,晚上生产   •  服务特色   –  单一大集群   –  多用户共享   –  计算分时   –  资源按需申请,按使用量计费   云梯Hadoop服务集群  
  • 8. 其他相关服务      基于MapReduce的SQL引擎  Hive      可以用任意可执行程序或脚本运行MapReduce  Streaming          机器学习算法库  Mahout        类似于Hive的大规模数据分析平台  Pig        离线和在线存储服务  HBase  
  • 9. 服务基本架构   淘宝对外 HBase   (CDH3)   支付宝集群   (0.20.2)   业务调度系统     B2B     Gateways   淘宝 机房   集团机房   云梯   Gatewa y   云梯   Gatewa y   云梯 集群   云梯   Gatewa y   云梯   Gatewa y   HDFS   MapReduce   HBase   云梯   Gatewa y   DFSClient   MRClient   HiveClient   Hive  Meta  
  • 10. 云梯集群发展历程   200   700   1000   2000   3000   X000   0   500   1000   1500   2000   2500   3000   3500   4000   2009.4   2010.3   2010.7   2012.1   2012.10   2013.4   集群规模(台)   上线   集群迁 移机房   Oracle  RAC基 本迁移完成   服务扩展 至全集团   现在  
  • 12. 云梯服务  vs.  自建集群   •  从用户角度出发   自建Hadoop集群   使用平台Hadoop服务   集群搭建   机器采购,机房布局   不用考虑   集群运维   节点宕机后需要立即介入   不用考虑   集群扩容   计算资源不足,存储空间不足, 需要扩容,采购新的机器   网页申请,审批通过即可 生效   代码维护   Hadoop代码维护,专业的 Hadoop开发人员   不用考虑   数据复制   使用其他团队数据,需要从另 外集群复制过来   阿里集团大部分数据能在 云梯上找到  
  • 13. 平台服务的成本优势   资源组   高峰时段slot申请量   自建集群需要机器数   cug-­‐groupA   31000   1550   cug-­‐groupB   7500   375   cug-­‐groupC   5500   275   cug-­‐groupD   4500   225   cug-­‐groupE   4000   200   cug-­‐groupF   4000   200   其他100多个组   176860   8843   总计   233360   11668   2861   11668   0   5000   10000   云梯集群   自建集群   机器数目  
  • 15. 问题和挑战   •  稳定性和安全性   – 大作业占用集群的所有  slot  (计算资源)   – 某些机器网卡打满   – NameNode  被某个用户的作业拖慢   •  共享   – 计算资源共享:  A组在白天用,  B组晚上用   – 数据共享:  支付宝读取淘宝的某张表数据,  怎么 开放?  
  • 16. 问题和挑战   •  兼容性   – 上千个客户端/Gateway,  上百个部门   – 客户端全量升级代价大   – 服务器端升级要尽量保持向下兼容   – 客户端版本:   •  Hadoop  0.19.0   •  Hadoop  0.20.2   •  CDH3  
  • 17. 问题和挑战   •  性能和扩展性   – Hadoop  Master节点是单点   – NameNode  压力:几亿文件  +  几亿  Block,RPC 日请求量超过几十亿次   – JobTracker  调度压力:日调度运行超过几十万 个Job,几千万个  Task,高并发  (1000+  jobs,   55000  tasks),多用户  (3000+)   – JVM的极限,超过  150G  的  JVM  Heap   – 单点故障  
  • 18. 问题和挑战   •  可观测和可测试   – 上千台机器,多个  Master   – 上百个指标:系统,Java  GC,Hadoop  metrics…   – 集群突然变慢了?某个组新上线大规模作业?   – 大压力情况下出现bug了!   – 每个季度都有新版本发布,版本性能是否有提 升?  
  • 20. •  重构Task调度器   – 资源组的划分:  消除某些组的大作业对其他组的 影响  (Min  slots  vs.  Max  slots)   – Slot  资源动态管理  (create/delete/increase/decrease)   – 完整的作业优先级支持:  支持业务优先级调度   – 对异构操作系统或硬件的兼容性:  比如支持跨OS 版本调度   计算资源的分配和调度  
  • 21. HDFS上的扩展ACL   •  传统Unix文件系统权限   –  Apache  Hadoop  0.17  已经实现   –  User/Group/Other,  rwxr-­‐x-­‐-­‐-­‐,  750   –  数据组内可读,  但外部用户不可读   •  跨组,  跨部门,  跨公司文件共享   –  新功能:  扩展ACL   –  ACL条目:  /group/taobao/hive/auceons:alipay: +R:tbclient:+RW   –  外部系统:   •  资源注册,  权限申请,  权限审批,  ACL条目同步  
  • 22. 稳定性改进   •  消除异常Job的影响   – 内存监控:  单个Task内存限制,计算节点内存上 限控制   – 磁盘IO监控:  单个Job  shuffle线程对单块磁盘的 读取限制   – 限制单个Job  map/reduce  task数目   – 限制单个Job  counter数目   – Job本地文件系统数据读写量监控   – Job创建HDFS文件数目的监控   – ……  
  • 23. 解决跨版本的兼容性   •  现状   –  Hadoop  Server:云梯  Hadoop  (基于Apache  Hadoop   0.19.1)   –  Hadoop  Client:   •  0.19.x:公司内大规模部署,几百个Gateway   •  0.20.x/1.0.x:社区主流版本,Hadoop生态圈支持   •  方案   –  实现0.20上的新增重要功能   •  HDFS  Append   •  MapReduce  new  API   –  Hack  Hadoop协议,服务可以同时支持多个客户端   •  0.19.x,0.20.2,CDH3uX  
  • 24. •  性能:解决Master节点的单点性能压力   – NameNode  改进   •  RPC  改造,Listener  拆分出多个  Reader   •  使用读写锁,尽可能的提高NameNode内部的并发   •  写操作在等待  edit  log  commit  阶段时释放  handler   – JobTracker  改进   •  Scheduler调度算法重写,从O(n2)降低到O(1)   •  一次心跳分配多个Task   •  Job  History  log  改造成异步写   •  Out-­‐of-­‐bound  heartbeat提高调度的效率   挑战性能极限  
  • 25. 高压力下的  JVM  bug   •  NameNode内存泄露   – NameNode高并发RPC   – Java  nio  SocketAdapter创建的SocksSocketImpl对 象需要finalize,但在CMS  gc回收不及时   – Oracle  JDK  bug  ID:  7115586  (Oracle  JDK  6u32  fix)   •  CMS  gc使用135G的Heap后JVM  crash   – NameNode大内存   – 1  <<  32  移位操作溢出   – Oracle  JDK  bug  ID:  7197906  (OpenJDK)  
  • 26. JobTracker  HA实现   Aceve   JobTracker   Standby   JobTracker   JobClient  JobClient   TaskTracke r   TaskTracke r   TaskTracke r   提交作业& 查询状态   心跳   NFS或 TimeTunnel   Job  History   Job  History   VIP  
  • 28. DST:  分布式系统测试工具   资料来源:   阿里技术嘉年华 (2012)  -­‐  《分布 式系统测试实 践》  -­‐  神秀  (淘 宝网)  
  • 29. 云梯医生:  集群诊断系统     •  集群全局指标   •  存储、计算利用率趋势   •  用户/组资源使用趋势分析   •  Slots*sec,  HDFS/local  r/w   •  机器/机器组视图   •  业务作业对比(vs.  前一天/前一周)   •  数据量增长趋势   •  不同优先级作业消耗的资源   •  Master节点关键指标   •  JobTracker每秒心跳频率/时间   •  NameNode  RPC  process  eme,   queue  eme,  queue  len,  OPS  
  • 31. 基于云梯的淘宝数据   平台架构   Oracle  备库   MySQL  备库   日志系统   云梯服务集群   数据平台   搜索   支付宝   B2B Gateway  Servers 数据魔方   量子统计   口碑   DBSync 爬虫数据     Map  Reduce  Jobs   Streaming  Jobs   Hive  Jobs 广告   BI 淘数据   推荐系统   搜索排行   … TimeTunnelDataX 数 据 流 向 天网 调度 系统   数据用 户部门   对外数 据产品   资料来源:Velocity  China  2010  -­‐  《淘宝云梯分布式计 算平台整体架构》-­‐  张清(淘宝)  
  • 32. •  其他数据来源   –  来自其他团队和公司的数据,比如支付宝数据,广告 反作弊数据,通过云梯共享   •  数据流出   –  前台业务系统,如传统数据库或NoSQL  (主要是HBase): DataX  …   –  在云梯上共享给其他团队和公司,做进一步分析   数据同步工具   •  数据流入   TimeTunnel,分布式日志收集工具  –  日志数据:   –  数据库表:   DBsync,增量,大表的快速同步   DataX,前台数据库<=>云梯  (双向同步)  
  • 33.   计算内容     处理方式   ETL数据分析处理,OLAP 大数据量分析场景   主要使用Hive   点击流日志分析   MapReduce批量处理   搜索排行榜和其他搜索 相关业务   大量使用C/C++算法库,分词库, 利用MapReduce  Streaming或Pipes   机器学习   使用Mahout   数据处理  
  • 34. 调度系统   •  Gateway管理   –  提交Hadoop  Job   –  运行数据导入导出任务   •  作业优先级管理   –  hadoop.job.level:  利用云梯作业调度器开发的接口, 完整的优先级支持   –  云梯作业调度器的特点:   •  资源空闲时,低优先级作业可以运行   •  后提交的高优先级作业立即占用低优先级作业释放的资 源   •  监控报警管理  
  • 35. •  数据分析   – Hive  SQL  Web  IDE   – 帐号和云梯服务集成   •  知识管理   – 元数据/数据字典/数据订阅/表字段血缘分析   •  存储管理   – 数据生命周期管理   – 数据保留策略:周期性删除/极限存储/压缩/ HDFS  Raid   数据开发工具  
  • 37. 服务平台未来展望   •  服务类型扩展   – 支持多种计算模型,比如MPI/Storm等,超越 Hadoop  MapReduce  (Hadoop  2.0  Yarn)   – 更好的资源控制,隔离和计费,利用cgroup等   (基于Hadoop  2.0  Yarn)   •  期望和开源社区结合更加紧密  
  • 38. 未来展望   •  服务质量提升   – 继续推进Master节点HA   •  NameNode  HA  (Hadoop  2.0)   •  做到不停机升级,加快软件的进化速度   – Hive实时化   •  M/R调度性能的深度优化   •  结合HBase或索引等相关技术   – 安全性   •  Hive表的权限控制,对MR/Pig程序的等访问控制   •  Hive表字段级别的访问控制  
  • 39. 未来展望   •  性能   – M/R  Shuffle性能优化   – 利用操作系统的底层性能优化  (Linux内核团队)   – 利用JVM的性能优化  (淘宝JVM团队)   •  扩展性   – NameNode扩展性:Federaeon   – MapReduce扩展性:Yarn   – 支持跨机房  (当集群规模渐渐到达机房上限…)