HDFS Connector for Object Storageがビッグ・データのパフォーマンスを高速化 (2025/03/26)
HDFS Connector for Object Storageがビッグ・データのパフォーマンスを高速化 (2025/03/26)
https://blogs.oracle.com/cloud-infrastructure/post/hdfs-connector-objectstorage-performance-big-data
投稿者:Ashutosh Mate | Sr. Principal Solutions Architect
Peter Laudenslager | Sr. Principal Product Manager
最近では、10Xのパフォーマンス向上と高解像度の可観測性メトリックをOCI HDFS Connectorに計測し、世界最大のHadoopクラスタの1つがオンプレミスからOCIに移行できるようにしました。OCI Hadoop Distributed File System (HDFS)コネクタを使用すると、お客様はCloud Infrastructure (OCI) Object StorageでApache Hadoopアプリケーションを簡単に実行できます。お客様は、複雑なオンプレミス・システムよりも低コストで大規模な総計スループット、ライナースケール、高い耐久性を実現するため、OCI Object StorageでHDFSを実行することを好みます。
Hadoopワークロード向けにOCI Object Storageを活用する理由
Hadoopは、大規模な集約スループットを実現し、多数のデータ・セットを同時にパラレル処理できる分散コンピュートおよびストレージ・システムです。Hadoopへの標準ストレージ・インタフェースはHDFSです。Flinkなどのストリーミング・データ処理システムからPinotなどの分散データベース・システムまで、ビッグ・データ・ツールの長いリストが、このインタフェースで標準化されています。
HadoopまたはHDFSベースのアプリケーションを使用する多くの顧客は、独自のデータ・センターで大量のマシンを構築および管理します。この設定にはパフォーマンスの向上が付属していますが、予算の更新、キャパシティ・プランニング、ブレーク修正、テクノロジ・リフレッシュ、バージョン管理など、ライフサイクル全体にわたる大規模なクラスタの管理の欠点があります。企業がクラウドでHadoopクラスタを構築する場合でも、基礎となるデータ・ストレージに対して手動で構成された多くのボリュームが依然として必要になる場合があります。このボリュームには、同じダウンサイドの多くが付属しています。
HDFS Connectorを使用したOCI Object Storageは、これらすべてのダウンサイドを克服します。無制限の拡張、メンテナンス不要、耐久性11ナインの提供、容量の計画やプロビジョニングが不要です。また、通常、格納されるGB当たりのコストが最も低いオプションでもあります。
しかし、Object Storageは、大規模なオンプレミスHadoopクラスタに匹敵するスループットを実現できますか。また、既存のHDFSアプリケーションと互換性がありますか。これらの質問に対する答えは「はい」です!
Object Storageは、便利な低コストのストレージ・オプションであるだけでなく、HDFSと同様に、集約帯域幅の1秒間に複数のTBを提供できる分散ストレージ・システムを提供します。OCI HDFSコネクタは、変更されていないHadoopアプリケーションとObject Storageサービスの間のギャップを埋めます。多くのお客様が、このコネクタをビッグ・データ・アプリケーションに成功裏に使用しています。
HDFS Connectorについて
オープン・ソース(およびOCIでサポートされている)HDFS Connectorは、HDFSインタフェースに定義されているすべてのアプリケーション・レベルのファイル・システム操作をOCI Object StorageサービスAPIコールに変換します。HDFSコネクタ・クライアントは各コンピュート・ノードで実行され、OCI Object StorageはHDFSのようになります。Map/Reduce、Flink、PinotなどのHadoopエコシステム・アプリケーションは、dfsPut、dfsGet、dfsCPなどの標準のHDFSコマンドでHDFSコネクタと通信できます。コネクタは、これらのコマンドを変換して、OCIオブジェクト・ストレージで同等の操作を実行します。
これらの操作には、ディレクトリとファイルのステータスの確認、ファイルの作成、読取り、削除などのタスクが含まれます。さらに、ファイル・システムのアクセス・パフォーマンスを向上させるために、特定の構成に応じて、部分的または完全なファイル・コンテンツが、アプリケーションによってアクセスされるか、ストレージ・サービスにアップロードされる前に、メモリーまたはディスクにローカルにキャッシュされることがあります。
10X高いパフォーマンス- 改善とベンチマークの結果
最近、世界最大規模のHadoopインストールの1つで、何百ものHDFSストレージのノードをOCI Object Storageに移動することを決定しました。そして、私たちが課題に直面していることを確認するために、さらに詳しく調べることにしました。お客様と協力して、オンプレミスのローカルHadoop環境でHDFSベンチマークを実行してから、OCI Object Storageで再度実行しました。新しい最適化されたHDFS Connectorは、世界最大規模の本番Hadoopクラスタの1つで同じテストよりも、OCI Object Storageでベンチマーク・テストを40%高速に実行しました。
図1: オブジェクト・ストレージ用のOCI HDFS Connector ArchitectureCaption
これらのベンチマーク・ターゲットを手元に置いて、ストレージ・プラットフォームの分散電力を最大限に活用するためにコネクタの最適化を開始しました。最新バージョンのコネクタ(バージョン3.3.4.1.2.0以降)は、以前より約10倍高速になりました。さらに重要なことは、改善されたHDFSコネクタとOCI Object Storageの組合せは、顧客のオンプレミスHDFSクラスタと比較して平均40%高速です。
これらの改善は、すべてのOCIユーザーが利用でき、次の機能が含まれます。
- パラレルMD5チェックサム処理による大きなファイルの書込み: 80 GBファイルのPUT時間が以前のバージョンより75%、オンプレミスのベンチマークより48%高速になります。
- パラレル・レンジ・リードを使用した大規模なファイルの取得: 80 GBファイルのGET時間を以前のバージョンより800%、オンプレミスのベンチマークより36%高速に改善します。
- メモリー管理の向上により、以前のバージョンより10倍高速な80 GBファイルでのdfsコピー操作と、オンプレミスのベンチマークより56%高速なファイルでのdfsコピー操作が可能になります。
- ディレクトリ・リストの改善により、小さいファイル処理が高速化されます。21Kの小さいファイルのディレクトリの場合、dfsGET、dfsPUTおよびdfsMOVEはすべて、以前のバージョンと比較して25倍改善されました。
詳細は、GitHubのリリース・ノートを参照してください。
結果
次のグラフは、多数のディレクトリに分散した4つの異なるファイル・サイズ構成(80 GB、10 GB、100 MBおよび21Kの小さい100 KBファイル)のベンチマーク(dfsGET、dfsPUT、dfsCPおよびdfsCount)でのテストを示しています。バーの色は、測定するテストの種類を示します。たとえば、GETテストは緑色です。コマンド・サイズとファイル・サイズの組合せごとに、80 GBファイルを取得する秒数や、21K小さいファイルをカウントする秒数など、タスクを完了する秒数を測定しました。このベンチマークは、オンプレミスのHDFSクラスタで実行し、HDFSコネクタを使用してOCI Object Storageで実行しました。バーの長さは、OCI Object Storageを使用した最適化されたHDFSコネクタが、オンプレミスのHDFSクラスタと比較してタスクを完了した速度を示します。
図2: OCI HDFS Connectorのパフォーマンス
コネクタの監視
HDFSコネクタは、豊富な監視メトリックを生成します。コネクタによって生成されるメトリックは、コンソールのOCIパブリック・テレメトリ(メトリック・エクスプローラ)またはAPIフレームワークに接続された独自のモニタリング・アプリケーションを使用して監視できます。最近、次のメトリックを有効にしました。
LIST {COUNT, OVERALL_LATENCY, ERROR_COUNT}
HEAD {COUNT, OVERALL_LATENCY, ERROR_COUNT}
WRITE {COUNT, OVERALL_LATENCY, ERROR_COUNT, TTFB, BYTES, THROUGHPUT}
READ {COUNT, OVERALL_LATENCY, ERROR_COUNT, TTFB, BYTES, THROUGHPUT}
DELETE {COUNT, OVERALL_LATENCY, ERROR_COUNT}
RENAME {COUNT, OVERALL_LATENCY, ERROR_COUNT}
操作にメトリックが追加され、完全なキーが形成されます。例: LIST_COUNT、LIST_OVERALL_LATENCY。
図3: OCI HDFS Connectorの監視
OCIモニタリング・フレームワークの使用を開始するには、このドキュメントの説明に従って、コアsites.xmlで必要なプロパティを設定します。このドキュメントでは、メトリックのコンシューマをどのように作成できるかについても説明します。HDFSコネクタ・メトリックを同じテレメトリ・モニタリング・ツールにすることで、ユーザーはメトリックをHDFS操作と、多くの場合異なるオブジェクト・ストレージ操作(マルチパート・アップロード、パラレル・ダウンロードなど)の両方に関連付けることができます。
エクスポートされたOCI HDFSコネクタおよびOCIメトリック・エクスプローラでのオブジェクト・ストレージ・メトリックのビジュアル化の例を次に示します。
図4: OCIメトリック・エクスプローラ・コンソール
図5: OCI HDFS Connectorメトリック
図6: HDFS Connectorメトリックのビジュアル化
まとめ
ビッグ・データ環境をObject Storageに移行する際、パフォーマンスは重要な考慮事項ですが、お客様は、無制限のスケーラビリティ、容易な管理、低コスト、可観測性および高いセキュリティを実現するために、そのような環境を好みます。分析部門は、膨大な数のサーバーとディスクの管理、容量計画の実行、テクノロジーの更新の調整ではなく、次の優れたソリューションの構築に注力し、予算を集中させたいと考えています。
個々の結果は様々ですが、新しいHDFSコネクタは古いバージョンよりもはるかに高速であると確信しています。また、最大のリージョンでは、オンプレミス・インフラストラクチャと比較して満足できるパフォーマンスを提供できると考えています。
ビッグ・データ・ワークロードにObject Storageをまだ使用していない場合は、Oracle Cloud Freeトライアルで試してみてください。オブジェクト・ストレージを使用していて、最新のコネクタに更新していない場合は、表にパフォーマンスが少し向上する可能性があります。OCI Object Storage HDFSコネクタは、GitHubから入手でき、Oracle Big Dataサービスの各コンピュート・インスタンスに自動的にインストールされます。インストールおよび使用方法については、公式ドキュメントを参照してください。
リソース:
コメント
コメントを投稿