このトピックでは、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 -yUbuntu
sudo apt-get update sudo apt-get install openjdk-8-jdk -y
FUSE ライブラリをインストールします。
CentOS/RedHat
sudo yum install fuse fuse-devel fuse-libs -yUbuntu
sudo apt-get update sudo apt-get install fuse libfuse-dev -y
FUSE クライアントをダウンロードする
Apache Hadoop V2.7.7 に基づいて開発された FUSE クライアントは、ダウンロード リンク からダウンロードできます。
FUSE クライアントをインストールする
ダウンロードした FUSE クライアント パッケージを解凍し、クライアント ファイルが解凍されたパスに移動します。
tar -zxf ldfs-fuse-2.7.tar.gz cd ldfs-fuse-2.7etc/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>FUSE ディスクをマウントするディレクトリを作成し、ユーザーにそのディレクトリへのアクセス権限を付与します。
sudo mkdir /ldfs_fuse sudo chown $(whoami):$(whoami) /ldfs_fuse作成したディレクトリに FUSE ディスクをマウントします。
/bin/bash bin/mount_to.sh /ldfs_fuseマウントされた FUSE ディスクを表示します。
df -h(オプション) 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 ディスクを再度マウントします。