This documentation is for an unreleased version of Apache Flink. We recommend you use the latest stable version.
一般的な設定 #
Apache Flinkは、全てのファイルシステム実装で機能するいくつかの標準設定を提供します。
デフォルトのファイルシステム #
ファイルへのパスがファイルシステムスキーム(および権限)が明示的に指定されていない場合は、デフォルトのスキーム(および権限)が使われます。
fs.default-scheme: <default-fs>
例えば、デフォルトのファイルシステムがfs.default-scheme: hdfs://localhost:9000/
として設定されている場合、/user/hugo/in.txt
のファイルパスはhdfs://localhost:9000/user/hugo/in.txt
として解釈されます。
接続制限 #
ファイルシステムが同時に開ける接続の総数を制限できます。これは、ファイルシステムが多数の同時読み取り/書き込みを処理できない場合や、同時に開ける接続を処理できない場合に便利です。
例えば、RPCハンドラがほとんどない小規模なHDFSクラスタは、チェックポイント中に多数の接続を構築しようとする大規模なFlinkジョブによって圧倒される場合があります。
特定のファイルシステムの接続を制限するには、次のエントリをFlink設定に追加します。制限されるファイルシステムは、スキームによって識別されます。
fs.<scheme>.limit.total: (number, 0/-1 mean no limit)
fs.<scheme>.limit.input: (number, 0/-1 mean no limit)
fs.<scheme>.limit.output: (number, 0/-1 mean no limit)
fs.<scheme>.limit.timeout: (milliseconds, 0 means infinite)
fs.<scheme>.limit.stream-timeout: (milliseconds, 0 means infinite)
入出力接続(ストリーム)の数を個別に制限できます(fs.<scheme>.limit.input
とfs.<scheme>.limit.output
)。同様に、同時ストリームの総数に制限を課します(fs.<scheme>.limit.total
)。ファイルシステムがさらにストリームを開こうとすると、一部のストリームが閉じるまでオペレーションはブロックされます。
ストリームを開くのにfs.<scheme>.limit.timeout
よりも時間が掛かる場合、ストリームを開くのに失敗します。
非アクティブなストリームがプール全体を占有するのを防ぐ(新しい接続が開かれないようにする)ために、少なくとも一定の時間バイトの読み取り/書き込みが行われない場合にストリームを強制的に閉じる非アクティブタイムアウトを追加できます: fs.<scheme>.limit.stream-timeout
。
TaskManager/ファイルシステムごとに適用を制限します。
ファイルシステムの作成はスキームおよび権限ごとに行われるため、異なる権限には独立した接続プールがあります。例えば、hdfs://myhdfs:50010/
とhdfs://anotherhdfs:4399/
には、別のプールがあります。