分布式文件系统的对比 HDFS VS Ceph

时间:2024-02-22 09:07:49

一、摘要:

最近在了解Ceph,总想拿它和HDFS来做个比较,一是做个阶段性总结,二是加深自己对两种分布式文件系统的理解。

二、回顾:

1. HDFS是鉴于Google FS(GFS)发展而来的,起步比较早,是大数据解决方案里常用的分布式文件系统。Hadoop解决方案中的HDFS如下:

HDFS架构如下

Namenode 负责文件系统的metadata,datanode负责真正的 数据块。


2. Ceph 历史:请参考Ceph 入门系列(一):ceph历史

Ceph架构如下

Ceph的设计初衷是成为一个分布式文件系统,但随着云计算的大量应用,最终变成支持三种形式的存储:块存储、对象存
储、文件系统

Ceph对象存储的原理

 

三、对比:

HDFS 和 Ceph 的相同

 

HDFS

Ceph

分布式文件系统集群

结构模式 Master/Slave Client/Server

是否可以作为Hadoop的后端分布式文件系统

是,librados提供出来了java接口。参考:http://docs.ceph.com/docs/master/cephfs/hadoop/

冗余副本抗灾性

可扩展性

高效性

很高

 

HDFS 和 Ceph 的不同

 

HDFS

Ceph

源代码编程语言

java

C++(ceph client端提供C++/C/Java/python等多种语言)

文件系统类型

文件存储

对象存储(虽然client提供了块(RBD)/文件(CephFS)/对象存储(RGW),但Server端存储后端Filestore/Blutstore本质还是对象存储)。

请参考:Ceph三种(块/文件/对象)存储接口的由来和特点

是否基于本地文件系统

HDFS基于本地文件系统之上的

Ceph的存储后端FileStore是基于本地文件系统之上的;BlueStore不是基于本地文件系统之上的,是直接基于块设备的,用RocketDB管理元数据,BlueFS记录日志文件系统。

请参考:Ceph 进阶系列(一):一些基本概念(2 of 2,偏Server端OSD)

在分布式文件系统里的划分

文件被划分为块block(块大小默认配置是128M)

文件被划分为对象object(对象大小默认配置是4M)

绑定大佬(解决方案)

大数据解决方案(Hadoop/Spark等)

云计算解决方案(Openstack) 部署方式

结尾:

如果你想了解两个文件系统的其它更多差异,请留言。