0
腾讯大规模
Hadoop集群实践
腾讯数据平台部
翟艳堂
数据服务总体框架
数据开发者平台

SNG

Lhotse统一调度

+

数据应用门户

自助提取与分析

专题分析

IEG
MIG

TDBank

OMG

数据采
集与分
发

TDW
海量数据存储
与计算

精准推荐模型
社交广告 ...
为什么要做大集群
• 数据共享
• 计算资源共享
• 减轻运营负担
福永微博集群
350台

枢纽点击流集群
500台
SOSO集群
南汇集群
财付通集群
……

宝安主集群
IEG/MIG/…
450台TS4
宝安公用集群
500台

同乐主...
面临的挑战
400台

1年

计算层

4000台

存储层

 JobTracker调度效率低

 NameNode没有容灾

集群扩展性不好

丢失1个小时数据的风险
重启耗时长

不支持灰度变更

高可用
高效
高扩展性

Jo...
JobTracker分散化
方案选择
TDW基线版本: CDH3u3

Yarn

Corona

版本稳定性

社区开发中,稳定版发布时间未知

facebook发布的版本

代码复杂度

2.X系列代码,完全重构

基于0.20系列代码

HDFS的要求

2.X H...
JobTracker分散化
Cluster
Manager

Job
Tracker

资源管理
任务调度
任务管理

资源管理
任务调度

JobTracker 任务管理
…

Task
Task
Tracker Tracker

...

...
JobTracker分散化
1. request jobtracker resource

Cluster
Manager

2. grant jobtracker resource

JobClient

4. request
map/red...
NameNode高可用
NameNode高可用
zk1

zk2

…

client
meta ops

client

meta ops

Name
Node

check Second
point NameNode

ANN

BNN

learn
meta

...
Namenode主备仲裁以及状态转换
zookeeper cluster
../repView/ A:ip1,S:ip2,S:ip3

zookeeper cluster
../repView/ A:ip2,S:ip3,n:ip1

../el...
NameNode分散化
NameNode分散化
Hive

Hive

user

Tbl_a, Tbl_b

submit mr

user

获取NN信息

Meta
Tbl_a
Tbl_b

namenode 3

...

submit mr

namenod...
优化运营
HDFS兼容
0.20.1

CDH3u3

2.0

routing table
FileSystem

DFSClient

NameNode

AbstractFil
eSystem

RPC Server

NameNode

File...
检测节点短板
• 1个节点慢,整个job慢
监控数据库

CPU利用率最高的/最低的
reduce平均执行时间最大的

推测执行差异化服务
• 一视同仁
– 资源浪费

• 关键任务不能执行慢,非关键任务不能卡死
关键任务

非关键任务

推测...
防止数据误删除
• 误删除数据将会造成灾难
– NameNode回收站
– 删除黑白名单
– DataNode回收站

大Job的困扰
• 资源池限制
• 生产时段和非生产时段动态调整
• 下手狠一点
业务迁移
MapReduce
HDFS1

HDFS2

•
•
•
•
•

DB为迁移切换单位
计算出空窗期
全量迁移DB
循环补充迁移更新的表
实施切换
集群发展现状
单集群支撑规模

400

4400

集群容量

每日作业数

4万

100万+

–服务器 4400台

每日计算量

0.26PB

4PB

–CPU ~10w+核

存储利用率

85%+

83%+

CPU利用率
...
未来计划
• 引入Yarn作为统一的资源管理平台
– 支持MapReduce、Storm、Spark、Tez等计算模型

• 实时计算平台
• 类Dremel系统
• 开源计划
谢 谢
Upcoming SlideShare
Loading in...5
×

翟艳堂:腾讯大规模Hadoop集群实践

356

Published on

