Hadoop では、knox + webhdfs を介して HDFS にアクセス/取り込みできるデータのサイズに制限はありますか?
2 に答える
Apache Knox は、ファイアウォールで保護されているクラスターの外部から webhdfs リソースにアクセスする必要がある場合に最適なオプションです。すべてのデータ ノード ポートにアクセスできない場合、webhdfs への直接アクセスは機能しません。これらすべての host:ports に対してファイアウォールの穴を開けることは、ファイアウォールの目的を無効にし、管理上の悪夢をもたらし、ネットワークの詳細を外部クライアントに不必要に漏らします。
Hellmar が示したように、特定のユースケースとクライアントによって異なります。巨大なファイルまたは多数のファイルの取り込みを行う必要がある場合は、それらのクライアントのクラスター内部にアクセスするための別のアプローチを検討することをお勧めします。任意のサイズのファイルへのアクセスのみが必要な場合は、そのアクセスを多くのクライアントに拡張できるはずです。
このようなリソースにアクセスするために kerberos/SPNEGO を使用して認証する必要がないため、そうでなければセキュアなクラスターでは使用できない可能性のある多くのクライアントが開かれます。
Knoxユーザー ガイドには、webhdfs リソースにアクセスするための例が含まれています。 Knox から入手できるスクリプト。これにより、非常に興味深いことができます。
理論上、制限はありません。ただし、Knox を使用するとボトルネックが生じます。純粋な WebHDFS は、各ブロックの読み取り/書き込み要求を (おそらく) 異なるデータノードにリダイレクトし、アクセスを並列化します。しかし Knox では、すべてが単一のゲートウェイを介してルーティングされ、シリアル化されます。
そうは言っても、おそらく Knox と WebHDFS を使用して巨大なファイルをアップロードしたくないでしょう。単純に時間がかかりすぎます (クライアントによっては、タイムアウトが発生する場合があります)。