すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB for HBase:ApsaraDB for HBase HDFS へのアクセス

最終更新日:Mar 29, 2026

バルクロードや、Hadoop 分散ファイルシステム (HDFS) への直接アクセスを必要とするその他の操作を実行するには、ご利用の ApsaraDB for HBase クラスターで HDFS ポートを有効にし、Hadoop クライアントを構成してクラスターの HDFS に接続します。

警告

HDFS ポートを有効にすると、ご利用のクラスターが悪意のある攻撃にさらされ、パフォーマンスの不安定性やデータ損失につながる可能性があります。Alibaba Cloud は、ユーザーの誤操作によって HDFS で発生したデータ損失について責任を負いません。続行する前に、HDFS の操作に精通していることを確認してください。

前提条件

開始する前に、以下を確認してください。

  • Hadoop クライアントがインストールされ、hadoop コマンドが利用可能なマシン

  • ApsaraDB for HBase Q&A DingTalk グループへのアクセス (HDFS をアクティブ化し、ヘッダーノードのホスト名を取得するために必要)

HDFS アクセスの有効化

HDFS アクセスはセルフサービスではありません。これをアクティブ化するには、ApsaraDB for HBase Q&A DingTalk グループに連絡してください。タスクが完了すると、Alibaba Cloud はクラスターを保護するために HDFS を再度無効にします。

DingTalk グループは、以下の構成ファイルで必要となる 2 つのヘッダーノードのホスト名 ({hbase-header-1-host} および {hbase-header-2-host}) の実際の値も提供します。

Hadoop クライアントの構成

これらはクライアント側の構成ファイルのみです。HDFS クラスター全体を構成する必要はなく、Hadoop クライアントが NameNode に到達する方法を指示するパラメーターのみを構成します。

  1. Hadoop クライアントディレクトリに conf という名前の構成フォルダを作成します。このフォルダがすでに存在する場合は、この手順をスキップしてください。

  2. 次の 2 つの構成ファイルを conf フォルダに追加します。

    core-site.xml — クライアントが接続するデフォルトの HDFS ネームサービスを設定します。

    <configuration>
      <property>
         <name>fs.defaultFS</name>
         <value>hdfs://hbase-cluster</value>
      </property>
    </configuration>

    hdfs-site.xml — クライアントがアクティブな NameNode を自動的に特定できるように、高可用性 (HA) フェイルオーバーを構成します。

    <configuration>
    <property>
            <name>dfs.nameservices</name>
            <value>hbase-cluster</value>
    </property>
      <property>
       <name>dfs.client.failover.proxy.provider.hbase-cluster</name>
       <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
      </property>
      <property>
       <name>dfs.ha.automatic-failover.enabled.hbase-cluster</name>
       <value>true</value>
      </property>
      <property>
            <name>dfs.ha.namenodes.hbase-cluster</name>
            <value>nn1,nn2</value>
      </property>
      <property>
            <name>dfs.namenode.rpc-address.hbase-cluster.nn1</name>
            <value>{hbase-header-1-host}:8020</value>
      </property>
      <property>
            <name>dfs.namenode.rpc-address.hbase-cluster.nn2</name>
            <value>{hbase-header-2-host}:8020</value>
      </property>
    </configuration>

    {hbase-header-1-host} および {hbase-header-2-host} を、ApsaraDB for HBase Q&A DingTalk グループによって提供される実際のホスト名に置き換えてください。

    hdfs-site.xml の主要なパラメーターとその機能は次のとおりです。

    パラメーター説明
    dfs.nameservicesHDFS ネームサービスの論理名。fs.defaultFS およびその他の構成キーで使用されます。
    dfs.ha.namenodes.hbase-clusterHA ペア内の 2 つの NameNode (nn1nn2) の ID。
    dfs.namenode.rpc-address.hbase-cluster.nn1/nn2各 NameNode の RPC アドレス (ポート 8020)。
    dfs.client.failover.proxy.provider.hbase-clusterクライアントが現在アクティブな NameNode を特定するために使用する Java クラス。
    dfs.ha.automatic-failover.enabled.hbase-clusterアクティブな NameNode が利用不可になった場合に、クライアントがスタンバイ NameNode に切り替わるように自動フェイルオーバーを有効にします。
  3. conf フォルダを Hadoop クライアントのクラスパスに追加します。

接続の確認

HDFS ポートがアクセス可能であり、読み取り/書き込み操作が機能することを確認するために、次のコマンドを実行します。

echo "hdfs port test"  >/tmp/test
hadoop dfs -put /tmp/test  /
hadoop dfs -cat /test

接続が成功した場合、最後のコマンドは次を出力します。

hdfs port test

コマンドがエラーを返すか、出力がない場合は、以下を確認してください。

  • HDFS が ApsaraDB for HBase Q&A DingTalk グループによってアクティブ化されていること

  • conf フォルダが Hadoop クライアントのクラスパス上にあること

  • hdfs-site.xml 内のヘッダーノードのホスト名が DingTalk グループによって提供された値と一致すること