Cloudera Data Platform(CDP)プライベートクラウドは、統合された分析とデータ管理のための最も包括的なオンプレミスプラットフォームです。 Cloudera EnterpriseDataHubとHortonworksDataPlatform Enterprise Plusの最高の組み合わせであり、データ管理と分析のための最新かつ最高のオープンソーステクノロジーをデータセンターにもたらします。
CDPプライベートクラウドベースの最新バージョン(7)では、いくつかの新機能と拡張機能が導入されています。このブログ投稿では、ApacheHBaseで利用可能なパフォーマンスの向上を共有したいと思います。
HBaseを初めて使用する場合、または新しいプロジェクトでHBaseを評価する場合、HBaseは、大量のデータをタイムリーかつ信頼性の高い方法で処理したいアーキテクトや開発者から信頼されている非リレーショナル分散データベースです。
このパフォーマンス比較では、YCSBワークロードを使用して、CDP Private CloudBase7で利用可能なHBase2とCDH5で利用可能なHbase1を測定しました。この比較は、基盤となるハードウェアを変更せずにインプレースアップグレードを行うお客様のパフォーマンスの向上と影響を理解するのに役立ちます。
注:CDH5からCDP7にアップグレードするお客様は、HBase1からHBase2へのHBaseアップグレードも受けられます。
- カスタムYCSB更新のみのワークロード
- カスタムYCSB更新のみのワークロードが実行されます
- 100%UPDATE操作
- アプリケーションの例はメトリクスストアです
- ワークロードのパフォーマンス: CDP 7 YCSBアップデートのみのワークロードの実行スループット(1秒あたりの操作数)は、CDH5で実行した場合よりも20%向上しました
- カスタムYCSB更新のみのワークロードが実行されます
- YCSB WorkloadA
- YCSBワークロードAは
- を実行します
- 50%の読み取り操作
- 50%のUPDATE操作
- アプリケーションの例は、ユーザーセッションでの最近のアクションを記録するセッションストアです。
- ワークロードのパフォーマンス: CDP Private Cloud Base 7.1 HBase2 YCSBワークロードスループット(1秒あたりの操作数)は、CDH5 HBase1よりも15%優れていました
- YCSBワークロードAは
- YCSBワークロードC(読み取り専用)
- YCSBワークロードCは読み取り専用のワークロードであり、実行します
- 100%READ操作
- アプリケーションの例は、プロファイルが他の場所(Hadoopなど)で構築されている場合のユーザープロファイルキャッシュの読み取り、または口座明細書にアクセスして表示するための銀行システムです。
- ワークロードのパフォーマンス: CDP 7 YCSBワークロードCのスループット(1秒あたりの操作数)はCDH5と同様でした
- YCSBワークロードCは読み取り専用のワークロードであり、実行します
評決– CDP 7は、YCSBのCDH5よりもパフォーマンスが向上しています
カスタムUpdateOnlyワークロード :CDP 7YCSB更新のみのワークロードのパフォーマンスが20%向上 C5より。
YCSBワークロードA :CDP 7YCSBワークロードAのパフォーマンスは15%向上 CDH5より。
YCSBワークロードC :CDP7YCSB読み取り専用ワークロードCには同様の操作/スループットがありました CDH5へ
テスト中に、CDP7内でJDK8からJDK11にアップグレードすると、パフォーマンスがさらに10%向上することがわかりました。これは、CDH5からCDP7へのアップグレードによって得られるパフォーマンスの向上を上回っています。
CDP 7にはデフォルトでJDK8がインストールされており、JDK11へのアップグレードをサポートしています。テスト実行では、CDP 7が更新され、上記のYCSBワークロード実行にJDK11が使用されるようになりました。 JDK8でも同じワークロードを実行しました。テスト結果では、 JDK11のパフォーマンスはJDK8と比較して5〜10%優れていることが示されました。 、下のグラフに示すように
CDP7をJDK8からOpenJDK11にアップグレードするには、以下の手順に従ってください。
ステップ1:以下を使用してすべてのホストにOpenJDK11をインストールします
RHEL
sudo yum install java-11-openjdk
Ubuntu
sudo apt install openjdk-11-jdk
ステップ2:Cloudera Managerサーバーホストのみ(他のホストには必要ありません):
- export JAVA_HOMEで始まる行を編集し(この行が存在しない場合は追加します)、パスを新しいJDKのパスに変更します(JDKは通常/にインストールされます)。 usr / lib / jvm)(またはSLES12では/usr / lib64 / jvm)ですが、パスはJDKのインストール方法によって異なる場合があります。
JDKのアップグレードの詳細については、以下を参照してください JDKのアップグレード
テスト環境
テスト方法
CDH 5.16.3 / HBase1がクラスターにインストールされ、10億行(データセットサイズ1TB)のワークロードデータが生成され、CDH5.16.3YCSBワークロードが実行されました。ロード後、すべての圧縮操作が完了するのを待ってから、ワークロードテストを開始しました。
CDH 5.16.3の実行が完了すると、CDPプライベートクラウドベース7.1 HBase2がクリーンインストールされ、同じクラスター上でデータが再生成されました。次に、CDPプライベートクラウドベース7.1 YCSBワークロードを実行して、テストのタイミングを取得しました。すべてのワークロードを実行する前に、YCSBが使用するHBaseテーブルを初期化しました。ユーザーテーブルのスナップショットutable_snap すべての実行の前に作成および適用されました。
テストされた各ワークロードは、スループットを測定するために、それぞれ15分間で3回実行されました*。示されている結果は、3つのテストから得られた平均です。
*スループット(ops / sec)=1秒あたりの操作数
CDPプライベートクラウドベース7.1にはHBase2が含まれ、CDH5.16.3にはHBase1が含まれます。 CDP Private CloudBase7.1とCDH5の両方にJDK8がインストールされています。 CDPプライベートクラウドベース7.1はJDK11をサポートし、CDPプライベートクラウドベース7.1はYCSBテストにJDK 11を使用するように更新され、CDH5.13.3の実行はJDK8(1.8.0_141)で実行されました
構成のテスト
- YCSBバージョン0.17.0
- YCSBバインディングバージョンhbase2(CDP-CD 7.1)およびhbase1(CDH 5)
- YCSBクライアントは2を使用しました
- クライアントあたりのYCSBスレッド20
- データサイズ
- YCSBテーブル@1TBスケール
- YCSBテーブルのレコードの総数1,000,000,000(1 TB)、各レコードは1KBです
- YCSBテーブル250のリージョン数、5+1ノードクラスターのリージョンサーバーあたり約50リージョン
- サーバーサイズ290Gあたりに使用されるリージョンの平均ストレージスペース
- HBaseリージョンサーバーは32GBのヒープで構成されました
- 12.3GBのキャッシュサイズで使用されたのはLruBlockCacheを備えたL1キャッシュのみです
- リージョンサーバーでの実行中に観察されたL1キャッシュヒット率は85%でした
- L2オフヒープキャッシュがクラスターに構成されていません
クラスター構成
- 使用されるクラスター: 6ノードクラスター(1マスター+ 5リージョンサーバー)
- 説明: Dell PowerEdge R430、20c / 40t Xenon e5-2630 v4 @ 2.2Ghz、128GB RAM、4-2TBディスク
- セキュリティ: 構成なし(Kerberosなし)
Clouderaのバージョンの比較
C7バージョン :CDPプライベートクラウドベース7.1.0
C5バージョン: CDH5.16.3
使用されるJDK:JDK 8( 1.8.0_141)およびJDK 11 (11.0.6)
私たちのテスト(上記の結果)に基づいて、CDH5からCDP7へのアップグレードを検討しているお客様は、現在得られているものと比較して、同様のワークロードのパフォーマンスが向上することを期待する必要があります。
ClouderaオペレーショナルDBの詳細 ここ