BDTC 2013 Beijing China

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
356
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "翟艳堂:腾讯大规模Hadoop集群实践"

  1. 1. 腾讯大规模 Hadoop集群实践 腾讯数据平台部 翟艳堂
  2. 2. 数据服务总体框架 数据开发者平台 SNG Lhotse统一调度 + 数据应用门户 自助提取与分析 专题分析 IEG MIG TDBank OMG 数据采 集与分 发 TDW 海量数据存储 与计算 精准推荐模型 社交广告 电商 视频 其它 CDG TRC 实时计算平台 ECC 数据规范化管理 实时采集 流式计算 TEG 数据仓库 数 据 分 析 数据应用 分布式存储 精 准 推 荐
  3. 3. 为什么要做大集群 • 数据共享 • 计算资源共享 • 减轻运营负担 福永微博集群 350台 枢纽点击流集群 500台 SOSO集群 南汇集群 财付通集群 …… 宝安主集群 IEG/MIG/… 450台TS4 宝安公用集群 500台 同乐主集群 SNG/OMG/ECC 1250台 TS4+TS5 宝安数挖集群 250台 宝安TA集群 宝安智胜集群 …… 同乐微博集群 200台 TDW
  4. 4. 面临的挑战 400台 1年 计算层 4000台 存储层  JobTracker调度效率低  NameNode没有容灾 集群扩展性不好 丢失1个小时数据的风险 重启耗时长 不支持灰度变更 高可用 高效 高扩展性 JobTracker分散化 NameNode高可用 高可用 高效 高扩展性
  5. 5. JobTracker分散化
  6. 6. 方案选择 TDW基线版本: CDH3u3 Yarn Corona 版本稳定性 社区开发中,稳定版发布时间未知 facebook发布的版本 代码复杂度 2.X系列代码,完全重构 基于0.20系列代码 HDFS的要求 2.X HDFS 0.20系统HDFS 时间:2012年12月
  7. 7. JobTracker分散化 Cluster Manager Job Tracker 资源管理 任务调度 任务管理 资源管理 任务调度 JobTracker 任务管理 … Task Task Tracker Tracker ... Task Task Task Tracker Tracker Tracker ...  JobTracker分散化平行扩展  资源管理和任务调度解耦  更精细地调度 任务管理
  8. 8. JobTracker分散化 1. request jobtracker resource Cluster Manager 2. grant jobtracker resource JobClient 4. request map/reduce resource 5. grant map/reduce resource heartbeat heartbeat JobTracker 3. start jobtracker 6. submit launch map/reduce actions Task Task Task Tracker Tracker Tracker map/ heartbeat reduce ...
  9. 9. NameNode高可用
  10. 10. NameNode高可用 zk1 zk2 … client meta ops client meta ops Name Node check Second point NameNode ANN BNN learn meta BNN sync edit log blockreport Data Node Data Node ... Data Node Data Node blockrepor t ...  一主两热备  元数据在主备间实时同步  DataNode同时向3个Master汇报Block
  11. 11. Namenode主备仲裁以及状态转换 zookeeper cluster ../repView/ A:ip1,S:ip2,S:ip3 zookeeper cluster ../repView/ A:ip2,S:ip3,n:ip1 ../election/1,2,3 X heatbeat client Active:IP1 Standby:IP2 ../repView/ A:ip2,S:ip3,n:ip1 newbie:IP1 Standby:IP3 client ../election/2,3 重新学习,收集DN状态 client 重新获取主 更新repview newbie:IP1 Standby:IP3 heatbeat Active:IP2 ../repView/ A:ip2,S:ip3,S:ip1 heatbeat Active:IP2 ../election/2,3 Standby:IP2 ../election/2,3 4 heatbeat client standby:IP1 Active:IP2 Standby:IP3
  12. 12. NameNode分散化
  13. 13. NameNode分散化 Hive Hive user Tbl_a, Tbl_b submit mr user 获取NN信息 Meta Tbl_a Tbl_b namenode 3 ... submit mr namenode 1 .... 计算层 计算层 Namenode DN DN Tbl_b Tbl_a ... HDFS Cluster1 (NameNode1) HDFS Cluster2 (NameNode2)  按业务分布  按负载分布资源 HDFS Cluster3 (NameNode3)
  14. 14. 优化运营
  15. 15. HDFS兼容 0.20.1 CDH3u3 2.0 routing table FileSystem DFSClient NameNode AbstractFil eSystem RPC Server NameNode FileSystem DFSClient RPC Server AbstractFil eSystem routing table DataNode DataNode HDFS HDFS
  16. 16. 检测节点短板 • 1个节点慢,整个job慢 监控数据库 CPU利用率最高的/最低的 reduce平均执行时间最大的 推测执行差异化服务 • 一视同仁 – 资源浪费 • 关键任务不能执行慢,非关键任务不能卡死 关键任务 非关键任务 推测比例 90% 1% 推测间隔 5s 30m
  17. 17. 防止数据误删除 • 误删除数据将会造成灾难 – NameNode回收站 – 删除黑白名单 – DataNode回收站 大Job的困扰 • 资源池限制 • 生产时段和非生产时段动态调整 • 下手狠一点
  18. 18. 业务迁移 MapReduce HDFS1 HDFS2 • • • • • DB为迁移切换单位 计算出空窗期 全量迁移DB 循环补充迁移更新的表 实施切换
  19. 19. 集群发展现状 单集群支撑规模 400 4400 集群容量 每日作业数 4万 100万+ –服务器 4400台 每日计算量 0.26PB 4PB –CPU ~10w+核 存储利用率 85%+ 83%+ CPU利用率 30% 85%+ –内存 ~275TB 数据安全性 可能会丢失1个小时 数据 丢数据风险很低 重启暂停线上服 1小时 务时间 秒级自动无缝切换 总存储量 4PB 80PB 文件数+块数 5千万 6亿 –磁盘 ~52800块 –存储容量 ~100PB
  20. 20. 未来计划 • 引入Yarn作为统一的资源管理平台 – 支持MapReduce、Storm、Spark、Tez等计算模型 • 实时计算平台 • 类Dremel系统 • 开源计划
  21. 21. 谢 谢
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×