全部產品
Search
文件中心

E-MapReduce:JindoFS外部客戶端

更新時間:Jul 01, 2024

本文主要介紹JindoFS的外部客戶端,以及一些典型的應用情境。

概述

JindoFS外部客戶端,主要是為E-MapReduce叢集外部存取JindoFS叢集提供一種可行的方法。現在JindoFS外部客戶端只能訪問Block Storage模式下的JindoFS,不支援訪問緩衝模式下的JindoFS。實際上,緩衝模式相容OSS原始語義,因此外部存取僅需用普通OSS用戶端即可。

應用情境

JindoFS外部客戶端實現了Hadoop檔案系統的介面,在使用者程式跟E-MapReduce JindoFS Namespace服務網路相通的情況下, 使用者可以通過JindoFS外部客戶端去訪問JindoFS上儲存的資料, 但外部客戶端不能利用E-MapReduce JindoFS的資料緩衝能力,相比E-MapReduce叢集內部訪問JindoFS叢集,效能有所損失。

配置外部客戶端

已配置JindoFSBlock Storage模式的Namespace,詳情請參見JindoFSBlock Storage模式

  1. 擷取Bigboot程式包。

    在E-MapReduce叢集內部/usr/lib/bigboot-current路徑下,擷取Bigboot程式包。

    說明 一般情況下,程式使用Native開發。
  2. 配置環境。

    設定環境變數BIGBOOT_HOME為程式安裝根目錄,將程式根目錄下extlib的路徑,添加到使用者使用的巨量資料元件(Hadoop或Spark等)的Classpath中。

  3. 從E-MapReduce叢集內部拷貝設定檔/usr/lib/bigboot-current/conf/bigboot.cfg.external,到使用者客戶機上對應的安裝目錄conf/bigboot.cfg
  4. 配置Namespace Service。

    • client.namespace.rpc.port:配置JindoFS Namespace Service的監聽連接埠。
    • client.namespace.rpc.address:配置JindoFS Namespace Service的監聽地址。
      說明 預設E-MapReduce叢集中的設定檔已經配置好這兩項。
  5. 配置資料訪問相關的配置項。

    • client.namespaces.{YourNamespace}.oss.access.bucket:配置OSS bucket選項。
    • client.namespaces.{YourNamespace}.oss.access.endpoint:配置OSS endpoint選項。
    • client.namespaces.{YourNamespace}.oss.access.key:配置OSS的AccessKey ID。
    • client.namespaces.{YourNamespace}.oss.access.secret:配置OSS的AccessKey Secret。
      說明 其中{YourNamespace}為外部客戶端要訪問的Namespace的名稱,本文Namespace的名稱以test為例。

      配置樣本如下。

      client.namespace.rpc.port = 8101
      client.namespace.rpc.address = {RPC_Address}
      client.namespaces.test.oss.access.bucket = {YourOssBucket}
      client.namespaces.test.oss.access.endpoint = {YourOssEndpoint}
      client.namespaces.test.oss.access.key = {YourOssAccessKeyID}
      client.namespaces.test.oss.access.secret = {YourOssAccessKeySecret}

配置驗證

驗證如下資訊:

  • 通過以下命令,驗證Namespace是否正確。
    hdfs dfs -ls jfs://test/
  • 通過以下命令,驗證資料是否可以上傳或者下載。
    hdfs dfs -put /etc/hosts  jfs://test/
    
    hdfs dfs -get jfs://test/hosts