mapr 5.2: mapr コンバージド・コミュニティ・エディションを使いこなす

66
© 2016 MapR Technologies © 2016 MapR Technologies MapR 5.2: MapR コンバージド・コミュニティ・エディショ ンを使いこなす 2016 9 14

Upload: mapr-technologies-japan

Post on 11-Apr-2017

241 views

Category:

Data & Analytics


5 download

TRANSCRIPT

Page 1: MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす

© 2016 MapR Technologies © 2016 MapR Technologies

MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす

2016 年 9 月 14 日

Page 2: MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす

© 2016 MapR Technologies

本日の発表者

Deborah Littlefield Technical Curriculum Developer

Ankur Desai Sr. Manager, Platform and Products

Page 3: MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす

© 2016 MapR Technologies 3

本日のアジェンダ

•  MapR コンバージド・データ・プラットフォームの最新情報

•  MapR 5.2 におけるエコシステムサポートの最新情報

•  コミュニティエディションの最新版へのアップグレード方法

•  Q&A

Page 4: MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす

© 2016 MapR Technologies 4

MapR コンバージド・データ・プラットフォーム

Webスケールストレージ データベース イベントストリーミング

エンタープライズグレードプラットフォームサービス

オープンソースエンジンおよびツール 商⽤エンジンおよびアプリケーションデータ

プロセッシング

統合管理・監視

⾼可⽤性 リアルタイム 統合セキュリティ マルチテナント 災害復旧 グローバル名前空間

クラウド・マネージドサービス

カスタムアプリ

検索その他

Page 5: MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす

© 2016 MapR Technologies 5

過去12か月間で MapR プラットフォームに追加された 4つの主な機能

•  Spyglass イニシアティブによる次世代クラスタ監視への移行

•  MapR Streams によるリアルタイムストリーミング

•  MapR-DB JSON ドキュメントデータベースと OJAI によるアプリケーション開発

•  アクセス制御表現 (ACE) によるデータの保護

Page 6: MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす

© 2016 MapR Technologies 6 © 2016 MapR Technologies

プロジェクト Spyglass

Page 7: MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす

© 2016 MapR Technologies 7

MapR ビジョン: ユーザ/運用管理者の生産性を最大化

詳細な 可視化

Another sample

容易な 運用管理

完全な コントロール

Page 8: MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす

© 2016 MapR Technologies 8

MapR Spyglass イニシアティブ •  ユーザ・運用管理者の生産性向上を目指す新しいアプローチ

–  包括的、オープン、拡張可能 •  拡大するビッグデータ環境の運用管理をシンプルに •  MapR 5.2 リリースから開始

–  フェーズ1 – MapR モニタリング –  まずは運用の可視化に重点

•  コミュニティによる迅速なイノベーションを支援 –  オープンソースの可視化・ダッシュボードツールをフル活用

Page 9: MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす

© 2016 MapR Technologies 9

Spyglass イニシアティブ・フェーズ1 - MapR モニタリング

ノード、サービス、ジョブからのメトリクス

およびログ収集を含むクラスタ監視機能

と、有益な方法で情報を表示するダッシ

ュボードにより運用管理者を強力に支援

する

Converged Customizable Extensible

Page 10: MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす

© 2016 MapR Technologies 10

収集 可視化 集計・格納

MapR モニタリングアーキテクチャ

計画中

データソース

ログシッパー

メトリクス コレクタ

通知

ノード環境値 (CPU, メモリ, I/O)

サービス デーモン

(YARN, Drill, Hive, 等)

MapR Control System

Page 11: MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす

®© 2014 MapR Technologies 11

プロジェクト Spyglass – 知りたいものすべてを監視

ノード/インフラストラクチャの監視 • 全体集計 (平均, 最小値, 最大値) チャート

(例: CPU, ディスク利用状況)

•  ノード毎のチャート (例: ディスク毎の I/O スループット)

•  MFS リード/ライトおよびスループット

•  DB Put, Get, Scan, キャッシュメトリクス

Page 12: MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす

®© 2014 MapR Technologies 12

プロジェクト Spyglass – 知りたいものすべてを監視

ノード/インフラストラクチャの監視

• 全体集計 (平均, 最小値, 最大値) チャート (例: CPU, ディスク利用状況)

•  ノード毎のチャート (例: ディスク毎の I/O スループット)

•  MFS リード/ライトおよびスループット

