Cloudera on AWSと
Amazon EMRを両方本番運用し
3つの観点から比較してみる
自己紹介
株式会社サイバーエージェントグループ
CyberZ エンジニア
茂木 高宏(もてき たかひろ)
twitter: @tkmoteki
facebook: takahiro.moteki.31
F.O.Xビックデータ環境のクラウド移行
https://goo.gl/tTZTBU
Infrastructure as Codeを活用したF.O.Xの
クラウドビッグデータ環境の変化
https://goo.gl/5HTPzY
内容について
● 前提知識
○ パブリッククラウド(AWS)の基礎知識(EMR基礎知識あると捗るかも)
○ ビッグデータ関連の基礎知識
● 対象
○ ビッグデータ(Hadoopクラスタ) 設計・運用者メイン/利用者
● 本内容は2018年1月のものです
● 本番運用して、事前に知っておきたかった内容を多く入れ、EMRと比較して紹介
アジェンダ
3. エコシステム
transient
cluster
persistent
cluster
4. アーキテクチャ 5. 運用管理
オペレーション
ログ調査
Amazon
S3
6. Tips: 課金系/他
1. 弊社 事例概要 2. EMR/Cloudera on
AWSとは?
アジェンダ
3. エコシステム
transient
cluster
persistent
cluster
4. アーキテクチャ 5. 運用管理
オペレーション
ログ調査
Amazon
S3
6. Tips: 課金系/他
1. 弊社 事例概要 2. EMR/Cloudera on
AWSとは?
Force Operation X(F.O.X)概要
レポーティング1
アプリ解析機能2
マーケット分析3
リターゲティング機能4
スマートフォン広告におけるマーケティング統合プラットフォーム
(広告効果計測ツール)
F.O.Xビッグデータ環境利用形態
計測サーバ
データ収集 処理(ETL/集計) 分析/可視化
保存
ストレージ
分析アプリ
計測ログ
ストレージ ストレージ
定常集計
F.O.Xビッグデータ環境利用形態
計測サーバ
データ収集 処理(ETL/集計) 分析/可視化
保存
分析アプリ(自
社開発)
Amazon
S3
Amazon
S3
Amazon
Athena
event
processing
data
processing
AWS
Lambda
Amazon
EMR
Amazon
EMR
Amazon S3
マルチクラスタ
マルチディストリービューション
クラスタ間でのデータ共有
データ
アジェンダ
3. エコシステム
transient
cluster
persistent
cluster
4. アーキテクチャ 5. 運用管理
オペレーション
ログ調査
Amazon
S3
6. Tips: 課金系/他
1. 弊社 事例概要 2. EMR/Cloudera on
AWSとは?
Amazon EMR?
● ビッグデータエコシステム実行を簡素化
● 大量データを処理/分析するマネージド型クラスタプラットフォーム
Amazon EMR
https://goo.gl/fo8HxT
Amazon S3
Amazon EMRの構成
基盤(アーキテクチャ) エコシステム ->AWS
…..etc
transient
cluster
master
persistent
cluster
core task
…..etc MapR/MCSは本内容では
対象外とします、
Cloudera on AWS?
● Cloudera社のディストリービューション(CDH)をAWSで利用
● マネージド型クラスタプラットフォームもあり
https://goo.gl/wTmNXy
Amazon
S3
● 本内容はAWS / S3利用
前提で記載
Cloudera on AWSの構成
基盤(アーキテクチャ)
transient
cluster
master
persistent
cluster
slave task
…..etc
エコシステム
…..etc
Cloudera Director/
Cloudera Altus
CDH
エコシステム運用管理
Cloudera Manager/
Cloudera Navigator
オペレーション
…..etc
ログ調査
Cloudera on AWSの構成
基盤(アーキテクチャ)
transient
cluster
master
persistent
cluster
slave task
エコシステム
Cloudera Director
Cloudera Director/
Cloudera Altus
CDH
エコシステム運用管理
Cloudera Manager/
Cloudera Navigator
オペレーション
Cloudera Altus
ログ調査
Amazon EMRとの比較対象
● Amazon EMR(省略) -> 本番運用
● Cloudera Director -> 本番運用
● Cloudera Altus -> 検証のみ
簡易画面デモ
Cloudera on AWSとEMRの比較?
エコシステム
transient
cluster
persistent
cluster
アーキテクチャ 運用管理
オペレーション
ログ調査
Amazon
S3
3つの観点
アジェンダ(比較項目)
3. エコシステム
transient
cluster
persistent
cluster
4. アーキテクチャ 5. 運用管理
オペレーション
ログ調査
Amazon
S3
6. Tips: 課金系/他
1.弊社 事例概要 2. EMR/Cloudera on
AWSとは?
● エコシステム自体のカスタマイズ性が高いのがCloudera Director
● ユーザがジョブに集中できる(学習コスト低)のがCloudera Altus
● AWS新機能を活かした(Clouderaより対応早い)エコシステム利用
はAmazon EMR
結論: エコシステム
どんなエコシステムを使いたいか?
利用可能エコシステム
Cloudera Director Cloudera Altus Amazon EMR
エコシステムカスタマイズ
Cloudera Director
Cloudera Altus
Amazon EMR
各種デーモン
配置替え
エコシステムの
設定変更
エコシステムの選択性
(必要なものを全選択か ?)
1つ選択
Hive使いたい -> YARNも選択
Hive使いたい -> YARNも選択
ディストリービュー
ションへエコシステ
ム追加
CSD
エコシステムのversion
Cloudera Director
Cloudera Altus
Amazon EMR
versionの
新しさ
パッチ配布/
特定エコシス
テムupgrade
ロールバック
EMRと比較すると古
い 応相談で独自パッチ
(parcel可)
EMRと比較すると古
い
旧version利用
エコシステム拡張(Hive)
Cloudera Director
Cloudera Altus
Amazon EMR
external
database
(HMS DBのRDS永
続化等)
S3整合性
ビュー
Hiveメタスト
ア共有
Cloudera SDXで筐体共
有可, Hive version違い
スキーマ共有不可S3 guardで可
S3 guardで可
EMRFSで可
アジェンダ(比較項目)
3. エコシステム
transient
cluster
persistent
cluster
4. アーキテクチャ 5. 運用管理
オペレーション
ログ調査
Amazon
S3
6. Tips: 課金系/他
1.弊社 事例概要 2. EMR/Cloudera on
AWSとは?
● より詳細設定かつ、AWSに限定しないならばCloudera Director
● リリースしたばかり、全般的に機能性が低いCloudera Altus
● AWS新機能含めた(Clouderaより対応早い)アーキテクチャの実
現はAmazon EMR
結論: アーキテクチャ
どんなプラットフォームでどう使いたいか?
ストレージオプション
Cloudera Director
Cloudera Altus
Amazon EMR
Amazon EBS Amazon S3 Amazon S3 instance
storage
HDFS Federation
namespaceが動的
HDFS Federation
namespaceが動的
HDFS Federation
namespaceが動的
HDFS Federation
namespaceが動的
S3対応エコシス
テム(例)
Hive, Impala
Hive, Impala
Hive, Presto,
HBase
クラスタアーキテクチャ
Cloudera Director
Cloudera Altus
Amazon EMR
persistent
cluster
transient
cluster
stop / start
cluster
streaming
steps(単一/複数
job)
masterノード
冗長性なし
masterノード
冗長性なし
後から(shutdown
behavior)変更可
インスタンスグループ
Cloudera Director
Cloudera Altus
Amazon EMR
複数master
ノード
複数slaveノー
ド
追加ノード
(task)
EBSタイプ/数/
容量変更
インスタンスライフサイクル
Cloudera Director
Cloudera Altus
Amazon EMR
EC2(オンデマンド /RI)
Spot Spot block
Spot Fleet
master/slave不可,
task可
プロビジョニング
Cloudera Director
Cloudera Altus
Amazon EMR
カスタムAMI pre-install
(Hadoop事前
インスト)
カスタムDNS
工夫すれば可
プロビジョニング
方法
* GUI
* CLI
* GUI + CLI
* API
* GUI
* CLI
* (API)
* GUI
* CLI
* API
プロビジョニングカスタマイズ
Cloudera Director
Cloudera Altus
Amazon EMR
Hadoopインスト
前の起動スクリプ
ト(全台)
Hadoopインス
ト後の起動スク
リプト(全台)
master実行
スクリプト
破棄前のスク
リプト
工夫すれば可
工夫すれば可 工夫すれば可 工夫すれば可
bootstrap script
bootstrap script
bootstrap action
instance
post-creation
post-creation(任
意ノード)
steps
おまけ:
プラットフォーム/アカウント
Cloudera Director
Cloudera Altus
Amazon EMR
データセンター
横断管理
(プラットフォー
ム/アカウント)
アジェンダ(比較項目)
3. エコシステム
transient
cluster
persistent
cluster
4. アーキテクチャ 5. 運用管理
オペレーション
ログ調査
Amazon
S3
6. Tips: 課金系/他
1.弊社 事例概要 2. EMR/Cloudera on
AWSとは?
● エコシステムに特化した運用管理が効率的なCloudera
Director/Cloudera Altus
○ Cloudera Manager/Workload Analytics
● 不可ではないが、各仕組みの実装が必要なAmazon EMR
結論: 運用管理
運用管理のレベルをどうしたいか?
オペレーション(1)
Cloudera Director
Cloudera Altus
Amazon EMR
スケール
アップ/ダウン
スケール
イン/アウト
clone Blue Green
Deploment
オペレーション(2)
Cloudera Director
Cloudera Altus
Amazon EMR
オート
ヒーリング
オート
スケーリング
event driven
(CloudWatch
イベント)
エコシステム/ジョブ管理(1)
Cloudera Director
(Cloudera Manager)
Cloudera Altus
(Cloudera Manager/
Workload Analytics)
Amazon EMR
(他AWSサービス)
起動/停止/
再起動
他オペレーショ
ンサポート(例)
* hiveメタストア整合
性確認
可視性 モニタリング
他ganglia使用工夫すれば可 工夫すれば可
CMはread only
操作な思想
CMはread only
操作な思想
Job clone
エコシステム/ジョブ管理(2)
Cloudera Director
(Cloudera Manager)
Cloudera Altus
(Cloudera Manager/
Workload Analytics)
Amazon EMR
(他AWSサービス)
監視 ログ調査 設定管理
設定変更しない思想
他サポート(例)
* 設定 日本語レコメ
ンド
工夫すれば可工夫すれば可工夫すれば可
* クラスタ破棄後のジョブ
ログ調査サポート
● Cloudera Manager -> 本番運用
● Altus Workload Analytics -> 検証のみ
簡易画面デモ
アジェンダ(比較項目)
3. エコシステム
transient
cluster
persistent
cluster
4. アーキテクチャ 5. 運用管理
オペレーション
ログ調査
Amazon
S3
6. Tips: 課金系/他
1. 弊社 事例概要 2. EMR/Cloudera on
AWSとは?
課金モデル
Cloudera Director
Cloudera Altus
Amazon EMR
● EC2等のAWS利用料
● Clouderaサブスクリプション(任意)
● EC2等のAWS利用料
● Clouderaサブスクリプション(必須)
● EC2等のAWS利用料
● EMR利用料
Clouderaサブスクリプション
● 金額 -> 利用エコシステム + インスタンスタイプ + 起動時間(課金体系 https://goo.gl/mMfueB)
○ pre pay -> 予め金額をまとめて提示 (イメージAWSのRI)
○ pay as you go -> 従量課金(イメージAWSのオンデマンド)
課金
Cloudera Director Cloudera Altus(最小)Amazon EMR
55296$
6318$
($/月)
55296$
Cloudera Altus(最大)
55296$
5486$
55296$
27432$
小規模例) マスター m4.2xlarge 1台, スレーブ r4.8xlarge 30台
EC2料等
EMR利用料
Cloudera
サブスクリプ
ション
EMRより約10%安い
(※ EMR利用料値下げ考慮)
EMRより約25%高い
(※ EMR利用料値下げ考慮)
学習/導入コスト
Cloudera Director Cloudera Altus Amazon EMR
学習コスト 高 低 中
導入コスト
(敷居)
高低 低
無料試用期間ありだが、
Clouderaへライセンス発
注必要
詳細設定不可、
その分簡単
詳細設定可、
その分難しい
バイナリインスト
コンテナイメージ配布
https://github.com/cloudera/director-scripts
https://github.com/tsuyo/cloudera-boot
さいごに
エコシステム アーキテクチャ 運用管理
● Cloudera Director, Cloudera Altus, Amazon EMR それぞれ
一長一短
● 3つの観点から比較
どんなエコシステム
を使いたいか?
どんなプラットフォー
ムでどう使いたい
か?
運用管理のレベルを
どうしたいか?

[JAWSBigData#11]Cloudera on AWSと Amazon EMRを両方本番運用し 3つの観点から比較してみる