SmartData 3.1.x版本支持改寫Jindo HDFS客戶端級別的路徑,以減少集群遷移時修改路徑的工作量。例如,通過將HDFS地址重寫至OSS地址,方便您遷移HDFS中的數據至OSS后,無需改動業務邏輯中的數據地址,即可訪問數據。

使用限制

僅支持Hadoop 2.x版本,不支持Hadoop 3.x版本。

開啟路徑改寫功能

  1. 進入SmartData服務。
    1. 登錄阿里云E-MapReduce控制臺
    2. 在頂部菜單欄處,根據實際情況選擇地域和資源組
    3. 單擊上方的集群管理頁簽。
    4. 集群管理頁面,單擊相應集群所在行的詳情
    5. 在左側導航欄,單擊集群服務 > SmartData
  2. 單擊配置頁簽。
  3. 服務配置區域,單擊smartdata-site頁簽。
  4. 服務配置區域,單擊右側的自定義配置
  5. 新增配置項對話框中,添加Keyfs.hdfs.implValuecom.aliyun.emr.fs.hdfs.JindoHdfsShimsFileSystem的配置項。
    add-fs
  6. 單擊確定
  7. 保存配置。
    1. 單擊右上角的保存
    2. 確認修改對話框中,輸入執行原因,開啟自動更新配置
    3. 單擊確定

改寫配置路徑

  1. 進入SmartData服務。
    1. 登錄阿里云E-MapReduce控制臺
    2. 在頂部菜單欄處,根據實際情況選擇地域和資源組
    3. 單擊上方的集群管理頁簽。
    4. 集群管理頁面,單擊相應集群所在行的詳情
    5. 在左側導航欄,單擊集群服務 > SmartData
  2. 單擊配置頁簽。
  3. 服務配置區域,單擊smartdata-site頁簽。
  4. 服務配置區域,單擊右側的自定義配置
  5. 新增配置項對話框中,添加如下兩個配置項。
    參數 描述 參數值
    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需要您自定義。

  6. 單擊確定
  7. 保存配置。
    1. 單擊右上角的保存
    2. 確認修改對話框中,輸入執行原因,開啟自動更新配置
    3. 單擊確定

示例

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已經掛載在根目錄下。demo