Suche senden
Hochladen
分布式文件实践经验交流
•
8 gefällt mir
•
1,143 views
凯 李
Folgen
Technologie
Wirtschaft & Finanzen
Melden
Teilen
Melden
Teilen
1 von 18
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
Level db
Level db
宗志 陈
Google LevelDB Study Discuss
Google LevelDB Study Discuss
everestsun
Something about Kafka - Why Kafka is so fast
Something about Kafka - Why Kafka is so fast
ViSenze - Artificial Intelligence for the Visual Web
Leveldb background
Leveldb background
宗志 陈
分布式Key Value Store漫谈
分布式Key Value Store漫谈
Tim Y
Mr&ueh数据库方面
Mr&ueh数据库方面
Tianwei Liu
对MySQL的一些改进想法和实现
对MySQL的一些改进想法和实现
Lixun Peng
SMACK Dev Experience
SMACK Dev Experience
Chih-Hsuan Hsu
Empfohlen
Level db
Level db
宗志 陈
Google LevelDB Study Discuss
Google LevelDB Study Discuss
everestsun
Something about Kafka - Why Kafka is so fast
Something about Kafka - Why Kafka is so fast
ViSenze - Artificial Intelligence for the Visual Web
Leveldb background
Leveldb background
宗志 陈
分布式Key Value Store漫谈
分布式Key Value Store漫谈
Tim Y
Mr&ueh数据库方面
Mr&ueh数据库方面
Tianwei Liu
对MySQL的一些改进想法和实现
对MySQL的一些改进想法和实现
Lixun Peng
SMACK Dev Experience
SMACK Dev Experience
Chih-Hsuan Hsu
大数据时代feed架构 (ArchSummit Beijing 2014)
大数据时代feed架构 (ArchSummit Beijing 2014)
Tim Y
Database.Cache&Buffer&Lock
Database.Cache&Buffer&Lock
Lixun Peng
豆瓣网技术架构变迁
豆瓣网技术架构变迁
reinhardx
MySQL多机房容灾设计(with Multi-Master)
MySQL多机房容灾设计(with Multi-Master)
Lixun Peng
Vipshop Offline Data Cache Acceleration System - Alluxio Integration
Vipshop Offline Data Cache Acceleration System - Alluxio Integration
Alluxio, Inc.
Hadoop 0.23 m_rv2_introduction
Hadoop 0.23 m_rv2_introduction
JinGui LI
Yupoo! (花瓣网/又拍云) 架构中的消息与任务系统
Yupoo! (花瓣网/又拍云) 架构中的消息与任务系统
Dahui Feng
From Java Stream to Java DataFrame
From Java Stream to Java DataFrame
Chen-en Lu
硬件体系架构浅析
硬件体系架构浅析
frogd
高性能并发Web服务器实现核心内幕
高性能并发Web服务器实现核心内幕
ideawu
Bypat博客出品-服务器运维集群方法总结
Bypat博客出品-服务器运维集群方法总结
redhat9
Bypat博客出品-服务器运维集群方法总结2
Bypat博客出品-服务器运维集群方法总结2
redhat9
Build scalable microblog qcon beijing 2010
Build scalable microblog qcon beijing 2010
Tim Y
redis 适用场景与实现
redis 适用场景与实现
iammutex
Bypat博客出品-服务器运维集群方法总结3
Bypat博客出品-服务器运维集群方法总结3
redhat9
海量日志分析系统实践,Dba
海量日志分析系统实践,Dba
Cevin Cheung
Hantuo openstack
Hantuo openstack
OpenCity Community
Dynamo db
Dynamo db
Andy Dai
Spark性能调优分享
Spark性能调优分享
Wenchun Xu
MySQL-Proxy
MySQL-Proxy
ruoyi ruan
淘宝数据库架构演进历程
淘宝数据库架构演进历程
zhaolinjnu
Hbase源码初探
Hbase源码初探
zhaolinjnu
Weitere ähnliche Inhalte
Was ist angesagt?
大数据时代feed架构 (ArchSummit Beijing 2014)
大数据时代feed架构 (ArchSummit Beijing 2014)
Tim Y
Database.Cache&Buffer&Lock
Database.Cache&Buffer&Lock
Lixun Peng
豆瓣网技术架构变迁
豆瓣网技术架构变迁
reinhardx
MySQL多机房容灾设计(with Multi-Master)
MySQL多机房容灾设计(with Multi-Master)
Lixun Peng
Vipshop Offline Data Cache Acceleration System - Alluxio Integration
Vipshop Offline Data Cache Acceleration System - Alluxio Integration
Alluxio, Inc.
Hadoop 0.23 m_rv2_introduction
Hadoop 0.23 m_rv2_introduction
JinGui LI
Yupoo! (花瓣网/又拍云) 架构中的消息与任务系统
Yupoo! (花瓣网/又拍云) 架构中的消息与任务系统
Dahui Feng
From Java Stream to Java DataFrame
From Java Stream to Java DataFrame
Chen-en Lu
硬件体系架构浅析
硬件体系架构浅析
frogd
高性能并发Web服务器实现核心内幕
高性能并发Web服务器实现核心内幕
ideawu
Bypat博客出品-服务器运维集群方法总结
Bypat博客出品-服务器运维集群方法总结
redhat9
Bypat博客出品-服务器运维集群方法总结2
Bypat博客出品-服务器运维集群方法总结2
redhat9
Build scalable microblog qcon beijing 2010
Build scalable microblog qcon beijing 2010
Tim Y
redis 适用场景与实现
redis 适用场景与实现
iammutex
Bypat博客出品-服务器运维集群方法总结3
Bypat博客出品-服务器运维集群方法总结3
redhat9
海量日志分析系统实践,Dba
海量日志分析系统实践,Dba
Cevin Cheung
Hantuo openstack
Hantuo openstack
OpenCity Community
Dynamo db
Dynamo db
Andy Dai
Spark性能调优分享
Spark性能调优分享
Wenchun Xu
Was ist angesagt?
(19)
大数据时代feed架构 (ArchSummit Beijing 2014)
大数据时代feed架构 (ArchSummit Beijing 2014)
Database.Cache&Buffer&Lock
Database.Cache&Buffer&Lock
豆瓣网技术架构变迁
豆瓣网技术架构变迁
MySQL多机房容灾设计(with Multi-Master)
MySQL多机房容灾设计(with Multi-Master)
Vipshop Offline Data Cache Acceleration System - Alluxio Integration
Vipshop Offline Data Cache Acceleration System - Alluxio Integration
Hadoop 0.23 m_rv2_introduction
Hadoop 0.23 m_rv2_introduction
Yupoo! (花瓣网/又拍云) 架构中的消息与任务系统
Yupoo! (花瓣网/又拍云) 架构中的消息与任务系统
From Java Stream to Java DataFrame
From Java Stream to Java DataFrame
硬件体系架构浅析
硬件体系架构浅析
高性能并发Web服务器实现核心内幕
高性能并发Web服务器实现核心内幕
Bypat博客出品-服务器运维集群方法总结
Bypat博客出品-服务器运维集群方法总结
Bypat博客出品-服务器运维集群方法总结2
Bypat博客出品-服务器运维集群方法总结2
Build scalable microblog qcon beijing 2010
Build scalable microblog qcon beijing 2010
redis 适用场景与实现
redis 适用场景与实现
Bypat博客出品-服务器运维集群方法总结3
Bypat博客出品-服务器运维集群方法总结3
海量日志分析系统实践,Dba
海量日志分析系统实践,Dba
Hantuo openstack
Hantuo openstack
Dynamo db
Dynamo db
Spark性能调优分享
Spark性能调优分享
Andere mochten auch
MySQL-Proxy
MySQL-Proxy
ruoyi ruan
淘宝数据库架构演进历程
淘宝数据库架构演进历程
zhaolinjnu
Hbase源码初探
Hbase源码初探
zhaolinjnu
Mysql展示功能与源码对应
Mysql展示功能与源码对应
zhaolinjnu
Redis介绍
Redis介绍
zhaolinjnu
MySQL aio
MySQL aio
zhaolinjnu
Andere mochten auch
(6)
MySQL-Proxy
MySQL-Proxy
淘宝数据库架构演进历程
淘宝数据库架构演进历程
Hbase源码初探
Hbase源码初探
Mysql展示功能与源码对应
Mysql展示功能与源码对应
Redis介绍
Redis介绍
MySQL aio
MySQL aio
Ähnlich wie 分布式文件实践经验交流
Nosql三步曲
Nosql三步曲
84zhu
吴岷 视频Cdn分发、调度与服务的探讨
吴岷 视频Cdn分发、调度与服务的探讨
drewz lin
分布式缓存与队列
分布式缓存与队列
XiaoJun Hong
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
MySQL和IO(下)
MySQL和IO(下)
Feng Yu
Large-Scale Cluster Mangement & Kubernetes Under The Hood
Large-Scale Cluster Mangement & Kubernetes Under The Hood
Lei (Harry) Zhang
新时代的分析型云数据库 Greenplum
新时代的分析型云数据库 Greenplum
锐 张
SRE 讀書會 Round 4 #37 - DNS 時快時慢,我該怎麼辦
SRE 讀書會 Round 4 #37 - DNS 時快時慢,我該怎麼辦
HanLing Shen
Mysql调优
Mysql调优
ken shin
淘宝前台系统性能分析与优化
淘宝前台系统性能分析与优化
丁 宇
ElasticSearch Training#2 (advanced concepts)-ESCC#1
ElasticSearch Training#2 (advanced concepts)-ESCC#1
medcl
淘宝主备数据库自动切换
淘宝主备数据库自动切换
mysqlops
阿里云技术实践
阿里云技术实践
drewz lin
My sql 5.6新特性深入剖析——innodb引擎
My sql 5.6新特性深入剖析——innodb引擎
frogd
分布式Key-value漫谈
分布式Key-value漫谈
lovingprince58
MySQL自动切换设计与实现
MySQL自动切换设计与实现
orczhou
主库自动切换 V2.0
主库自动切换 V2.0
jinqing zhu
receiving packets faster
receiving packets faster
yang peng
Metrics
Metrics
ChangQi Lin
Tair
Tair
OpenSourceCamp
Ähnlich wie 分布式文件实践经验交流
(20)
Nosql三步曲
Nosql三步曲
吴岷 视频Cdn分发、调度与服务的探讨
吴岷 视频Cdn分发、调度与服务的探讨
分布式缓存与队列
分布式缓存与队列
The Construction and Practice of Apache Pegasus in Offline and Online Scenari...
The Construction and Practice of Apache Pegasus in Offline and Online Scenari...
MySQL和IO(下)
MySQL和IO(下)
Large-Scale Cluster Mangement & Kubernetes Under The Hood
Large-Scale Cluster Mangement & Kubernetes Under The Hood
新时代的分析型云数据库 Greenplum
新时代的分析型云数据库 Greenplum
SRE 讀書會 Round 4 #37 - DNS 時快時慢,我該怎麼辦
SRE 讀書會 Round 4 #37 - DNS 時快時慢,我該怎麼辦
Mysql调优
Mysql调优
淘宝前台系统性能分析与优化
淘宝前台系统性能分析与优化
ElasticSearch Training#2 (advanced concepts)-ESCC#1
ElasticSearch Training#2 (advanced concepts)-ESCC#1
淘宝主备数据库自动切换
淘宝主备数据库自动切换
阿里云技术实践
阿里云技术实践
My sql 5.6新特性深入剖析——innodb引擎
My sql 5.6新特性深入剖析——innodb引擎
分布式Key-value漫谈
分布式Key-value漫谈
MySQL自动切换设计与实现
MySQL自动切换设计与实现
主库自动切换 V2.0
主库自动切换 V2.0
receiving packets faster
receiving packets faster
Metrics
Metrics
Tair
Tair
分布式文件实践经验交流
1.
分布式文件系统实践经验交流
yubai.lk@taobao.com
2.
Context •
概述 • 一致性模型 • 元数据节点 • 数据节点 • 客户端API • 总结
3.
概述 • 应用 • 需求 •
架构
4.
应用 • MapReduce计算 –
高带宽 – 顺序扫描 – 批量顺序追加 • 表格系统的底层存储 – 随机读取 – 小记录顺序追加 – 批量顺序追加
5.
需求 •
超大规模的数据存储 • 易于扩展和迁移 • 容灾和自动恢复 • 高带宽和低延迟
6.
架构 • 数据分块 –
大文件优化 • 大容量低配置数据节点 – 12T, sata • 单一元数据节点 – 主备同步 – DNS切换
7.
一致性模型 • 以记录为单位读写 –
并发和异步操作 – 记录级别的原子性 • 与GFS类似的语义 – 写成功的记录,多个副本强一致 – 写失败的记录,状态不确定 • 多副本一致性状态不确定 • 重复记录问题,需要用户处理
8.
一致性模型 • Lease
– master元数据与chunk信息一致性检查 – 减小写数据对master带来的压力 – Lease期间Primary Replica主导数据追加
9.
一致性模型 • Primary Replica主导的数据追加
– 接受master的lease 分配,并分发给其他副本 – 处理lease释放和续订,并分发给其他副本 – API都将数据发送给Primary Replica – Primary replica决定写入的offset向其他副本分发 数据 • Lease期间的宕机检测和处理 – 心跳检测和Primary汇报其他副本宕机 – 新建chunk
10.
一致性模型 • Chunk状态和版本号 –
Master在收到数据节点的lease分配成功后升级 自己名字空间的版本号 – 数据节点在收到lease并检查成功后升级自己 chunk的版本号 – Master不根据汇报信息更新自己的版本号,只 删除版本号低于自己的chunk – 数据节点上的Chunk状态 • Readonly ,自己写失败或其他副本写失败 • Cannot copy,版本号低于master
11.
元数据节点 • 批量并发操作 –
Btree copy on write特性 • 在拷贝出来的根节点上批量修改,提交日志 • 然后提交或回滚修改后的根节点 • 运维接口 – 动态信息查询 – 允许人工介入的操作日志和ckeckpoint修正
12.
数据节点 • 磁盘io –
Async io • libaio – Direct io • 自己实现类似page cache和buffer cache • 预读 – MapReduce读取模式:扫描 – BigTable读取模式:扫描或随机
13.
数据节点 • 快速启动 –
Chunk元数据定期dump到磁盘 – 配合操作日志则启动时不需要扫描磁盘 • 数据和操作日志 – 提高响应能力:不能在buffercache中对齐的数 据不立即写磁盘 – 更新chunk元数据的操作不实时刷新到磁盘 – 仅在打开和关闭chunk的时候更新一次chunk元 数据
14.
数据节点 • 多磁盘管理 –
12 * 1T sata盘 – 支持损坏磁盘的热插拔 – 已损坏磁盘不可重新加载 • 软连接 • 数据链路 – Pipe line式的数据推送 • API->Primary Replica->Secondary Replica • 跨交换机选择ip地址最近的下一个机器推送 • 同一交换机内随机选择下一个机器推送,避免在小集群 内都选择最近ip造成的瓶颈
15.
数据节点 • 文件复用 –
chunk文件不立即删除 – 改名复用已删除的文件 • 多网卡 – 多网卡地址向master汇报 – 过滤无效地址
16.
客户端API • 异步接口 –
Wait / Select – 多异步任务调度 • 写操作优先级 – BigTable日志优先 • 高级API – 过滤重复记录 – 更像Posix接口 – DFSShell工具
17.
总结 • 适应MapReduce和BigTable需求的底层存储 • 性能、实时性、可靠性优于HDFS,功能更华丽 •
TFS – 优势 • 名字空间与元数据空间分离 • 小文件支持 – 不足 • 写操作对namenode压力大 • 不支持并发追加
18.
谢谢! Q&A
Jetzt herunterladen