Apache HDFS透明緩衝加速可以利用計算叢集的閑置儲存資源對遠端HDFS叢集進行資料緩衝,避免了計算叢集或服務佔用核心叢集過多頻寬。當HDFS叢集和計算叢集分離,HDFS叢集訪問效能不及預期時,您可以通過在計算叢集或靠近計算叢集的地方快取資料來進行加速。
前提條件
已在E-MapReduce上建立EMR-3.42.0及後續版本、EMR-5.6.0及後續版本的叢集,且選擇JINDODATA服務,詳情請參見建立叢集。
操作流程
步驟一:佈建服務端
進入JindoData服務的common頁簽。
在頂部功能表列處,根據實際情況選擇地區和資源群組。
在叢集管理頁面,單擊目的地組群操作列的叢集服務。
單擊JindoData服務地區的配置。
單擊common頁簽。
新增配置。
單擊自訂配置。
在新增配置項對話方塊中,新增以下配置項。
新增配置項的具體操作,請參見添加配置項。
叢集類型
參數
描述
普通叢集
jindofsx.hdfs.user
訪問HDFS使用的使用者名稱,例如hadoop。
HA叢集
jindofsx.hdfs.XXX.dfs.ha.namenodes
表示hdfs-site.xml中
dfs.ha.namenodes.XXX的值。例如:nn1、nn2、nn3。jindofsx.hdfs.XXX.dfs.namenode.rpc-address.nn1
表示hdfs-site.xml中
dfs.namenode.rpc-address.XXX.nn1的值。例如:master-1-1:8020。jindofsx.hdfs.XXX.dfs.namenode.rpc-address.nn2
表示hdfs-site.xml中
dfs.namenode.rpc-address.XXX.nn2的值。例如:master-1-2:8020。jindofsx.hdfs.XXX.dfs.namenode.rpc-address.nn3
表示hdfs-site.xml中
dfs.namenode.rpc-address.XXX.nn3的值。例如:master-1-3:8020。說明請根據您叢集的類型,新增相應的配置項。
XXX為叢集中配置hdfs-site.xml的dfs.nameservices參數值,例如hdfs-cluster。單擊確定。
在彈出的對話方塊中,輸入執行原因,單擊確定。
- 重啟服務。
- 在JindoData服務頁面,選擇。
- 在彈出的對話方塊中,輸入執行原因,單擊確定。
- 在確認對話方塊中,單擊確定。
步驟二:配置JindoSDK
進入配置頁面。
在頂部功能表列處,根據實際情況選擇地區和資源群組。
在叢集管理頁面,單擊目的地組群右側操作列的叢集服務。
單擊Hadoop-Common服務地區的配置。
單擊core-site.xml頁簽。
新增和修改以下配置項。
新增配置項的具體操作,詳情請參見添加配置項。修改配置項的具體操作,詳情請參見修改配置項。
內容
屬性
參數
描述
配置統一名字空間使用的實作類別
必選
fs.hdfs.impl
固定值為
com.aliyun.jindodata.hdfs.JindoHdfsFileSystem。必選
fs.AbstractFileSystem.hdfs.impl
固定值為
com.aliyun.jindodata.hdfs.HDFS。配置xengine類型
必選
fs.xengine
固定值為
jindofsx。配置JindoFSx Namespace服務地址
必選
fs.jindofsx.namespace.rpc.address
格式為${headerhost}:8101。例如,master-1-1:8101。
說明 如果使用高可用NameSpace,配置詳情請參見高可用JindoFSx Namespace配置和使用。開啟緩衝加速功能
必選
fs.jindofsx.data.cache.enable
資料緩衝開關:
false(預設值):禁用資料緩衝。
true:啟用資料緩衝。
配置HA Namenodes
說明如果為HA叢集,則需要配置該類參數。
可選
fs.jindofsx.hdfs.XXX.dfs.ha.namenodes
表示hdfs-site.xml中
dfs.ha.namenodes.XXX的值。例如:nn1、nn2、nn3。可選
fs.jindofsx.hdfs.XXX.dfs.namenode.rpc-address.nn1
表示hdfs-site.xml中
dfs.namenode.rpc-address.XXX.nn1的值。例如:master-1-1:8020。可選
fs.jindofsx.hdfs.XXX.dfs.namenode.rpc-address.nn2
表示hdfs-site.xml中
dfs.namenode.rpc-address.XXX.nn2的值。例如:master-1-2:8020。可選
fs.jindofsx.hdfs.XXX.dfs.namenode.rpc-address.nn3
表示hdfs-site.xml中
dfs.namenode.rpc-address.XXX.nn3的值。例如:master-1-3:8020。開啟中繼資料快取功能
可選
fs.jindofsx.meta.cache.enable
中繼資料快取開關:
false(預設值):禁用中繼資料快取。
true:啟用中繼資料快取。
開啟小檔案最佳化緩衝功能
可選
fs.jindofsx.slice.cache.enable
小檔案快取最佳化開關:
false(預設值):禁用小檔案快取。
true:啟用小檔案快取。
開啟短路讀功能
可選
fs.jindofsx.short.circuit.enable
短路讀開關:
true(預設值):開啟短路讀開關。
false:關閉短路讀開關。
儲存配置。
單擊服務配置地區的儲存。
在確認修改對話方塊中,輸入執行原因,開啟自動更新配置,單擊確定。
步驟三:磁碟空間水位控制
緩衝啟用後,JindoFSx服務會自動管理本機快取備份,通過水位清理本機快取,請您根據需求配置一定的比例用於緩衝。JindoFSx後端基於HDFS,可以提供海量的儲存,但是本地碟的容量是有限的,因此JindoFSx會自動淘汰本地較冷的資料備份。您可以通過修改storage.watermark.high.ratio和storage.watermark.low.ratio兩個參數來調節本機存放區的使用容量,取值範圍為0~1,表示使用磁碟空間的比例。
修改磁碟水位配置。
在JindoData服務的配置頁簽內的storage頁簽,修改以下參數。

參數
描述
storage.watermark.low.ratio
表示使用量的下水位比例,觸發清理後會自動清理冷資料,將快取資料目錄佔用空間清理到下水位。預設值:0.2。
storage.watermark.high.ratio
表示磁碟使用量的上水位比例,每塊資料盤的快取資料目錄佔用的磁碟空間到達上水位即會觸發清理。預設值:0.4。如果需要比較高的磁碟利用率可以設定較大值。
說明修改該參數時,下水位比例必須小於上水位比例,設定合理的值即可。
儲存配置。
單擊下方的儲存。
在彈出的對話方塊中,輸入執行原因,單擊確定。
重啟服務。
在JindoData服務頁面,選擇右上方的。
彈出的對話方塊中,輸入執行原因,其他參數保持預設,單擊確定。
在確認對話方塊中,單擊確定。
步驟四:訪問HDFS
您通過hdfs://首碼讀取HDFS上的資料後,在資料緩衝開關開啟時,會自動緩衝到JindoFSx儲存加速系統中,後續通過hdfs://訪問相同的資料就能夠命中緩衝。