改寫Jindo HDFS用戶端路徑

更新時間:
Copy as MD

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的配置項。
  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 已經掛載在根目錄下。
[root@emr-header-1 ~]# hadoop fs -ls /
Found 7 items
drwxr-xr-x   - hadoop    hadoop          0 2020-11-24 21:12 /apps
drwxrwxrwx   - flowagent hadoop          0 2020-11-24 21:11 /emr-flow
drwxr-x--x   - root      hadoop          0 2020-11-24 21:12 /emr-sparksql-udf
drwxrwxrwx   -                            0 2020-11-25 16:55 /osspath
drwxr-x-x    - hadoop    hadoop          0 2020-11-25 16:56 /spark-history
drwxrwxrwx   - root      hadoop          0 2020-11-25 16:55 /tmp
drwxr-x--t   - hadoop    hadoop          0 2020-11-24 21:14 /user