一個Hadoop老兵的自白
Apache Hadoop 是一個免費軟件,但實際上,除非是擁有龐大工程師團隊的大公司,否則最好不要去創建僅供內部使用的Hadoop版本,因為如果要購買技術支持,那 Hadoop 就不是免費的了。 Jim Scott 是 MapR 企業戰略&架構部門的負責人。2009年,他接觸了自己的第一個 Hadoop 版本 Cloudera 。他發現,Apache Hadoop 平臺存在一些固有的設計缺陷。近日,他從以下幾個方面 分析了這些缺陷,并介紹了 MapR 的解決方案 。
Append-only文件訪問方式
HDFS 的 Append-only 文件訪問方式是一個巨大的障礙 ,導致下游項目不得不解決這個問題。例如, HBase 就實現了“墓碑化(Tombstoning)”和“合并(Compactions)”功能。但是,如果這些動作發生在負載高峰期,會嚴重影響生產系統的性能。MapR 通過創建 MapR-DB 解決了該問題。MapR-DB 模仿了谷歌的 BigTable ,支持 HBase API,是一個零管理實時數據庫。
系統集成
HDFS 不兼容 POSIX 和 NFS 。要查看 HDFS 中的文件,只能通過 HDFS 命令行接口來查詢。 MapR-FS 是一個操作系統級的文件系統,兼容 POSIX。查看該分布式文件系統中的文件,只需要使用 LS 命令。編輯其中的文件,也不需要專門的工具。Linux 中任何可以讀寫 NFS 系統的應用程序都可以讀寫 MapR-FS。
備份&恢復
Apache Hadoop 在災難恢復和備份方面存在嚴重不足 。Hadoop 的數據復制可以有效應對磁盤故障,但對數據損壞和人為錯誤無能為力。謹慎起見,在向生產環境部署新軟件之前,需要生成一個數據快照。但是,Apache Hadoop 的快照只是一個元數據副本。而 MapR 快照 則近乎是數據的瞬時拷貝,即使文件正在被寫入也可以生成。并且,用戶還可以生成 MapR-DB 表的快照。
維護&升級
任何優秀的企業應用程序都離不開維護、管理和升級,Hadoop 也不例外。但 Hadoop 的升級維護可能會非常麻煩。MapR 每次發布都會針對許多開源軟件項目的多個版本進行測試。它是唯一一個支持在同一個集群上運行軟件的不同版本的 Hadoop 版本。
開源軟件選擇
在使用 Hadoop 的時候,相關開源軟件的選擇是個難題。MapR 支持開放式 API,提供了一個無偏見的 Hadoop 開源軟件集合, 使用戶能夠選擇自己需要的開源項目 。
此外,Jim 還提到,NameNode 是個單點故障點。感興趣的讀者可以進一步 閱讀 。
對 MapR 感興趣的讀者,可以下載 MapR M3 社區版本 ,免費體驗 MapR 的 性 能