•  DB Put, Get, Scan, キャッシュメトリクス

クラスタ空間利用状況監視 •  クラスタ全体のストレージ利用状況

• ストレージ利用状況の傾向

• ボリューム毎およびグループ毎の利用状況 (データ, ボリューム, スナップショット, 合計サイズ)

Page 13: MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす

®© 2014 MapR Technologies 13

プロジェクト Spyglass – 知りたいものすべてを監視

ノード/インフラストラクチャの監視

• 全体集計 (平均, 最小値, 最大値) チャート (例: CPU, ディスク利用状況)

•  ノード毎のチャート (例: ディスク毎の I/O スループット)

•  MFS リード/ライトおよびスループット

•  DB Put, Get, Scan, キャッシュメトリクス

クラスタ空間利用状況監視

•  クラスタ全体のストレージ利用状況

• ストレージ利用状況の傾向

• ボリューム毎およびグループ毎の利用状況 (データ, ボリューム, スナップショット, 合計サイズ)

YARN/MR アプリケーション監視 • 全体的な YARN 傾向グラフ

•  コンテナ - 待機中, 稼働中

•  vCore・メモリ - 割当て済み & 使用中

• キュー毎のチャート - コンテナ, vCore, メモリ

Page 14: MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす

®© 2014 MapR Technologies 14

プロジェクト Spyglass – 知りたいものすべてを監視

ノード/インフラストラクチャの監視

• 全体集計 (平均, 最小値, 最大値) チャート (例: CPU, ディスク利用状況)

•  ノード毎のチャート (例: ディスク毎の I/O スループット)

•  MFS リード/ライトおよびスループット

•  DB Put, Get, Scan, キャッシュメトリクス

クラスタ空間利用状況監視

•  クラスタ全体のストレージ利用状況

• ストレージ利用状況の傾向

• ボリューム毎およびグループ毎の利用状況 (データ, ボリューム, スナップショット, 合計サイズ)

YARN/MR アプリケーション監視 • 全体的な YARN 傾向グラフ

•  コンテナ - 待機中, 稼働中

•  vCore・メモリ - 割当て済み & 使用中

• キュー毎のチャート - コンテナ, vCore, メモリ

サービスデーモン監視 サービス毎のチャート (タイプ毎の CPU 利用率, メモリ)

• 中央管理の検索可能なログ

•  MapR コアおよびエコシステムサービス (YARN, Drill, Spark を含む)

Page 15: MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす

© 2016 MapR Technologies 15

メトリクス可視化のための カスタマイズ可能な ダッシュボード

ログ分析

Page 16: MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす

© 2016 MapR Technologies 16

学習とコラボレーションのための場所

トピックやアイデアに関するブログ

コードやダッシュボードの共有

デモ、チュートリアル、動画の視聴

利用用途や開発に関するディスカッション

Page 17: MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす

© 2016 MapR Technologies 17

ダッシュボードは JSON で定義され、 容易に Grafana や Kibana にインポート・

エクスポート可能

REST API を使った拡張・連携

The Exchange

Page 18: MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす

© 2016 MapR Technologies 18

ダッシュボードはモバイルでも閲覧可能

Page 19: MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす

© 2016 MapR Technologies 19

まとめ

●  データ収集・格納インフラストラクチャ (パッケージ済み、サポート対応) ○  ノード、ストレージ、サービスからのメトリクスおよびログの収集・格

納 ●  可視化ダッシュボード (コミュニティ主導)

○  Grafana および Kibana 用のサンプルダッシュボード

5.2 - Spyglass 1.0 正式版リリース

CUSTOMIZABLE 共有可能でモバイルに対応したダッシュボード

CONVERGED 詳細な検索ができる監視機能

EXTENSIBLE REST API を使った容易な連携

Page 20: MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす

© 2016 MapR Technologies 20 © 2016 MapR Technologies

MapR Streams

Page 21: MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす

© 2016 MapR Technologies 21

MapR Streams: 継続的なデータ処理を実現

継続的かつ世界規模でスケーラブルなイ

ベントデータのストリーミングを実現し、業

務の基盤となるリアルタイムアプリケーシ

ョンの作成を可能にする

Converged Continuous Global

Page 22: MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす

© 2016 MapR Technologies 22

MapR Streams: ビッグデータ向け Publish-Subscribe イベントストリーミングシステム

Producer は毎秒数十億のメッセージを

ストリーム内のトピックに送信

