當核心項目團隊在若干個月以前開始考慮下一個Alluxio大型版本發佈時,咱們開始力求實現一些重要的整體目標。雖然以前版本的Alluxio已經爲雲環境中的許多大數據工做負載提供了數據本地性和數據可訪問性,但在關鍵領域仍然須要進一步創新。html
在規模方面取得階躍式變化——做爲計算和存儲之間的數據編排層,Alluxio使得數據可以移動,而且能夠跨多個不一樣的存儲系統(HDFS、對象存儲、網絡附加存儲)訪問。隨着時間的推移,Alluxio須要支持管理的元數據規模會很輕易地超過最大規模的Hadoop部署。元數據管理尤爲被認爲是Hadoop的一個弱項,然而元數據的管理應該成爲Alluxio的強項。算法
支持更多數據驅動的工做負載——Alluxio在創立之初主要關注基於Hadoop的計算工做負載。可是多年來,數據密集型計算工做負載的數量和類型已經呈爆炸式增加,而且在現有數據存儲系統或新數據存儲系統上實現這些工做負載的數據編排和工程設計都很是重要。特別地,在機器學習和深度學習的訓練過程以前,一般須要開展許多數據工程的工做,例如手動進行數據移動。Alluxio應該大大簡化這一過程,爲數據科學家提供已知原生API,減小所需的數據工程工做量。api
使存儲和計算更容易分離——隨着跨多個Hadoop集羣的數據的增長,以及愈來愈多的數據存儲在許多不一樣的對象存儲中,或在某些狀況下存儲在內部或公有云中,企業中的數據倉庫會不斷增長。這使得從數據中分離計算變得更加困難,由於當數據在處理過程當中移動到與其存儲不一樣的位置時,數據本地性和可訪問性會受到嚴重影響。Alluxio應當繼續經過抽象存儲來實現計算和存儲的分離,同時使得數據更容易訪問。網絡
考慮到這些遠大的目標,工程和產品團隊在設計、實現、測試和壓測中付出了不懈的努力,最終將Alluxio 2.0變爲現實。框架
Alluxio 2.0包含許多加強功能,用以支持本項目的設計目標,這些功能所有是開源的,並都將包含在社區版(Community Edition)中!機器學習
支持超過10億個文件——2.0引入了分層元數據管理(tiered metadata management)這一新選項,以支持包含超過10億個文件的單羣集部署。咱們如今默認使用RocksDB(見文末連接3)進行堆外存儲。熱數據的元數據繼續存儲在堆內的進程內存中,而其他元數據由Alluxio在進程內存外進行管理。alluxio.master.metastore(見文末連接4)能夠配置爲僅使用堆內存儲。分佈式
高度分佈式數據服務——2.0引入了Alluxio做業服務(Job Service),這是一種分佈式集羣服務,能夠實現複製、持久化、跨存儲移動和分佈式加載等數據操做,從而實現高性能和大規模擴展。用戶能夠在這裏查看Alluxio支持的全部文件系統API(見文末連接5)。ide
自適應副本以加強數據本地性——該功能爲Alluxio配置必定數量範圍的自動管理的存儲數據副本數。alluxio.user.file.replication.max和alluxio.user.file.replication.min可用於指定該範圍。用戶可在此處(見文末連接6)找到全部用戶配置的完整列表。oop
內嵌式日誌以達到高可用性——2.0設計了一種稱爲內嵌式日誌(embedded journal)的面向文件/對象元數據的新容錯和高可用模式。內嵌式日誌使用RAFT共識算法,而且實現方面獨立於任何其餘外部存儲系統。這對於抽象對象存儲特別有用。用戶能夠在這裏(見文末連接7)瞭解如何配置內嵌式日誌。性能
機器學習和深度學習框架每每須要從Hadoop或對象存儲中提取大規模數據,這一般是手動且很是耗時的過程。
Alluxio POSIX API :Alluxio的FUSE功能支持POSIX兼容的API,所以經過Alluxio,TensorFlow、Caffe等框架以及其餘基於Python的模型可使用傳統文件系統的訪問方式直接訪問任何存儲系統中的數據。用戶能夠在POSIX API(見文末連接8)瞭解有關的更多信息。
支持跨不一樣版本的HDFS集羣——數據的爆炸式增加致使企業一般會擁有許多數據倉庫,包括採用跨不一樣版本的多個Hadoop集羣。目前,跨這些集羣的統一訪問很是困難。使用Alluxio 2.0,用戶可使用Alluxio鏈接到多個多種版本的HDFS集羣,並實現統一的數據訪問。用戶能夠在此處查找支持的HDFS版本列表。
與Hadoop主動同步——該新功能是與HDFS iNotify進行對接集成,可對存儲在Hadoop中的文件所發生的任何數據和元數據更改進行更新,容許經過Alluxio訪問數據的應用程序可以主動接收最新更新。
咱們很是期待您的反饋。如今Alluxio 2.0預覽版已經可供下載使用,咱們真誠地但願您試試Alluxio 2.0,並與咱們分享你的體驗——咱們可以但願聽到:您感到興奮的內容,以及您認爲哪些地方能夠作得更好,或者您認爲咱們下一步應該關注什麼。咱們很是期待聽到你的故事。
附錄連接:
連接1:
https://www.alluxio.org/download
連接2:
https://www.alluxio.org/download/releases/alluxio-200-preview-release
連接3:
https://rocksdb.org/
連接4:
https://www.alluxio.org/docs/2.0-preview/en/reference/Properties-List.html?q=alluxio.master. metastore#master-configuration
連接5:
https://www.alluxio.org/docs/2.0-preview/en/basic/Command-Line-Interface.html?q=File%20System%20Operations#file-system-operations
連接6:
https://www.alluxio.org/docs/2.0-preview/en/reference/Properties-List.html?q=replication#worker-configuration
連接7:
https://www.alluxio.org/docs/2.0-preview/en/operation/Journal.html?q=
job%20service#embedded-journal-configuration
連接8:
https://www.alluxio.org/docs/2.0-preview/en/api/POSIX-API.html
連接9:
https://www.alluxio.org/slack