hadoop on ceph

卫和洽
2023-12-01

一、’官方文档:

hadoop on ceph

http://docs.ceph.com/docs/master/cephfs/hadoop/

 

依赖的接口:

  • CephFS Java Interface
  • Hadoop CephFS Plugin

 

主要的要点:

1、hadoop更新设置对应的配置为ceph

2、为了支持三副本的要求,需要手动创建hadoop的三个pool

3、hadoop需要支持ceph的本地jar文件

4、当前hadoop支持的ceph版本是hadoop1.x

 

二、性能比较和第三方评测

HDFS和ceph性能比较

http://iopscience.iop.org/article/10.1088/1742-6596/513/4/042014/pdf

 

GlusterFS or Ceph as backend for Hadoop

https://stackoverflow.com/questions/34041084/glusterfs-or-ceph-as-backend-for-hadoop

主要观点:

1、 ceph在性能上2/3慢于HDFS,ith default replication factor in terasort benchmark

 

三、CEPH块存储介绍

 

http://www.jianshu.com/p/60a78c1fa1ce

一、 前置知识

块设备:

块设备将信息存储在固定大小的块中,每个块都能进行编址。块设备的基本特征是每个块都能区别于其它块而读写。块设备也是底层设备的抽象,块设备上未建立文件系统时,也称之为裸设备。

块设备与ceph的联系:

client想要把数据存储到ceph的集群中时,他必须要有一个读写的目标,能够在本地知道这个目标。这里讲的是块存储,当然这个读写的目标要是一个块设备才行,需要将这个块设备与ceph关联起来,这个块设备通常成为rbd设备。

rbd的全称应该是Rados Block Device。rbd是由ceph进行整理物理资源并且向外提供的RAODS形式的块设备,这样的块设备在客户端同其他类型的块设备使用方法相同

OSD是如何存储数据:

OSD其实是建立在文件系统之上的,当你使用一个块设备进行部署OSD节点时,部署工具会默认格式化osd为xfs,当然你也可以预先格式为想要的文件系统(ext4等)。数据到了OSD层次时,这时可以把这个请求变成一个文件的操作,最后交给了xfs文件系统,最终组织到了磁盘上。

二、rbd到osd的映射:

1、客户端的使用rbd设备,

在客户端使用rbd设备时,一般有两种方法。

第一种 是kernel rbd。就是创建了rbd设备后,把rbd设备map到内核中,形成一个虚拟的块设备,这时这个块设备同其他通用块设备一样,一般的设备文件为/dev/rbd0,后续直接使用这个块设备文件就可以了,可以把/dev/rbd0格式化后mount到某个目录,也可以直接作为裸设备使用。这时对rbd设备的操作都通过kernel rbd操作方法进行的。

第二种是librbd方式。就是创建了rbd设备后,这时可以使用librbd、librados库进行访问管理块设备。这种方式不会map到内核,直接调用librbd提供的接口,可以实现对rbd设备的访问和管理,但是不会在客户端产生块设备文件。

 
Hadoop2.7.3和Ceph0.94结合

http://www.178pt.com/175.html

 

ceph中国官方

http://ceph.org.cn/


四、总结

当前hadoop还没有在内核完整的支持ceph,所以直接替换掉hdfs还不太成熟,可以直接当成一个存储介质来使用,CEPH的对象存储到还不错。

 类似资料:

相关阅读

相关文章

相关问答