すべての Consumer に対する保障され

た、即時の配信

標準リアルタイム API (Kafka) による Spark Streaming, Storm, Apex, Flink との連携

分散フレームワークからのダイレクトデー

タアクセス (OJAI API)

Topic

ストリーム

Producer

リモートサイトと Consumer

バッチ分析

トピック

レプリケーション

Consumer

Consumer

エンタープライズエディションのみで利用可能

Page 23: MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす

© 2016 MapR Technologies 23

MapR Streams: 高速でシンプルなアプリの構築

Simpler and Faster Architecture

• ファイルストレージとデータベースが統合されたコンバージド・プラットフォームは、データ移動、データ遅延、ハードウェア費用、運用管理費用を低減

• イベントストリーミングとストリーム処理を同じクラスタで行うことで、より高速な処理を実現

• ファイルとデータベーステーブルの統合セキュリティフレームワークにより、設定とセキュリティポリシーの実施に関わる運用管理費用を削減

• マルチテナント – トピックの分離、クオータ、データ配置制御により複数の独立したストリーミングアプリケーションの同一クラスタでの運用を実現、ハードウェア費用とデータ移動を低減

Page 24: MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす

© 2016 MapR Technologies 24

Scalable. • より多くのイベントを投入してより速く知見を得る • より長期間イベントを蓄積してより深い知見を得る • アプリを一度開発したら、短期および長期データに適用

(つまり、15日間のデータと1年間のデータの両方に同じアプリケーションで分析を実施する)

MapR Streams: 高速でシンプルなアプリの構築

Page 25: MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす

© 2016 MapR Technologies 25 © 2016 MapR Technologies

MapR-DB JSONドキュメントデータベースと OJAI によるアプリケーション開発

Page 26: MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす

© 2016 MapR Technologies 26

JSON アプリケーション向けオープンソース OJAI API

Open JSON Application Interface (OJAI)

Databases Streams

MapR-Client

File Systems

{JSON}

MapR-Client

Page 27: MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす

© 2016 MapR Technologies 27

なじみのある JSON パラダイム – よく似た API 構造 MapR-DB

Document record = Json.newDocument() .set("firstName", "John") .set("lastName", "Doe") .set("age", 50);

table.insert("jdoe", record);

MongoDB

BasicDBObject doc = new BasicDBObject ("firstName", "John") .append("lastName", "Doe") .append("age", 50);

coll.insert(doc);

Page 28: MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす

© 2016 MapR Technologies 28

JSON: ドキュメントで容易に変形

{ "_id" : "rp-prod132546", "name" : "Marvel T2 Athena”, "brand" : "Pinarello", "category" : "bike", "type" : "Road Bike”, "price" : 2949.99, "size" : "55cm", "wheel_size" : "700c", "frameset" : {

"frame" : "Carbon Toryaca", "fork" : "Onda 2V C"

}, "groupset" : {

"chainset" : "Camp. Athena 50/34", "brake" : "Camp."

}, "wheelset" : {

"wheels" : "Camp. Zonda", "tyres" : "Vittoria Pro"

} }

{ "_id" : "rp-prod106702", "name" : " Ultegra SPD-SL 6800”, "brand" : "Shimano", "category" : "pedals", "type" : "Components, "price" : 112.99, "features" : [

"Low profile design increases ...", "Supplied with floating SH11 cleats", "Weight: 260g (pair)"

] }

{ "_id" : "rp-prod113104", "name" : "Bianchi Pride Jersey SS15”, "brand" : "Nalini", "category" : "Jersey", "type" : "Clothing, "price" : 76.99, "features" : [

"100% Polyester", "3/4 hidden zip", "3 rear pocket"

], "color" : "black" }

ジャージ ペダル 自転車

Page 29: MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす

© 2016 MapR Technologies 29

製品カタログ - RDBMS

1つの製品を取得するには “Entity Value Attribute” パターン

