Clouderaの品質保証CDHのテスト工程について  • Andrew Bayer, Cloudera
イントロダクション:自己紹介	•  Andrew Bayer	•  Clouderaキッチンチーム(Kitchen team:品質保証、  ビルド、パッケージング、etc)	•  ビルド・アーキテクト(Build architect)	•  J...
Apacheの品質保証の流れ	•  全プロジェクトにおける単体テストの サブセットはJenkins上で実行 l    テストは単一ノードの疑似分散モードのみで実       行 l    テストはApache Bigtopの一環として、Cl...
Apacheの品質保証の流れ
Apacheの品質保証の流れ	•  リリースに関する厳格な基準なし•  しばしば限られた検証を経るだけで、コミッターによ る投票でリリースが決定する “+1 (結合)       私はソースから構築され署名されたコードを、  疑似クラスタを設定...
CDHの品質保証: テスト計画	•  テストは計画時から始まっている•  全主要コンポーネントに対してテスト計画を立案•  品質エンジニアによる計画立案と、 開発者によるレビュー•  自動化できる作業項目一覧と、手動による検証が必要 な作業とを...
CDHの品質保証: コードレビュー	•  コードはすべてピアレビューされる•  以下の作業が含まれている:  l    オープンソースからのバックポート(改良点を旧バー        ジョンへ移植)  l    テスト  l    ビルド...
CDHの品質保証:単体テスト	•  全コンポーネントに関する単体テストを毎日フルで実行	 l    テスト数の合計:CDHだけで2万以上
CDHの品質保証:単体テスト	•  単体テストは、MapReduce1とMapReduce2両方に対 して実施•  立て続けに追加されたエコシステムのツールやライブラ リに対しても検証•  単体テストのジョブも、CheckStyleやFindB...
CDHの品質保証: パッケージテスト	•  サポートする全プラットフォーム上で CDHのRPMおよびDebianパッケージを自動検証  l    インストール  l    削除  l    アップグレード  l    パッケージ内容物の...
CDHの品質保証:クラスタテスト	l    さまざまなクラスタ構成で自動検証      l    セキュアクラスタ      l    高可用性(HA)における安全性      l    HDFSフェデレーション•  クラスタ規模のレン...
CDHの品質保証:スケールテスト	•  ClouderaのQAチームが実施するスケールテスト  l    TeraSort(大量データのソートをテスト)  l    TestDFSIO(ディスクのスループットを測定)  l    Hive...
CDHの品質保証: その他のテスト 	•  互換性テスト – 以前のリリースからのAPIを自動検証•  パフォーマンス回帰テスト – 複数のリリース版で同じ ワークロードを実行•  クラス間のHBaseレプリケーションのような長期稼働 テスト•...
CDHの品質保証:テストマトリクス	•  顧客が実際に利用すると思われる環境をサポートする ため、Linuxのさまざまなディストリビューション/バージ ョンでクラスタを実行  l    CentOS/RHEL 5, 6  l    SLES...
CDHの品質保証:さらなるテスト	•  顧客のトレースから派生した実際のデータに対してテス トを実行•  未だ自動化されていない多数の手動テストや、また信頼 性や障害発生、顧客特有の問題の再発生など特定の 顧客主導シナリオを実施
CDH品質保証:テスト計画例	•  HDFS HA	•  全コンポーネントにわたるAvroとの統合	•  Cloudera Managerテスト計画
CDHの品質保証: HDFS HA テスト計画	•  通常の動作を検証するため、非HA構成でHAクラスタの テストを実行	•  HA構成の基本的なHDFSの機能性	•  フェールオーバーのテスト	  l    手動フェールオーバー	  l ...
CDHの品質保証: Avroの統合	•  プロデューサーのAvroデータファイル、コンシューマーの  Avroデータファイルのマトリクス	•  Snappy圧縮のあり/なし両方でテストを実行	•  Flume output -> MapRedu...
CDHの品質保証: Cloudera Manager	l    幅広い構成範囲にわたって、インストールと機能性      を自動テスト	l    サポートする全OS上で、全DBバックエンドと共に、      全ビルドに対してテストを実行
Clouderaの品質保証・CDHのテスト工程について by Andrew bayer
Upcoming SlideShare
Loading in...5
×

Clouderaの品質保証・CDHのテスト工程について by Andrew bayer

3,194

Published on

2012/7/31に実施したCloudera QAセミナーより
「Clouderaの品質保証 CDHのテスト工程について」
Cloudera Kitcen team / Andrew Bayer

Published in: Technology
0 Comments
13 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,194
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
42
Comments
0
Likes
13
Embeds 0
No embeds

No notes for slide

