Hadoop概念學習系列之分佈式文件系統(三十)

 

  很少說,直接上乾貨!html

 

 ===============>node

  數據量愈來愈多,在一個操做系統管轄的範圍存下不了,那麼就分配到更多的操做系統管理的磁盤中,可是不方便管理和維護,所以迫切須要一種系統來管理多臺機器上的文件,這就是分佈式文件管理系統。形象化比喻,如百度網盤、360雲盤。nginx

 

 

 

       常見的分佈式文件系統有,GFS、HDFS、Lustre 、Ceph 、GridFS 、mogileFS、TFS、FastDFS等。各自適用於不一樣的領域。它們都不是系統級的分佈式文件系統,而是應用級的分佈式文件存儲服務。web

 

Google學術論文,這是衆多分佈式文件系統的起源算法

==================================sql

Google File System(大規模分散文件系統)mongodb

MapReduce (大規模分散FrameWork)數據庫

BigTable(大規模分散數據庫)安全

Chubby(分散鎖服務)服務器

通常你搜索Google_三大論文中文版(Bigtable、 GFS、 Google MapReduce)就有了。

作箇中文版下載源:http://dl.iteye.com/topics/download/38db9a29-3e17-3dce-bc93-df9286081126

作個原版地址連接:

http://labs.google.com/papers/gfs.html

http://labs.google.com/papers/bigtable.html

http://labs.google.com/papers/mapreduce.html

 

 

GFS(Google File System)

--------------------------------------

  Google公司爲了知足本公司需求而開發的基於Linux的專有分佈式文件系統。。儘管Google公佈了該系統的一些技術細節,但Google並無將該系統的軟件部分做爲開源軟件發佈。

 

 

下面分佈式文件系統都是類 GFS的產品

HDFS

--------------------------------------

  Hadoop 實現了一個分佈式文件系統(Hadoop Distributed File System),簡稱HDFS。 Hadoop是Apache Lucene創始人Doug Cutting開發的使用普遍的文本搜索庫。它起源於Apache Nutch,後者是一個開源的網絡搜索引擎,自己也是Luene項目的一部分。Aapche Hadoop架構是MapReduce算法的一種開源應用,是Google開創其帝國的重要基石。

 

 

Ceph

---------------------------------------

  是加州大學聖克魯茲分校的Sage weil攻讀博士時開發的分佈式文件系統。並使用Ceph完成了他的論文。

說 ceph 性能最高,C++編寫的代碼,支持Fuse,而且沒有單點故障依賴, 因而下載安裝, 因爲 ceph 使用 btrfs 文件系統, 而btrfs 文件系統須要 Linux 2.6.34 以上的內核才支持。

但是ceph太不成熟了,它基於的btrfs自己就不成熟,它的官方網站上也明確指出不要把ceph用在生產環境中。

 

 

Lustre

---------------------------------------

  Lustre是一個大規模的、安全可靠的,具有高可用性的集羣文件系統,它是由SUN公司開發和維護的。

該項目主要的目的就是開發下一代的集羣文件系統,能夠支持超過10000個節點,數以PB的數據量存儲系統。

目前Lustre已經運用在一些領域,例如HP SFS產品等。

適合存儲小文件、圖片的分佈文件系統研究

====================================

用於圖片等小文件大規模存儲的分佈式文件系統調研

架構高性能海量圖片服務器的技術要素

nginx性能改進一例(圖片所有存入google的leveldb)

FastDFS分佈文件系統

 

TFS(Taobao File System)安裝方法

動態生成圖片 Nginx + GraphicsMagick

 

 

MogileFS

---------------------------------------

  由memcahed的開發公司danga一款perl開發的產品,目前國內使用mogielFS的有圖片託管網站yupoo等。

MogileFS是一套高效的文件自動備份組件,由Six Apart開發,普遍應用在包括LiveJournal等web2.0站點上。

  MogileFS由3個部分組成:

  第1個部分是server端,包括mogilefsd和mogstored兩個程序。前者便是 mogilefsd的tracker,它將一些全局信息保存在數據庫裏,例如站點domain,class,host等。後者便是存儲節點(store node),它實際上是個HTTP Daemon,默認偵聽在7500端口,接受客戶端的文件備份請求。在安裝完後,要運行mogadm工具將全部的store node註冊到mogilefsd的數據庫裏,mogilefsd會對這些節點進行管理和監控。

  第2個部分是utils(工具集),主要是MogileFS的一些管理工具,例如mogadm等。

  第3個部分是客戶端API,目前只有Perl API(MogileFS.pm)、PHP,用這個模塊能夠編寫客戶端程序,實現文件的備份管理功能。

 

 

