本文介紹E-MapReduce叢集中資料存放區相關的資訊,包括磁碟角色、雲端硬碟與本地碟,以及OSS。
背景資訊
關於儲存的類型、效能和相關的限制資訊,請參見Block Storage概述。
儲存價格估算如下:
本地碟執行個體儲存為0.003 $/GB/月
OSS標準型儲存為0.02 $/GB/月
OSS歸檔型儲存為0.045 $/GB/月
OSS深度歸檔型儲存為0.002 $/GB/月
高效雲端硬碟儲存為0.05 $/GB/月
SSD雲端硬碟儲存為0.143 $/GB/月
有關不同ESSD雲端硬碟效能層級的定價詳情,請參見Elastic Compute Service產品詳情頁。
磁碟角色
| 磁碟角色 | 描述 |
| 系統硬碟 | 系統硬碟用於安裝作業系統。 E-MapReduce預設使用ESSD雲端硬碟作為叢集的系統硬碟。系統硬碟預設是一塊。 |
| 資料盤 | 資料盤用於儲存資料。 Master執行個體預設掛載1塊雲端硬碟作為資料盤,Core執行個體預設掛載4塊雲端硬碟作為資料盤。 |
雲端硬碟與本地碟
E-MapReduce叢集支援使用以下兩種類型的磁碟來儲存資料。
| Block Storage類型 | 描述 | 使用情境 |
| 雲端硬碟 | 包括SSD雲端硬碟、高效雲端硬碟和ESSD雲端硬碟。 磁碟不直接掛載在本地的計算節點上,而是通過網路訪問遠端的一個儲存節點。每一份資料在後端都有兩個即時備份,一共三份資料。當一份資料損毀時(磁碟損壞,不是業務上的破壞),E-MapReduce會自動使用備份資料進行恢複。 | 當業務資料量處於TB層級以下時,推薦您使用雲端硬碟,雲端硬碟的IOPS和吞吐相比本地碟都會小些。 說明 在使用雲端硬碟時,如果輸送量明顯不足,則可以建立叢集以使用本地碟。 |
| 本地碟 | 磁碟直接掛載在計算節點上,效能高於雲端硬碟。本地碟不能選擇磁碟數量,只能使用預設配置好的數量,資料也沒有後端的備份機制,需要上層的軟體來保證資料可靠性。 | 部分緩衝或臨時測試情境,或者基於3副本儲存TB級資料時會使用本地碟,但是該方案會因為磁碟壽命增加額外的營運成本,因此儲存資料建議您使用OSS或者開通並授權訪問OSS-HDFS服務。 |
在E-MapReduce叢集中,當執行個體節點釋放時,所有雲端硬碟和本地碟都會清除資料,磁碟無法獨立的儲存下來並再次使用。Hadoop HDFS會使用所有的資料盤作為資料存放區。 Hadoop YARN也會使用所有的資料盤作為計算的臨時儲存。
OSS
- 讀取HDFS中的資料。
sc.textfile("hdfs://bucket/path") - 更改儲存類型為OSS。
sc.textfile("oss://bucket/path") - 對於MR或Hive作業,HDFS命令可以直接操作OSS資料,樣本如下。
hadoop fs -ls oss://bucket/path hadoop fs -cp hdfs://bucket/path oss://bucket/path此過程中,您不需要輸入AccessKey和Endpoint,E-MapReduce會使用當前叢集所有者的資訊自動補全AccessKey和Endpoint。但OSS的IOPS不高,不適合用在IOPS要求高的情境,例如,流式計算Spark Streaming和HBase。