Clouderaの品質保証・CDHのテスト工程について by Andrew bayer

  1. 1. Clouderaの品質保証CDHのテスト工程について • Andrew Bayer, Cloudera
  2. 2. イントロダクション:自己紹介 •  Andrew Bayer •  Clouderaキッチンチーム(Kitchen team:品質保証、 ビルド、パッケージング、etc) •  ビルド・アーキテクト(Build architect) •  Jenkinsのボードメンバー/コミッター •  Apache Bigtop, Apache Flume, Apache Sqoop, Apache Whirr, jcloudsのコミッター
  3. 3. Apacheの品質保証の流れ •  全プロジェクトにおける単体テストの サブセットはJenkins上で実行 l  テストは単一ノードの疑似分散モードのみで実 行 l  テストはApache Bigtopの一環として、Cloudera が関与している限定された統合テストともにコン ポーネントごとに実行 l  ジョブは頻繁に落ちる
  4. 4. Apacheの品質保証の流れ
  5. 5. Apacheの品質保証の流れ •  リリースに関する厳格な基準なし•  しばしば限られた検証を経るだけで、コミッターによ る投票でリリースが決定する “+1 (結合) 私はソースから構築され署名されたコードを、 疑似クラスタを設定してすべて検証し、試しにサンプル ジョブを少し実行した。すべて期待通りに動作した。”
  6. 6. CDHの品質保証: テスト計画 •  テストは計画時から始まっている•  全主要コンポーネントに対してテスト計画を立案•  品質エンジニアによる計画立案と、 開発者によるレビュー•  自動化できる作業項目一覧と、手動による検証が必要 な作業とを対比•  将来のテスト作業に向けたバックログ
  7. 7. CDHの品質保証: コードレビュー •  コードはすべてピアレビューされる•  以下の作業が含まれている: l  オープンソースからのバックポート(改良点を旧バー ジョンへ移植) l  テスト l  ビルドとパッケージングロジック•  テストが実施される前に、査読時の検査によって最割安 にバグを特定
  8. 8. CDHの品質保証:単体テスト •  全コンポーネントに関する単体テストを毎日フルで実行 l  テスト数の合計:CDHだけで2万以上
  9. 9. CDHの品質保証:単体テスト •  単体テストは、MapReduce1とMapReduce2両方に対 して実施•  立て続けに追加されたエコシステムのツールやライブラ リに対しても検証•  単体テストのジョブも、CheckStyleやFindBugsのような 静的解析ツールで実行
  10. 10. CDHの品質保証: パッケージテスト •  サポートする全プラットフォーム上で CDHのRPMおよびDebianパッケージを自動検証 l  インストール l  削除 l  アップグレード l  パッケージ内容物の検証 l  機能的なスモークテスト l  プライベート・クラウド環境におけるVMの自動スピン アップ/スピンダウン
  11. 11. CDHの品質保証:クラスタテスト l  さまざまなクラスタ構成で自動検証 l  セキュアクラスタ l  高可用性(HA)における安全性 l  HDFSフェデレーション•  クラスタ規模のレンジに応じたテスト l  5、10、100ノードの物理的なクラスタ l  1000ノードまでのVMクラスタ
  12. 12. CDHの品質保証:スケールテスト •  ClouderaのQAチームが実施するスケールテスト l  TeraSort(大量データのソートをテスト) l  TestDFSIO(ディスクのスループットを測定) l  HiveBench l  YCSB(Yahoo! Cloud Serving Benchmark) l  SWIM(MapReducceのパフォーマンスを測定) l  Intel HiBench(Hadoop用ベンチマークスイート) l  TPC-H(大規模データシステムのトランザクション   を測定)
  13. 13. CDHの品質保証: その他のテスト •  互換性テスト – 以前のリリースからのAPIを自動検証•  パフォーマンス回帰テスト – 複数のリリース版で同じ ワークロードを実行•  クラス間のHBaseレプリケーションのような長期稼働 テスト•  JCarderのようなツールを使ったデッドロックの検出
  14. 14. CDHの品質保証:テストマトリクス •  顧客が実際に利用すると思われる環境をサポートする ため、Linuxのさまざまなディストリビューション/バージ ョンでクラスタを実行 l  CentOS/RHEL 5, 6 l  SLES 11 l  Oracle Linux 5, 6•  複数のデータベース (MySQL, Oracle, PostgreSQL)•  JDKの追加 (JDK 1.7, OpenJDK)
  15. 15. CDHの品質保証:さらなるテスト •  顧客のトレースから派生した実際のデータに対してテス トを実行•  未だ自動化されていない多数の手動テストや、また信頼 性や障害発生、顧客特有の問題の再発生など特定の 顧客主導シナリオを実施
  16. 16. CDH品質保証:テスト計画例 •  HDFS HA •  全コンポーネントにわたるAvroとの統合 •  Cloudera Managerテスト計画
  17. 17. CDHの品質保証: HDFS HA テスト計画 •  通常の動作を検証するため、非HA構成でHAクラスタの テストを実行 •  HA構成の基本的なHDFSの機能性 •  フェールオーバーのテスト l  手動フェールオーバー l  自動フェールオーバー l  HTTPフェールオーバー •  HAセキュリティ •  HAフェデレーション
  18. 18. CDHの品質保証: Avroの統合 •  プロデューサーのAvroデータファイル、コンシューマーの Avroデータファイルのマトリクス •  Snappy圧縮のあり/なし両方でテストを実行 •  Flume output -> MapReduce, Streaming, Pig, Hive •  Sqoop output -> MapReduce, Streaming, Pig, Hive •  MapReduce output -> Sqoop, Streaming, Pig, Hive •  Streaming output -> MapReduce •  Pig output -> Sqoop, MapReduce, Streaming, Hive •  Hive output -> Sqoop, MapReduce, Streaming, Pig
  19. 19. CDHの品質保証: Cloudera Manager l  幅広い構成範囲にわたって、インストールと機能性 を自動テスト l  サポートする全OS上で、全DBバックエンドと共に、 全ビルドに対してテストを実行
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×