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

:LindormDFS への接続と使用に HDFS FUSE を使用する

最終更新日:Jan 14, 2025

このトピックでは、HDFS Filesystem in USErspace (FUSE) を使用して LindormDFS にアクセスする方法について説明します。

ランタイム環境を準備する

  • JDK をインストールし、JAVA_HOME 変数を構成します。次に、$JAVA_HOME/bin/java -version コマンドを実行して JDK のバージョンを確認します。

    • CentOS/RedHat

      sudo yum install java-1.8.0-openjdk-devel -y
    • Ubuntu

      sudo apt-get update
      sudo apt-get install openjdk-8-jdk -y
  • FUSE ライブラリをインストールします。

    • CentOS/RedHat

      sudo yum install fuse fuse-devel fuse-libs -y
    • Ubuntu

      sudo apt-get update
      sudo apt-get install fuse libfuse-dev -y

FUSE クライアントをダウンロードする

Apache Hadoop V2.7.7 に基づいて開発された FUSE クライアントは、ダウンロード リンク からダウンロードできます。

FUSE クライアントをインストールする

  1. ダウンロードした FUSE クライアント パッケージを解凍し、クライアント ファイルが解凍されたパスに移動します。

    tar -zxf ldfs-fuse-2.7.tar.gz
    cd ldfs-fuse-2.7
  2. etc/hadoop/hdfs-site.xml 構成ファイルを修正します。次のサンプル ファイルは、hdfs-site.xml ファイルの修正方法を示しています。ファイル内の ${Instance ID} を Lindorm インスタンスの ID に置き換える必要があります。

    <configuration>
      <property>
            <name>dfs.nameservices</name>
            <value>${Instance ID}</value>
        </property>
        <property>
           <name>dfs.client.failover.proxy.provider.${Instance ID}</name>
           <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
        </property>
        <property>
           <name>dfs.ha.automatic-failover.enabled</name>
           <value>true</value>
        </property>
        <property>
           <name>dfs.ha.namenodes.${Instance ID}</name>
           <value>nn1,nn2</value>
        </property>
         <property>
           <name>dfs.namenode.rpc-address.${Instance ID}.nn1</name>
           <value>${Instance ID}-master1-001.lindorm.rds.aliyuncs.com:8020</value>
        </property>
        <property>
           <name>dfs.namenode.rpc-address.${Instance ID}.nn2</name>
           <value>${Instance ID}-master2-001.lindorm.rds.aliyuncs.com:8020</value>
        </property>
    </configuration>
  3. FUSE ディスクをマウントするディレクトリを作成し、ユーザーにそのディレクトリへのアクセス権限を付与します。

    sudo mkdir /ldfs_fuse
    sudo chown $(whoami):$(whoami) /ldfs_fuse
  4. 作成したディレクトリに FUSE ディスクをマウントします。

    /bin/bash bin/mount_to.sh /ldfs_fuse
  5. マウントされた FUSE ディスクを表示します。

    df -h
  6. (オプション) FUSE ディスクをアンマウントします。

    fusermount -u /ldfs_fuse

一般的な操作の例

  • 次のコマンドを実行して、テスト ファイルにデータを書き込みます: echo 'test' > /ldfs_fuse/test

  • 次のコマンドを実行して、テスト ファイルからデータを読み取ります: cat /ldfs_fuse/test

  • 次のコマンドを実行して、テスト ファイルを削除します: rm -f /ldfs_fuse/test

重要

FUSE クライアントがマウントされているデータ ディスクは、シーケンシャル書き込み操作のみをサポートします。データ ディスクはランダム書き込み操作をサポートしていません。

関連操作

デフォルトでは、FUSE ディスク上のすべてのファイルに対して 3 つのレプリカが使用可能です。etc/hadoop/hdfs-site.xml 構成ファイルでデフォルトのレプリカ数を変更できます。たとえば、次のコードでは、レプリカ数は 2 に設定されています。

<property>
   <name>dfs.replication</name>
   <value>2</value>
</property>
説明

構成を有効にするには、FUSE ディスクを再度マウントします。