SELECT * FROM ( SELECT ce.sku, ea.attribute_id, ea.attribute_code, CASE ea.backend_type WHEN 'varchar' THEN ce_varchar.value WHEN 'int' THEN ce_int.value WHEN 'text' THEN ce_text.value WHEN 'decimal' THEN ce_decimal.value WHEN 'datetime' THEN ce_datetime.value ELSE ea.backend_type END AS value, ea.is_required AS required FROM catalog_product_entity AS ce LEFT JOIN eav_attribute AS ea ON ce.entity_type_id = ea.entity_type_id LEFT JOIN catalog_product_entity_varchar AS ce_varchar ON ce.entity_id = ce_varchar.entity_id AND ea.attribute_id = ce_varchar.attribute_id AND ea.backend_type = 'varchar' LEFT JOIN catalog_product_entity_text AS ce_text ON ce.entity_id = ce_text.entity_id AND ea.attribute_id = ce_text.attribute_id AND ea.backend_type = 'text' LEFT JOIN catalog_product_entity_decimal AS ce_decimal ON ce.entity_id = ce_decimal.entity_id AND ea.attribute_id = ce_decimal.attribute_id AND ea.backend_type = 'decimal' LEFT JOIN catalog_product_entity_datetime AS ce_datetime ON ce.entity_id = ce_datetime.entity_id AND ea.attribute_id = ce_datetime.attribute_id AND ea.backend_type = 'datetime' WHERE ce.sku = ‘rp-prod132546’ ) AS tab WHERE tab.value != ’’;

Page 30: MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす

© 2016 MapR Technologies 30

“ビジネスオブジェクトとして” 製品を格納 1つの製品を取得するには

{ "_id" : "rp-prod132546", "name" : "Marvel T2 Athena”, "brand" : "Pinarello", "category" : "bike", "type" : "Road Bike”, "price" : 2949.99, "size" : "55cm", "wheel_size" : "700c", "frameset" : {

"frame" : "Carbon Toryaca", "fork" : "Onda 2V C"

}, "groupset" : {

"chainset" : "Camp. Athena 50/34", "brake" : "Camp."

}, "wheelset" : {

"wheels" : "Camp. Zonda", "tyres" : "Vittoria Pro"

} }

products .findById(“rp-prod132546”)

製品カタログ - NoSQL/ドキュメント

Page 31: MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす

© 2016 MapR Technologies 31

MapR-DB におけるネイティブ JSON サポート {

order_num: 5555,

products: [

{ product_id: 348752,

quantity: 1,

unit_price: 149.99,

total_price: 149.99

},

{ product_id: 439322,

quantity: 1,

unit_price: 99.99,

total_price: 99.99

},

{ product_id: 953923,

quantity: 1,

unit_price: 49.99,

total_price: 49.99

},

]

}

要素レベルにおけるリード/ライト •  粒度の細かいディスクリード/ライト •  より少ないネットワークトラフィック •  より高い並列度

必要に応じて追加された新しい要素 •  スキーマの事前定義は不要 •  進化するデータの格納が簡単に

すべての NoSQL データベースが JSON を ネイティブデータとして扱えるわけではない

Page 32: MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす

© 2016 MapR Technologies 32

カラムファミリー構造の活用 (オプション) / {a: {a1: {b1: "v1", b2: [ {c1: "v1", c2: "v2"} ] }, a2: { e1: "v1", e2: <inline jpg> } } }

カラムファミリー1 カラムファミリー2

より高速なデータアクセスのためのレイアウト制御 異なる有効期間 (TTL) 要件 テーブルレプリケーション設定の分離 特別なデータ配置ポリシー 効率的な ACE

Page 33: MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす

© 2016 MapR Technologies 33

JSON ドキュメント向けの細粒度のセキュリティ { “fname”: “John”, “lname”: “Doe”, “address”: “111 Main St.”, “city”: “San Jose”, “state”: “CA”, “zip”: “95134”, “credit_cards”: [ {“issuer”: “Visa”, “number”: “4444555566667777”}, {“issuer”: “MasterCard”, “number”: “5555666677778888”} ] }

ドキュメント全体 要素: “fname” 配列: “credit_cards” 配列内の子要素: “credit_cards[*].number”

ドキュメント内で異なる許可レベルを指定可能

Page 34: MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす

© 2016 MapR Technologies 34

MapR-DB 向けの包括的なデータ型サポート •  NULL •  Boolean •  String •  Map •  Array •  Float, Double •  Binary •  Byte, Short, Int, Long •  Date •  Decimal •  Interval •  Time •  Timestamp