mooseFS

---------------------------------------

  持FUSE,相對比較輕量級,對master服務器有單點依賴,用perl編寫,性能相對較差,國內用的人比較多

MooseFS與MogileFS的性能測試對比

 

 

FastDFS

---------------------------------------

  是一款相似Google FS的開源分佈式文件系統,是純C語言開發的。

FastDFS是一個開源的輕量級分佈式文件系統,它對文件進行管理,功能包括:文件存儲、文件同步、文件訪問(文件上傳、文件下載)等,解決了大容

量存儲和負載均衡的問題。特別適合以文件爲載體的在線服務,如相冊網站、視頻網站等等。

官方論壇  http://bbs.chinaunix.net/forum-240-1.html

FastDfs google Code     http://code.google.com/p/fastdfs/

分佈式文件系統FastDFS架構剖析   http://www.programmer.com.cn/4380/

 

TFS

-------------------------------------

  TFS(Taobao !FileSystem)是一個高可擴展、高可用、高性能、面向互聯網服務的分佈式文件系統,主要針對海量的非結構化數據,它構築在普通的Linux機器 集羣上,可爲外部提供高可靠和高併發的存儲訪問。TFS爲淘寶提供海量小文件存儲,一般文件大小不超過1M,知足了淘寶對小文件存儲的需求,被普遍地應用 在淘寶各項應用中。它採用了HA架構和平滑擴容,保證了整個文件系統的可用性和擴展性。同時扁平化的數據組織結構,可將文件名映射到文件的物理地址,簡化 了文件的訪問流程,必定程度上爲TFS提供了良好的讀寫性能。

官網 : http://code.taobao.org/p/tfs/wiki/index/

 

 

GridFS文件系統

-------------------------------------

  MongoDB是一種知名的NoSql數據庫,GridFS是MongoDB的一個內置功能,它提供一組文件操做的API以利用MongoDB存儲文件,GridFS的基本原理是將文件保存在兩個Collection中,一個保存文件索引,一個保存文件內容,文件內容按必定大小分紅若干塊,每一塊存在一個Document中,這種方法不只提供了文件存儲,還提供了對文件相關的一些附加屬性(好比MD5值,文件名等等)的存儲。文件在GridFS中會按4MB爲單位進行分塊存儲。

MongoDB GridFS 數據讀取效率 benchmark

http://blog.nosqlfan.com/html/730.html

nginx + gridfs 實現圖片的分佈式存儲  安裝(一年後出問題了)

http://www.cnblogs.com/zhangmiao-chp/archive/2011/05/05/2038285.html

基於MongoDB GridFS的圖片存儲

http://liut.cc/blog/2010/12/about-imsto_my-first-open-source-project.html

nginx+mongodb-gridfs+squid

http://1008305.blog.51cto.com/998305/885340

 

 

 

 

 

 

 

 

 

歡迎你們,加入個人微信公衆號:大數據躺過的坑        人工智能躺過的坑
 
 
 

同時,你們能夠關注個人我的博客

   http://www.cnblogs.com/zlslch/   和     http://www.cnblogs.com/lchzls/      http://www.cnblogs.com/sunnyDream/   

   詳情請見:http://www.cnblogs.com/zlslch/p/7473861.html

 

  人生苦短,我願分享。本公衆號將秉持活到老學到老學習無休止的交流分享開源精神,匯聚於互聯網和我的學習工做的精華乾貨知識,一切來於互聯網,反饋回互聯網。
  目前研究領域:大數據、機器學習、深度學習、人工智能、數據挖掘、數據分析。 語言涉及:Java、Scala、Python、Shell、Linux等 。同時還涉及日常所使用的手機、電腦和互聯網上的使用技巧、問題和實用軟件。 只要你一直關注和呆在羣裏,天天必須有收穫

 

      對應本平臺的討論和答疑QQ羣:大數據和人工智能躺過的坑(總羣)(161156071) 

 

 

 

 

 

 

 

 

 

 

 

 

相關文章
相關標籤/搜索