Ozoneのベンチマーク: ClouderaのCDP向け次世代ストレージ

著者: Istvan Fajth & Mukul Kumar Singh
本ブログ記事は「https://blog.cloudera.com/benchmarking-ozone-clouderas-next-generation-storage-for-cdp/」(2020/2/14投稿)の日本語翻訳記事です。また、原文の投稿はClouderaとHortonworks合併前に記述されたものであり、いくつかのリンク、リソースにはアクセスできない場合があります。
*訳注: 元記事公開時点では 0.2.1-alpha 版が最新でしたが、日本語翻訳時点(2020/4/12)では0.5.0-beta版が公開されています。

Apache Hadoop Ozone は、小さなファイルとファイルシステムオブジェクトの総数に関する、HDFSのスケールの制約に対応するために設計されています。HDFSには、現在のデータセンターのハードウェアで約3億5千万ファイル、7億ファイルシステムオブジェクトという制約があります。Ozoneのアーキテクチャーはこれらの制約に対処します[4]。この記事では、ビッグデータファイルシステムのデファクトスタンダードになっているHDFSとOzoneのパフォーマンスとを比較します。

このテストには、広く使われているベンチマークである TPC-DS を選択し、Hive、Tez、YARN、HDFSで構成される従来のHadoopスタックとOzoneとを比較しました。現在、業界では、計算処理とストレージの分離(高密度のストレージノードとエラスティックな計算処理を可能にする)に対する需要が高まっているため、DataNodeとNodeManagerを分離した状態でこれらのテストを実行しました。この試みと、それに続く製品の最適化の努力の基本的な目標は、安定性とパフォーマンスの面でHDFSに匹敵するものにすることです。そのために、この目標に向かって過去数カ月間に渡ってコミュニティーが行ってきた驚くべき量の作業に感謝したいと思います。

現時点では、OzoneはCloudera Data Platform — Data Center (CDP-DC) 7.1 でのベータリリースが予定されています。

Hive on Ozone はより速くなる

以下の測定結果は、12台の専用ストレージノードと12台の専用計算ノードを備えたクラスター上で、100GBと1TBの2つの独立したデータセットを生成して得られたものです。この記事の最後のセクションで、セットアップに関する詳細情報を提供します。

次のグラフは、99個のベンチマーククエリの合計実行時間を考慮すると、両方のデータセットにおいて、Ozoneが平均3.5%のマージンでHDFSを上回っていることを示しています。(※Y軸が小さい方が高速)

詳細な結果を把握するために、クエリを3つのグループに分類しました。

  1. より速いクエリ (OzoneがHDFSよりも優れているクエリ)
  2. 僅差で遅いクエリ (OzoneがHDFSよりも25%未満のマージンで劣ったクエリ)
  3. 外れ値 (OzoneがHDFSより25%以上のマージンで劣るクエリ)

クエリの実行速度は、データがOzoneにある場合、HDFSにデータがあるよりも70%以上のケースにおいて速くなります。安定化とパフォーマンスの向上に費やされたコミュニティの努力は報われているようです。しかし、さらに成長する余地はあります。

次の散布図は、各データセットにおいて、それぞれのTPC-DSクエリのOzoneとHDFSとの実行時間の平均の差をマップしたものです。プロット上で0%付近で推移している全てのクエリは、OzoneとHDFSでの性能差はわずかです。ノイズによるばらつきを正規化するため、数値は各クエリを10回実行した平均になっています。

Y軸の値は、HDFSでのクエリの実行時間と比較したOzoneの実行時間の差の割合を表しています。つまり、例えば50%とは、HDFSでの実行時間の差が半分であることを意味し、実質的にはOzoneでのクエリ実行が2倍以上速くなったことを意味しています。一方 -50%(負の値)とは、Ozoneのクエリの実行時間がHDFSの1.5倍であることを意味します。

まとめ

テスト実行では、TPC-DSクエリの70%以上でOzoneの方が僅差で速いことがわかりました。いくつかの異常値がありますが、ボトルネックを発見し、最優先で問題を解決するために積極的に調査しています。

Ozoneは現在、CDP-DCと共に技術評価版(Tech Preview)として公開されており、フィードバックを収集し、次世代ビッグデータ分散ストレージシステムとしての進化を続けています。先に述べたようにベータ版のリリースはもうすぐで、その後GAがリリースされる予定です。ここで得られた結果と、安定化やパフォーマンスの面での作業量からして、この目標は非常に現実的になっているものと思われます。

環境の詳細

  • クラスターのセットアップは、20コアのIntel® Xeon®プロセッサー、128GBのメモリ、2TBのディスク4台、10Gb/sのネットワークを備えている28台の均一の物理ノードで構成されています。ノードではCentOS 7.4、Hive3、Hadoop3、Tez 0.9が含まれているCloudera Runtime 7.0.3、1月上旬にApacheのマスターリポジトリからビルドしたOzoneが実行されています。
  • 4台のマスターノード。Cloudera Manager、PrometheusとZooKeeperに1台、YARNに1台、Hiveに1台、HDFSとOzoneに1台(それぞれ異なるタイミングで使用)。
  • データストレージに2台の専用ディスクを用いる12台のストレージノード、YARNとログの両方に3台の専用ディスクを用いる12台の計算ノード。
  • SSL/TLSは無効化し、シンプルな認証を使用。
  • Ozoneは、単一のバケットで単一ボリュームを使用し、HDFSのセマンティクスを模倣するように構成。
  • どのサービスも高可用性を有効にしない。
  • クラスターの内部ネットワークは他のホストと共有されており、トラフィックが非常に少ない場合と急激な場合とで不安定になる場合があることを理解しています。これが最終結果をまとめる前に、HDFSとOzoneの両方で10回の完全なテスト実行の平均を行った理由の一つです。
    全てのデータがファイルシステムから読み込まれるように、全てのクエリでHiveでの結果のキャッシュはオフに設定しました。
  • ご自身の環境で試してみたい場合は、ベンチマークの実行に使用したツールも利用可能で、オープンソースです。全てのツールはこのレポジトリにあります。

参考文献

  1. Apache Hadoop Ozone: Apache Hadoop 用のオブジェクトストアの紹介
  2. Apache Hadoop Ozone: オブジェクトストアの概要
  3. Open Hybrid Architecture: O3, the New Rocket Ship(英語)
  4. Apache Hadoop Ozone — オブジェクトストアのアーキテクチャー

追記

2020年4月15日現在、Cloudera Data Platform — Data Center (CDP-DC) 7.0.3にはOzone 0.4.0が技術評価版として含まれています。https://docs.cloudera.com/runtime/7.0.3/ozone-storing-data/topics/ozone-introduction.html

謝辞

今回もCloudera Japanの@d1ce@yoshiyuki.kono両名にレビューしていただきました。ありがとうございます。

 

ホワイトペーパー: 機械学習を成功に導く3つの方法

 

Cloudera Japan Marketing
この著者の他の記事

コメントする

あなたのメールアドレスは公開されません。また、コメントにリンクを貼ることはできません。