例: { “sample_int”: {"$numberLong”: 2147483647}, “sample_date”: {“$dateDay”: “2016-02-22”}, “sample_decimal”:{“$decimal”: “1234567890.23456789”}, “sample_time”: {“$time”: “10:26:12.487”}, “sample_timestamp”: {“$date”: “2016-02-22T10:26:12.487+Z”} }

Page 35: MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす

© 2016 MapR Technologies 35 © 2016 MapR Technologies

アクセス制御表現による データセキュリティ

Page 36: MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす

© 2016 MapR Technologies 36

1010101001001 1000100010010110100101010

0101001010101010101100

ファイル ACE – 主な機能

直感的な継承 サブディレクトリやファイルは親ディレクトリから許可を継承する

ボリューム全体のACE ボリュームレベルのフィルタ – マルチテナント環境で有益

ロール 業務要求に合わせてユーザを任意にグループ化

高性能 性能への影響なし

ブール演算子 非常に細かい許可設定を実現可能

AUTHORIZATION

Page 37: MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす

© 2016 MapR Technologies 37

1010101001001 1000100010010110100101010

0101001010101010101100

ファイル ACEs: ボリューム全体の ACE の例

ボリューム全体の ACE r: group:finance

Jane が Bob に読み込みアクセスを許可 File: /finance/final_report.csv r: user:bob

ボリューム全体の ACE は読み込みアクセスを finance のみにしか許していないため Bob はファイル /finance/final_report.csv にアクセスできない

Jane (Finance)

Bob (Developer)

ボリューム全体の ACE

AUTHORIZATION

Page 38: MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす

© 2016 MapR Technologies 38

1010101001001 1000100010010110100101010

0101001010101010101100

POSIX ACL vs ACE

r : user:sally | (group:dev_team & group:managers)

アクセス制御リスト (ACL)

MapR アクセス制御表現 (ACE)

AUTHORIZATION

どちらが設定、理解しやすいか? どちらがより細かい制御を実現できるか?

Page 39: MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす

© 2016 MapR Technologies 39

1010101001001 1000100010010110100101010

0101001010101010101100

MapR はファイルと MapR-DB レコード向け ACE に対応

例: user:mary | (group:admins & group:VP) & user:!bob ファイル, テーブル, カラムファミリー, カラム, JSON ドキュメントおよび子ドキュメントへのパーミッション

アクセス制御表現 (ACE) を使用して細かい許可設定を行う

AUTHORIZATION

Page 40: MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす

© 2016 MapR Technologies 40 © 2016 MapR Technologies

エコシステム最新情報

Page 41: MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす

© 2016 MapR Technologies 41

5.2 エコシステムサポート 下記は 5.2 リリース日からの MEP 1.0 におけるコンポーネントのバージョン変更のみであり、5.1 向けにはすでにすべてリリース済み

現在の 5.1 のエコシステム 5.2 の MEP 1.0

コンポーネント 5.1 と同時にリリース 5.1 向けの追加リリース

Drill 1.4 1.6 1.6

Spark 1.5.2 1.6.1 1.6.1 (開発者プレビューは 2.0)

Impala 2.2.0 2.5 2.5

Storm 0.10.0 0.10.1 0.10.1

Mahout 0.11.2 0.12.2 0.12.2

Page 42: MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす

© 2016 MapR Technologies 42

Apache Drill 1.6 による SQL と JSON の統合 •  NoSQL 上で柔軟な業務分析

–  MapR-DB プラグインにより、MapR-DB テーブル内の JSON データに直接 SQL クエリを実行して分析を行うことが可能に

–  プッシュダウン機能による最適な対話操作性

•  クエリ性能の強化 –  パーティションプルーニング、メタデータキャッシング、その他の最適化によるクエリ性能の改善 –  Drill の前バージョンと比べて10〜60倍のクエリプランニング性能の向上

•  より優れたメモリ管理 –  より高い安定性とスケーラビリティを提供、より大規模な処理に加え、より多くの SQL 処理を MapR クラスタ上

で実行することを可能に

•  Tableau のような可視化ツールとの連携の改善 –  可視化ツールから Hadoop 内のデータまでエンドツーエンドのセキュリティのためのクライアントインパーソネー

ションの導入 –  SQLウィンドウ関数の強化

Page 43: MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす

© 2016 MapR Technologies 43

Spark 2.0 新機能 •  Spark SQL による構造化ストリーミング

–  ライブストリーミングデータに対する対話型クエリ実行機能 –  継続的アプリケーションのためにストリーム内での出力の集約が可能に –  データが生成されると同時に実施可能な連続的な分析の事前計算

•  ステージ全体のコード生成 –  第二世代 Tungsten エンジンにより実現 –  SQL クエリをバイトコードとして実行時に評価される単一関数に変換することにより、複数回の

JVM 呼び出しを不要に •  Dataframe API

–  SparkSQL と同じエンジン上で動作 –  様々な異なるデータソースから取得したデータへのアクセスを実現 –  データベース風の操作を行ったり、カスタムコードを渡すことが可能

Page 44: MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす

© 2016 MapR Technologies 44 © 2016 MapR Technologies

最新の MapR コンバージド・コミュニティ・エディションへのアップグレード

Page 45: MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす

© 2016 MapR Technologies 45

アップグレード方法の選択

高可用性機能を活用

オフライン インストーラ

時間

複雑さ

ローリング 手動

ローリング スクリプト

オフライン 手動

アップグレード中はクラスタ停止

Page 46: MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす

© 2016 MapR Technologies 46

コミュニティエディションとローリングアップグレード •  サービスの唯一のコピー (例えば CLDB) が動作しているノードをアッ

プグレードする場合、クラスタ運用が中断することを想定すること

•  クラスタへのアクセスを 最小限にする

•  10 以下のノード数の場合、 オフラインアップグレード がおそらく最も適切 オフライン

インストーラ

ローリング 手動

ローリング スクリプト

オフライン 手動

Page 47: MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす

© 2016 MapR Technologies 47

サポートされているアップグレード方法

元のバージョン オフライン インストーラ オフライン手動 ローリング手動 ローリング

スクリプト

3.x

4.0

4.1

5.0

5.1

* MapR インストーラを使ってインストールしたクラスタのみをサポート。 エコシステムコンポーネントのアップグレードもこの方法のみ。

Page 48: MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす

© 2016 MapR Technologies 48

概要

2

準備

1

計画! アップグレード

3

Page 49: MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす

© 2016 MapR Technologies 49

計画: 何を含めるかを決める

MapR コア

MEP でサポートされていないエコシステムコンポーネント

MapR クライアント

新機能

? ?

Page 50: MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす

© 2016 MapR Technologies 50

計画: テスト計画の作成 •  各アップグレードステップの実施前と実施後にテストを実行

– 結果を比較

•  基本的な機能のテスト – クラスタアクセスとボリュームを確認 – maprcli, hadoop fs, MCS を利用

•  ジョブやクエリのテスト – 使用するコンポーネントに基づく

Page 51: MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす

© 2016 MapR Technologies 51

計画: アップグレードスケジュールの作成

アップグレード後に何をすべきか?

数日前に何ができるか?

アップグレード当日に何をすべきか?

数週間前に何ができるか?

Page 52: MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす

© 2016 MapR Technologies 52

準備: 数週間前 •  リリースノートを確認

•  ノードの要件を確認 – 必要に応じて JDK をアップデート

•  テストクラスタのアップグレード – 想定外の事項を記録 – 設定ファイルを準備

数週間前

Critical! 重要!

Page 53: MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす

© 2016 MapR Technologies 53

準備: 数日前 •  インストーラ、パッケージ等をダウンロード

•  テストを実施し結果を記録

•  重要なデータをバックアップ

数日前

Page 54: MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす

© 2016 MapR Technologies 54

準備: アップグレード当日 •  クラスタが正常か確認しアラームをクリア

•  ジョブキューを空にする/ジョブを停止

•  クラスタ間運用を停止 – ボリュームミラーリング – テーブルレプリケーション

Page 55: MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす

© 2016 MapR Technologies 55

アップグレードの順番 1.  MapR コア

2.  エコシステムコンポーネント •  MapR インストーラを使わない限り、手動でアップグレード

3.  MapR クライアント

4.  新機能を有効化

Page 56: MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす

© 2016 MapR Technologies 56

MapR コアのアップグレード

コンポーネント 内容

MapReduce バイナリ

MapR コア

Webserver maprcli コマンドバイナリ, MCS, REST API

その他のサービス 新機能や性能強化 (リリースにより異なる)

Page 57: MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす

© 2016 MapR Technologies 57

MapR コアのアップグレード: 設定ファイル 新しいデフォルト設定ファイルが作成される:

アクティブな設定ファイル (アップグレード中には変更されない)

新しい設定ファイル (アップグレードで追加される)

/opt/mapr/conf /opt/mapr/conf.new

/opt/mapr/conf/conf.d /opt/mapr/conf.d.new

/opt/mapr/hadoop/hadoop-<ver>/conf /opt/mapr/hadoop/hadoop-<ver>/conf.new

Page 58: MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす

© 2016 MapR Technologies 58

MapR コアのアップグレード: 設定ファイル 新しいデフォルト設定ファイルが作成される:

アクティブな設定ファイル (アップグレード中には変更されない)

新しい設定ファイル (アップグレードで追加される)

/opt/mapr/conf /opt/mapr/conf.new

/opt/mapr/conf/conf.d /opt/mapr/conf.d.new

/opt/mapr/hadoop/hadoop-<ver>/conf /opt/mapr/hadoop/hadoop-<ver>/conf.new

重要! 必要な変更をアクティブな設定ファイルに

マージすること

Page 59: MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす

© 2016 MapR Technologies 59

MapR コアのアップグレード: Hadoop Common Version 1.  新しい Hadoop ディレクトリが下記に作成される:

/opt/mapr/hadoop/hadoop-<version>

2.  既存の Hadoop ディレクトリは下記に移動: /opt/mapr/hadoop/OLD_HADOOP_VERSIONS

3.  新しいバージョン向けにリンクが更新される: /opt/mapr/lib/*.jar

4.  サービス設定ファイル内のパスが更新される: /opt/mapr/conf/conf.d/warden.<service name>.conf

Page 60: MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす

© 2016 MapR Technologies 60

MapR コアのアップグレード: アップグレード後の作業 •  5.0 以前からのアップグレードの場合、各ノードで新しいライセンスファイルを

コピーすること: cp /opt/mapr/conf.new/BaseLicense.txt /opt/mapr/conf/

•  手動 (ローリングもしくはオフライン) アップグレード後は、Hadoop 設定ファイルを新しいバージョンに更新すること: /opt/mapr/conf/hadoop_version

•  クラスタ間運用の再開 – ボリュームミラーリング

– テーブルレプリケーション

Page 61: MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす

© 2016 MapR Technologies 61

エコシステムコンポーネントのアップグレード •  ドキュメントのアップグレード前お

よびアップグレード後の手順に従う

•  MapR 5.2 では、同一の MapR Ecosystem Pack (MEP) に含まれるエコシステムコンポーネントにアップグレードする必要がある

http://maprdocs.mapr.com/home/InteropMatrix/r_MEP_52.html

Page 62: MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす

© 2016 MapR Technologies 62

MapR クライアントのアップグレード

MapR クライアント (Windows, Mac, Linux)

クラスタ

hadoop fs –ls / maprcli volume list

Page 63: MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす

© 2016 MapR Technologies 63

MapR POSIX クライアントのアップグレード

•  Loopback POSIX クライアント

•  FUSE-based POSIX クライアント – FUSE-based は MapR 5.1 で追加

•  推奨: FUSE-based POSIX クライアントへのアップグレード MapR POSIX クライアント

(Linux のみ)

Page 64: MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす

© 2016 MapR Technologies 64

MapR 3.x からのアップグレード •  MapReduce v1 ジョブを動かすには、デフォルト MapReduce モード

を変更するか適切なコマンドで起動

•  MapReduce ジョブの再コンパイルが必要になる場合がある

•  YARN サービスをクラスタに追加する必要がある場合がある

http://maprdocs.mapr.com/home/UpgradeGuide/RunningMRjobsYarn.html

Page 65: MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす

© 2016 MapR Technologies 65

その他のアップグレードの考慮事項 •  クラスタ間のミラーリング

– ボリュームは同一か上位のバージョンのクラスタにミラーリングする必要がある

– ミラー先のクラスタを先にアップグレード! – アラームを防ぎ帯域幅を最大限に活用するために、アップグレード中はミラー

運用を無効化することを検討すること

•  クラスタ間のテーブルレプリケーション – テーブルレプリケーションに関わるクラスタは異なるバージョンでも構わない

Page 66: MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす

®© 2016 MapR Technologies 66

Q & A Engage with us!

•  Spyglass イニシアティブ

o  https://www.mapr.com/products/spyglass-initiative •  無料の MapR コミュニティエディションで MapR Streams や MapR-DB をお試

しください o  https://www.mapr.com/products/hadoop-download

•  MapR Sandbox (仮想マシン) で MapR Streams や MapR-DBをお試しください o  https://www.mapr.com/products/mapr-sandbox-hadoop