SmartData 3.1.x版本支援改寫Jindo HDFS用戶端層級的路徑,以減少叢集遷移時修改路徑的工作量。例如,通過將HDFS地址修正至OSS地址,方便您遷移HDFS中的資料至OSS後,無需改動商務邏輯中的資料地址,即可訪問資料。
使用限制
僅支援Hadoop 2.x版本,不支援Hadoop 3.x版本。
開啟路徑改寫功能
- 進入SmartData服務。
- 登入阿里雲E-MapReduce控制台。
- 在頂部功能表列處,根據實際情況選擇地區和資源群組。
- 單擊上方的叢集管理頁簽。
- 在叢集管理頁面,單擊相應叢集所在行的詳情。
- 在左側導覽列,選擇 。
- 登入阿里雲E-MapReduce控制台。
- 單擊配置頁簽。
- 在服務配置地區,單擊smartdata-site頁簽。
- 在服務配置地區,單擊右側的自訂配置。
- 在新增配置項對話方塊中,添加Key為fs.hdfs.impl,Value為com.aliyun.emr.fs.hdfs.JindoHdfsShimsFileSystem的配置項。
- 單擊確定。
- 儲存配置。
- 單擊右上方的儲存。
- 在確認修改對話方塊中,輸入執行原因,開啟自動更新配置。
- 單擊確定。
改寫配置路徑
- 進入SmartData服務。
- 登入阿里雲E-MapReduce控制台。
- 在頂部功能表列處,根據實際情況選擇地區和資源群組。
- 單擊上方的叢集管理頁簽。
- 在叢集管理頁面,單擊相應叢集所在行的詳情。
- 在左側導覽列,選擇 。
- 登入阿里雲E-MapReduce控制台。
- 單擊配置頁簽。
- 在服務配置地區,單擊smartdata-site頁簽。
- 在服務配置地區,單擊右側的自訂配置。
- 在新增配置項對話方塊中,添加如下兩個配置項。
參數 描述 參數值 fs.jindo.shim.path-rewrite.<RULE-NAME>.source 路徑重寫的掛載點。 - HA叢集
hdfs://emr-cluster/<osspath>
- 非HA叢集
hdfs://<your_hostname>:9000/<osspath>
說明 <your_hostname>您可以通過SSH登入主節點,執行hostname
命令擷取,SSH登入主節點詳情請參見登入叢集。
fs.jindo.shim.path-rewrite.<RULE-NAME>.target 您實際訪問的路徑。 oss://<your_bucket>/<testpath> RULE-NAME需要您自訂。
- HA叢集
- 單擊確定。
- 儲存配置。
- 單擊右上方的儲存。
- 在確認修改對話方塊中,輸入執行原因,開啟自動更新配置。
- 單擊確定。
樣本
HA叢集,在smartdata-site頁簽,添加如下參數後,您訪問hdfs://emr-cluster/osspath時實際訪問的是oss://jindo-bucket/<testpath>的資料。
參數 | 參數值 |
fs.jindo.shim.path-rewrite.testrule.source | hdfs://emr-cluster/osspath |
fs.jindo.shim.path-rewrite.testrule.target | oss://jindo-bucket/<testpath> |
您可以通過SSH登入叢集的主節點,執行如下命令,查看改寫情況。
hadoop fs -ls /
通過如下資訊,看到osspath已經掛載在根目錄下。