このトピックでは、Alluxio に関するよくある質問への回答を提供します。
エラーメッセージ「No FileSystem for scheme: alluxio」が表示された場合はどうすればよいですか?
E-MapReduce(EMR)クラスターの作成時にオプションサービスから Alluxio を選択した場合、この問題は発生しません。この問題は、EMR クラスターの作成後に Alluxio サービスを追加しても、サービスを再起動しないために発生します。
Alluxio サービスを追加した後、Hadoop 設定を読み込むために Alluxio サービスを再起動する必要があります。サービスの再起動方法の詳細については、「サービスの再起動」をご参照ください。
Alluxio が期待どおりに動作しない場合はどうすればよいですか?
エラーメッセージに基づいて Alluxio サービスが異常なノードを特定し、トラブルシューティングのために Alluxio サービスログを表示します。
ほとんどの場合、Alluxio サービスログは /mnt/disk1/log/alluxio/ ディレクトリに保存されます。
データをキャッシュすることで OSS のデータへのアクセスを高速化するにはどうすればよいですか?
デフォルトでは、HDFS は EMR で Alluxio の Under File Storage(UFS)として機能します。オブジェクトストレージサービス(OSS)ディレクトリをマウントポイントとして使用することをお勧めします。
次のコマンドを実行して、データをキャッシュすることで OSS のデータへのアクセスを高速化できます:
alluxio fs mount --option fs.oss.accessKeyId=<OSS_ACCESS_KEY_ID> \
--option fs.oss.accessKeySecret=<OSS_ACCESS_KEY_SECRET> \
--option fs.oss.endpoint=<OSS_ENDPOINT> \
/oss_dir <path>/パラメーターの説明:
<OSS_ACCESS_KEY_ID>: OSS へのアクセスに使用する Alibaba Cloud アカウントの AccessKey ID。<OSS_ACCESS_KEY_SECRET>: OSS へのアクセスに使用する Alibaba Cloud アカウントの AccessKey シークレット。<OSS_ENDPOINT>: oss-xxxx-internal.aliyuncs.com の形式の OSS のエンドポイント。OSS のエンドポイントは OSS コンソールで確認できます。OSS と同じリージョンに EMR クラスターを作成する必要があります。oss-cn-shanghai-internal.aliyuncs.com などの OSS の内部エンドポイントを使用することをお勧めします。<path>:oss://<OSS_YOURBUCKETNAME>/<OSS_DIRECTORY>などの OSS のファイルストレージパス。<OSS_YOURBUCKETNAME>は OSS バケットの名前です。
Alluxio 関連のパラメーターを変更するにはどうすればよいですか?
次のいずれかの方法を使用して、Alluxio 関連のパラメーターを変更できます:
グローバルパラメーター設定
EMR コンソールの Alluxio サービスページに移動し、パラメーターを変更します。詳細については、「サービスのパラメーターの管理」をご参照ください。
動的パラメーター設定
Alluxio シェル
クラスターにログオンし、
Dproperty=value形式のコマンドを追加して、カスタム設定を追加します。コマンド例:alluxio fs copyFromLocal hello.txt /dir/tmp -Dalluxio.user.file.writetype.default=CACHE_THROUGH説明hello.txtはローカルファイルです。/dir/tmpは Alluxio のディレクトリです。copyFromLocalコマンドの詳細については、「共通コマンド」をご参照ください。Spark ジョブ
-Dproperty=value形式のコマンドを、Spark Executor の spark.executor.extraJavaOptions と Spark Driver の spark.driver.extraJavaOptions に追加して、JVM パラメーターを Spark ジョブに渡すことができます。たとえば、Spark ジョブを送信するときに、ファイル書き込みタイプを CACHE_THROUGH に設定します。コードスニペット例:
spark-submit \ --conf 'spark.driver.extraJavaOptions=-Dalluxio.user.file.writetype.default=CACHE_THROUGH' \ --conf 'spark.executor.extraJavaOptions=-Dalluxio.user.file.writetype.default=CACHE_THROUGH' \MapReduce ジョブ
-Dproperty=value形式のコマンドをhadoop jarまたはyarn jarに追加して、MapReduce ジョブの属性を設定できます。たとえば、MapReduce ジョブで、ファイル書き込みタイプを CACHE_THROUGH に設定します。コードスニペット例:
hadoop jar <HADOOP_HOME>/share/hadoop/mapreduce/hadoop-mapreduce-examples-x.x.x.jar wordcount \ -Dalluxio.user.file.writetype.default=CACHE_THROUGH \ -libjars /<PATH_TO_ALLUXIO>/client/alluxio-x.x.x.-client.jar \ <path1> <path2>説明<path1>は入力ファイルのパスです。<path2>は出力ファイルのパスです。x.x.xは JAR パッケージのバージョンです。<HADOOP_HOME>/share/hadoop/mapreduce/hadoop-mapreduce-examples-x.x.x.jarと<PATH_TO_ALLUXIO>/client/alluxio-x.x.x.-client.jarはどちらも例です。