第三階段:數據存儲與計算(離線場景):3.3 數據存儲alluxio(1T)

Alluxio概覽

什麼是 Alluxio

Alluxio 是世界上第一個面向基於雲的數據分析和人工智能的開源的數據編排技術。 它爲數據驅動型應用和存儲系統構建了橋樑, 將數據從存儲層移動到距離數據驅動型應用更近的位置從而能夠更容易被訪問。 這還使得應用程序能夠通過一個公共接口連接到許多存儲系統。 Alluxio內存至上的層次化架構使得數據的訪問速度能比現有方案快幾個數量級。

在大數據生態系統中,Alluxio 位於數據驅動框架或應用(如 Apache Spark、Presto、Tensorflow、Apache HBase、Apache Hive 或 Apache Flink)和各種持久化存儲系統(如 Amazon S3、Google Cloud Storage、OpenStack Swift、HDFS、GlusterFS、IBM Cleversafe、EMC ECS、Ceph、NFS 、Minio和 Alibaba OSS)之間。 Alluxio 統一了存儲在這些不同存儲系統中的數據,爲其上層數據驅動型應用提供統一的客戶端 API 和全局命名空間。

Alluxio 項目源自 UC Berkeley 的 AMPLab(見論文),在伯克利數據分析棧 (Berkeley Data Analytics Stack, BDAS) 中扮演數據訪問層的角色。 它以 Apache License 2.0 協議的方式開源。 Alluxio 是發展最快的開源大數據項目之一,已經吸引了超過 300 個組織機構的1000多名貢獻者參與到 Alluxio 的開發中,包括 阿里巴巴、 Alluxio、 百度、 CMU、 Google、 IBM、 Intel、 南京大學、 Red Hat、 騰訊、 UC Berkeley、 和 Yahoo

到今天爲止,Alluxio 已經在數百家機構的生產中進行了部署,最大部署運行的集羣規模超過 1500 個節點。

 

優勢

通過簡化應用程序訪問其數據的方式(無論數據是什麼格式或位置),Alluxio 能夠幫助克服從數據中提取信息所面臨的困難。Alluxio 的優勢包括:

  • 內存速度 I/O:Alluxio 能夠用作分佈式共享緩存服務,這樣與 Alluxio 通信的計算應用程序可以透明地緩存頻繁訪問的數據(尤其是從遠程位置),以提供內存級 I/O 吞吐率。此外,Alluxio的層次化存儲機制能夠充分利用內存、固態硬盤或者磁盤,降低具有彈性擴張特性的數據驅動型應用的成本開銷。

  • 簡化雲存儲和對象存儲接入:與傳統文件系統相比,雲存儲系統和對象存儲系統使用不同的語義,這些語義對性能的影響也不同於傳統文件系統。在雲存儲和對象存儲系統上進行常見的文件系統操作(如列出目錄和重命名)通常會導致顯著的性能開銷。當訪問雲存儲中的數據時,應用程序沒有節點級數據本地性或跨應用程序緩存。將 Alluxio 與雲存儲或對象存儲一起部署可以緩解這些問題,因爲這樣將從 Alluxio 中檢索讀取數據,而不是從底層雲存儲或對象存儲中檢索讀取。

  • 簡化數據管理:Alluxio 提供對多數據源的單點訪問。除了連接不同類型的數據源之外,Alluxio 還允許用戶同時連接同一存儲系統的不同版本,如多個版本的 HDFS,並且無需複雜的系統配置和管理。

  • 應用程序部署簡易:Alluxio 管理應用程序和文件或對象存儲之間的通信,將應用程序的數據訪問請求轉換爲底層存儲接口的請求。Alluxio 與 Hadoop 生態系統兼容,現有的數據分析應用程序,如 Spark 和 MapReduce 程序,無需更改任何代碼就能在 Alluxio 上運行。

技術創新

Alluxio 將三個關鍵領域的創新結合在一起,提供了一套獨特的功能。

  1. 全局命名空間:Alluxio 能夠對多個獨立存儲系統提供單點訪問,無論這些存儲系統的物理位置在何處。這提供了所有數據源的統一視圖和應用程序的標準接口。有關詳細信息,請參閱命名空間管理
  2. 智能多層級緩存:Alluxio 集羣能夠充當底層存儲系統中數據的讀寫緩存。可配置自動優化數據放置策略,以實現跨內存和磁盤(SSD/HDD)的性能和可靠性。緩存對用戶是透明的,使用緩衝來保持與持久存儲的一致性。有關詳細信息,請參閱 Alluxio 存儲管理
  3. 服務器端 API 翻譯轉換:Alluxio支持工業界場景的API接口,例如HDFS API, S3 API, FUSE API, REST API。它能夠透明地從標準客戶端接口轉換到任何存儲接口。Alluxio 負責管理應用程序和文件或對象存儲之間的通信,從而消除了對複雜系統進行配置和管理的需求。文件數據可以看起來像對象數據,反之亦然。

要了解有關 Alluxio 內部的更多詳細信息,請閱讀 Alluxio 架構和數據流

快速上手指南

如果打算快速地搭建 Alluxio 並運行,請閱讀快速上手指南頁面,該頁面描述瞭如何部署 Alluxio 並在本地環境下運行示例。

或者,你也可以嘗試我們爲Presto & Alluxio製作好的快速上手教程,具體點擊如下圖片鏈接:

Laptop with Docker AWS with AMI

此外,你可以在Alluxio集羣模式下測試體驗使用更多的高級功能。

  • 點擊這裏免費獲取一個在AWS上預裝好的Alluxio和Spark沙箱集羣。

下載和有用資源

你可以從 Alluxio 下載頁面獲取已發佈版本。 每個Alluxio發佈版本都提供了與不同 Hadoop 版本兼容的預編譯好的二進制文件。 從 Master 分支構建 Alluxio頁面解釋瞭如何從源代碼編譯生成Alluxio項目。 如果你有任何疑問,請聯繫我們用戶郵件列表( 對於無法使用 Google Group 的用戶,請使用它的鏡像) 或者我們的社區Slack頻道.。

Alluxio微信公衆號二維碼(下圖)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章