赞
踩
全程hadoop distributed file system
计算框架:MapReduce。值得注意的是另外一个同属于Apache基金会的开源计算框架Apache Spark,当前业界的使用已经远超于MapReduce,尽管它不属于Hadoop项目,但是和Hadoop也有紧密关系。
文件系统:单机文件系统非常普遍,从Windows NTFS到Linux的Ext4等,分布式文件系统是单机文件的延伸,概念术语是相通的,比如目录、文件、目录树等。
单机文件系统:常见的如Windows NTFS,Linux的Ext4,虽然不同的操作系统和实现,但是本质都是一样的,解决相同的问题。
分布式文件系统:本质上扩展、延伸了单机文件系统,提供了大容量、高可靠、低成本等功能特性;实现上一般也更为复杂。
分布式文件系统优点
大容量
高可靠
低成本
对象存储:例如AWS的S3,阿里云的OSS,开源的Minio。
块存储:例如AWS的EBS,开源社区也有Ceph等。
文件系统:HDFS、GlusterFS、CubeFS等
数据库:KV数据库比如Cassandra,关系型数据库如TiDB、OceanBase等
数据存储到一个datanode后会依次复制到两个datanode
读流程只读其中一个副本
Namenode作用
Datenode作用
数据块存取
心跳汇报
把存放在本机的数据块列表发送给NameNode,以便NameNode能维护数据块的位置信息,同时让
NameNode确定该节点处于正常存活状态
副本复制
基本设计
容错能力
一致性模型
可扩展性
节点体系
数据放置
单机存储引擎
NameNode目录树设计,重点理解EditLog的设计,可类比关系型数据库中的Transaction Log概念。
NameNode数据放置:数据分散在各个节点上,如何定位找到它们?
DataNode设计:数据如何落盘存放?
Client读写链路的异常处理
Server端异常
Client端异常
client写异常处理: 解决方法—Lease Recovery
租约:Client要修改一个文件时,需要通过NameNode上锁,这个锁就是租约(Lease)。
情景:文件写了一半,client自己挂掉了。可能产生的问题:副本不一致、Lease无法释放
client读异常: 解决方法—节点faliover
慢节点 (判断读取速度)
旁路系统:保障系统稳定运行
控制面建设:好的系统不是只实现基本功能,还要实现监控和运维体系
可观测性设施:比如系统指标监控设施等,帮助快速发现定位问题。
运维体系建设:从最基本的命令行手工操作,脚本自动化再到完善的运维平台。
可观测性设施:比如系统指标监控设施等,帮助快速发现定位问题。
运维体系建设:从最基本的命令行手工操作,脚本自动化再到完善的运维平台。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。