Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
© 2016 MapR Technologies© 2016 MapR Technologies
MapR 5.2: MapR コンバージド・コミュニティ・エディショ
ンを使いこなす
2016 年 9 月 14 日
© 2016 MapR Technologies
本日の発表者
Deborah Littlefield
Technical Curriculum Developer
Ankur Desai
Sr. Manager, Platform and P...
© 2016 MapR Technologies 3
本日のアジェンダ
•  MapR コンバージド・データ・プラットフォームの最新情報
•  MapR 5.2 におけるエコシステムサポートの最新情報
•  コミュニティエディションの最新版への...
© 2016 MapR Technologies 4
MapR コンバージド・データ・プラットフォーム
Webスケールストレージ データベース イベントストリーミング
エンタープライズグレードプラットフォームサービス
オープンソースエンジンおよ...
© 2016 MapR Technologies 5
過去12か月間で MapR プラットフォームに追加された
4つの主な機能
•  Spyglass イニシアティブによる次世代クラスタ監視への移行
•  MapR Streams によるリアル...
© 2016 MapR Technologies 6© 2016 MapR Technologies
プロジェクト Spyglass
© 2016 MapR Technologies 7
MapR ビジョン: ユーザ/運用管理者の生産性を最大化
詳細な
可視化
Another
sample
容易な
運用管理
完全な
コントロール
© 2016 MapR Technologies 8
MapR Spyglass イニシアティブ
•  ユーザ・運用管理者の生産性向上を目指す新しいアプローチ
–  包括的、オープン、拡張可能
•  拡大するビッグデータ環境の運用管理をシンプル...
© 2016 MapR Technologies 9
Spyglass イニシアティブ・フェーズ1 - MapR モニタリング
ノード、サービス、ジョブからのメトリクス
およびログ収集を含むクラスタ監視機能
と、有益な方法で情報を表示するダッシ...
© 2016 MapR Technologies 10
収集 可視化集計・格納
MapR モニタリングアーキテクチャ
計画中
データソース
ログシッパー
メトリクス
コレクタ
通知
ノード環境値
(CPU, メモリ, I/O)
サービス
デーモ...
®
© 2014 MapR Technologies 11
プロジェクト Spyglass – 知りたいものすべてを監視
ノード/インフラストラクチャの監視
•  全体集計 (平均, 最小値, 最大値) チャート
(例: CPU, ディスク利用...
®
© 2014 MapR Technologies 12
プロジェクト Spyglass – 知りたいものすべてを監視
ノード/インフラストラクチャの監視	
•  全体集計 (平均, 最小値, 最大値) チャート
(例: CPU, ディスク利...
®
© 2014 MapR Technologies 13
プロジェクト Spyglass – 知りたいものすべてを監視
ノード/インフラストラクチャの監視	
•  全体集計 (平均, 最小値, 最大値) チャート
(例: CPU, ディスク利...
®
© 2014 MapR Technologies 14
プロジェクト Spyglass – 知りたいものすべてを監視
ノード/インフラストラクチャの監視	
•  全体集計 (平均, 最小値, 最大値) チャート
(例: CPU, ディスク利...
© 2016 MapR Technologies 15
メトリクス可視化のための
カスタマイズ可能な
ダッシュボード
ログ分析
© 2016 MapR Technologies 16
学習とコラボレーションのための場所
トピックやアイデアに関するブログ
コードやダッシュボードの共有
デモ、チュートリアル、動画の視聴
利用用途や開発に関するディスカッション
© 2016 MapR Technologies 17
ダッシュボードは JSON で定義され、
容易に Grafana や Kibana にインポート・
エクスポート可能
REST API を使った拡張・連携
The Exchange
© 2016 MapR Technologies 18
ダッシュボードは
モバイルでも閲覧
可能
© 2016 MapR Technologies 19
まとめ
●  データ収集・格納インフラストラクチャ
(パッケージ済み、サポート対応)
○  ノード、ストレージ、サービスからのメトリクスおよびログの収集・格
納
●  可視化ダッシュボード...
© 2016 MapR Technologies 20© 2016 MapR Technologies
MapR Streams
© 2016 MapR Technologies 21
MapR Streams: 継続的なデータ処理を実現
	
継続的かつ世界規模でスケーラブルなイ
ベントデータのストリーミングを実現し、業
務の基盤となるリアルタイムアプリケーシ
ョンの作成...
© 2016 MapR Technologies 22
MapR Streams:
ビッグデータ向け Publish-Subscribe イベントストリーミングシステム
Producer は毎秒数十億のメッセージを
ストリーム内のトピックに送信...
© 2016 MapR Technologies 23
MapR Streams: 高速でシンプルなアプリの構築
Simpler and
Faster
Architecture
•  ファイルストレージとデータベースが統合されたコンバ
ージド・...
© 2016 MapR Technologies 24
Scalable.
•  より多くのイベントを投入してより速く知見を得る
•  より長期間イベントを蓄積してより深い知見を得る
•  アプリを一度開発したら、短期および長期データに適用
(...
© 2016 MapR Technologies 25© 2016 MapR Technologies
MapR-DB JSONドキュメントデータベース
と OJAI によるアプリケーション開発
© 2016 MapR Technologies 26
JSON アプリケーション向けオープンソース OJAI API
Open JSON Application Interface (OJAI)
Databases Streams
MapR-...
© 2016 MapR Technologies 27
なじみのある JSON パラダイム – よく似た API 構造
MapR-DB
Document record = Json.newDocument()
.set("firstName",...
© 2016 MapR Technologies 28
JSON: ドキュメントで容易に変形
{
"_id" : "rp-prod132546",
"name" : "Marvel T2 Athena”,
"brand" : "Pinarell...
© 2016 MapR Technologies 29
製品カタログ - RDBMS
1つの製品を取得するには“Entity Value Attribute” パターン
SELECT * FROM (
SELECT
ce.sku,
ea.att...
© 2016 MapR Technologies 30
“ビジネスオブジェクトとして” 製品を格納 1つの製品を取得するには	
{
"_id" : "rp-prod132546",
"name" : "Marvel T2 Athena”,
"b...
© 2016 MapR Technologies 31
MapR-DB におけるネイティブ JSON サポート
{
order_num: 5555,
products: [
{ product_id: 348752,
quantity: 1,
...
© 2016 MapR Technologies 32
カラムファミリー構造の活用 (オプション)
/
{a:
{a1:
{b1: "v1",
b2: [
{c1: "v1",
c2: "v2"}
]
},
a2:
{
e1: "v1",
e2...
© 2016 MapR Technologies 33
JSON ドキュメント向けの細粒度のセキュリティ
{
“fname”: “John”,
“lname”: “Doe”,
“address”: “111 Main St.”,
“city”:...
© 2016 MapR Technologies 34
MapR-DB 向けの包括的なデータ型サポート
•  NULL
•  Boolean
•  String
•  Map
•  Array
•  Float, Double
•  Binar...
© 2016 MapR Technologies 35© 2016 MapR Technologies
アクセス制御表現による
データセキュリティ
© 2016 MapR Technologies 36
1010101001001
1000100010010110100101010
0101001010101010101100
ファイル ACE – 主な機能
直感的な継承
サブディレクトリ...
© 2016 MapR Technologies 37
1010101001001
1000100010010110100101010
0101001010101010101100
ファイル ACEs: ボリューム全体の ACE の例
ボリュー...
© 2016 MapR Technologies 38
1010101001001
1000100010010110100101010
0101001010101010101100
POSIX ACL vs ACE
r : user:sally...
© 2016 MapR Technologies 39
1010101001001
1000100010010110100101010
0101001010101010101100
MapR はファイルと MapR-DB レコード向け ACE ...
© 2016 MapR Technologies 40© 2016 MapR Technologies
エコシステム最新情報
© 2016 MapR Technologies 41
5.2 エコシステムサポート
下記は 5.2 リリース日からの MEP 1.0 におけるコンポーネントのバージョン変更のみ
であり、5.1 向けにはすでにすべてリリース済み
現在の 5.1...
© 2016 MapR Technologies 42
Apache Drill 1.6 による SQL と JSON の統合
•  NoSQL 上で柔軟な業務分析
–  MapR-DB プラグインにより、MapR-DB テーブル内の JSON...
© 2016 MapR Technologies 43
Spark 2.0 新機能
•  Spark SQL による構造化ストリーミング
–  ライブストリーミングデータに対する対話型クエリ実行機能
–  継続的アプリケーションのためにストリー...
© 2016 MapR Technologies 44© 2016 MapR Technologies
最新の MapR コンバージド・コミュニティ・
エディションへのアップグレード
© 2016 MapR Technologies 45
アップグレード方法の選択
高可用性機能を活用
オフライン
インストーラ
時間
複雑さ
ローリング
手動
ローリング
スクリプト
オフライン
手動
アップグレード中はクラスタ停止
© 2016 MapR Technologies 46
コミュニティエディションとローリングアップグレード
•  サービスの唯一のコピー (例えば CLDB) が動作しているノードをアッ
プグレードする場合、クラスタ運用が中断することを想定する...
© 2016 MapR Technologies 47
サポートされているアップグレード方法
元のバージョン
オフライン
インストーラ
オフライン手動 ローリング手動
ローリング
スクリプト
3.x
4.0
4.1
5.0
5.1
* MapR...
© 2016 MapR Technologies 48
概要
2
準備
1
計画! アップグレード
3
© 2016 MapR Technologies 49
計画: 何を含めるかを決める
MapR コア
MEP でサポートされていないエコシステムコンポーネン
ト
MapR クライアント
新機能
?
?
© 2016 MapR Technologies 50
計画: テスト計画の作成
•  各アップグレードステップの実施前と実施後にテストを実行
– 結果を比較
•  基本的な機能のテスト
– クラスタアクセスとボリュームを確認
– maprcl...
© 2016 MapR Technologies 51
計画: アップグレードスケジュールの作成
アップグレード後に
何をすべきか?
数日前に何ができる
か?
アップグレード当日
に何をすべきか?
数週間前に何ができ
るか?
© 2016 MapR Technologies 52
準備: 数週間前
•  リリースノートを確認
•  ノードの要件を確認
– 必要に応じて JDK をアップデート
•  テストクラスタのアップグレード
– 想定外の事項を記録
– 設定ファ...
© 2016 MapR Technologies 53
準備: 数日前
•  インストーラ、パッケージ等をダウンロード
•  テストを実施し結果を記録
•  重要なデータをバックアップ
数日前
© 2016 MapR Technologies 54
準備: アップグレード当日
•  クラスタが正常か確認しアラームをクリア
•  ジョブキューを空にする/ジョブを停止
•  クラスタ間運用を停止
– ボリュームミラーリング
– テーブルレ...
© 2016 MapR Technologies 55
アップグレードの順番
1.  MapR コア
2.  エコシステムコンポーネント
•  MapR インストーラを使わない限り、手動でアップグレード
3.  MapR クライアント
4.  ...
© 2016 MapR Technologies 56
MapR コアのアップグレード
コンポーネント 内容
MapReduce バイナリ
MapR コア
Webserver
maprcli コマンドバイナリ, MCS, REST API
その...
© 2016 MapR Technologies 57
MapR コアのアップグレード: 設定ファイル
新しいデフォルト設定ファイルが作成される:
アクティブな設定ファイル
(アップグレード中には変更されない)
新しい設定ファイル
(アップグレ...
© 2016 MapR Technologies 58
MapR コアのアップグレード: 設定ファイル
新しいデフォルト設定ファイルが作成される:
アクティブな設定ファイル
(アップグレード中には変更されない)
新しい設定ファイル
(アップグレ...
© 2016 MapR Technologies 59
MapR コアのアップグレード: Hadoop Common Version
1.  新しい Hadoop ディレクトリが下記に作成される:
/opt/mapr/hadoop/hadoop...
© 2016 MapR Technologies 60
MapR コアのアップグレード: アップグレード後の作業
•  5.0 以前からのアップグレードの場合、各ノードで新しいライセンスファイルを
コピーすること:
cp /opt/mapr/c...
© 2016 MapR Technologies 61
エコシステムコンポーネントのアップグレード
•  ドキュメントのアップグレード前お
よびアップグレード後の手順に従
う
•  MapR 5.2 では、同一の MapR
Ecosystem ...
© 2016 MapR Technologies 62
MapR クライアントのアップグレード
MapR クライアント
(Windows, Mac, Linux)
クラスタ	
	
hadoop fs –ls /
maprcli volume l...
© 2016 MapR Technologies 63
MapR POSIX クライアントのアップグレード
•  Loopback POSIX クライアント
•  FUSE-based POSIX クライアント
– FUSE-based は M...
© 2016 MapR Technologies 64
MapR 3.x からのアップグレード
•  MapReduce v1 ジョブを動かすには、デフォルト MapReduce モード
を変更するか適切なコマンドで起動
•  MapReduc...
© 2016 MapR Technologies 65
その他のアップグレードの考慮事項
•  クラスタ間のミラーリング
– ボリュームは同一か上位のバージョンのクラスタにミラーリングする必要があ
る
– ミラー先のクラスタを先にアップグレード...
®
© 2016 MapR Technologies 66
Q&AEngage with us!
•  Spyglass イニシアティブ
o  https://www.mapr.com/products/spyglass-initiative
...
Upcoming SlideShare
Loading in …5
×

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

1,006 views

Published on

MapR コミュニティ・エディションのここ1年における最新の開発状況について解説します。スライドには、次のようなプラットフォームの最新情報が含まれています:

- Spyglass イニシアティブによる次世代のクラスタ監視
- MapR Streams によるリアルタイムストリーミング
- MapR-DB JSON ドキュメントデータベースおよび OJAI によるアプリケーション開発
- アクセス制御表現 (ACE) によるデータセキュリティ

2016年9月14日に開催されたコミュニティ向け Webinar の資料です。

Published in: Data & Analytics
  • Be the first to comment

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

  1. 1. © 2016 MapR Technologies© 2016 MapR Technologies MapR 5.2: MapR コンバージド・コミュニティ・エディショ ンを使いこなす 2016 年 9 月 14 日
  2. 2. © 2016 MapR Technologies 本日の発表者 Deborah Littlefield Technical Curriculum Developer Ankur Desai Sr. Manager, Platform and Products
  3. 3. © 2016 MapR Technologies 3 本日のアジェンダ •  MapR コンバージド・データ・プラットフォームの最新情報 •  MapR 5.2 におけるエコシステムサポートの最新情報 •  コミュニティエディションの最新版へのアップグレード方法 •  Q&A
  4. 4. © 2016 MapR Technologies 4 MapR コンバージド・データ・プラットフォーム Webスケールストレージ データベース イベントストリーミング エンタープライズグレードプラットフォームサービス オープンソースエンジンおよびツール 商⽤エンジンおよびアプリケーション データプロセッシング 統合管理・監視 ⾼可⽤性 リアルタイム 統合セキュリティ マルチテナント 災害復旧 グローバル名前空間 クラウド・ マネージド サービス カスタム アプリ 検索 その他
  5. 5. © 2016 MapR Technologies 5 過去12か月間で MapR プラットフォームに追加された 4つの主な機能 •  Spyglass イニシアティブによる次世代クラスタ監視への移行 •  MapR Streams によるリアルタイムストリーミング •  MapR-DB JSON ドキュメントデータベースと OJAI によるアプリケー ション開発 •  アクセス制御表現 (ACE) によるデータの保護
  6. 6. © 2016 MapR Technologies 6© 2016 MapR Technologies プロジェクト Spyglass
  7. 7. © 2016 MapR Technologies 7 MapR ビジョン: ユーザ/運用管理者の生産性を最大化 詳細な 可視化 Another sample 容易な 運用管理 完全な コントロール
  8. 8. © 2016 MapR Technologies 8 MapR Spyglass イニシアティブ •  ユーザ・運用管理者の生産性向上を目指す新しいアプローチ –  包括的、オープン、拡張可能 •  拡大するビッグデータ環境の運用管理をシンプルに •  MapR 5.2 リリースから開始 –  フェーズ1 – MapR モニタリング –  まずは運用の可視化に重点 •  コミュニティによる迅速なイノベーションを支援 –  オープンソースの可視化・ダッシュボードツールをフル活用
  9. 9. © 2016 MapR Technologies 9 Spyglass イニシアティブ・フェーズ1 - MapR モニタリング ノード、サービス、ジョブからのメトリクス およびログ収集を含むクラスタ監視機能 と、有益な方法で情報を表示するダッシ ュボードにより運用管理者を強力に支援 する Converged Customizable Extensible
  10. 10. © 2016 MapR Technologies 10 収集 可視化集計・格納 MapR モニタリングアーキテクチャ 計画中 データソース ログシッパー メトリクス コレクタ 通知 ノード環境値 (CPU, メモリ, I/O) サービス デーモン (YARN, Drill, Hive, 等) MapR Control System …
  11. 11. ® © 2014 MapR Technologies 11 プロジェクト Spyglass – 知りたいものすべてを監視 ノード/インフラストラクチャの監視 •  全体集計 (平均, 最小値, 最大値) チャート (例: CPU, ディスク利用状況) •  ノード毎のチャート (例: ディスク毎の I/O スル ープット) •  MFS リード/ライトおよびスループット •  DB Put, Get, Scan, キャッシュメトリクス
  12. 12. ® © 2014 MapR Technologies 12 プロジェクト Spyglass – 知りたいものすべてを監視 ノード/インフラストラクチャの監視 •  全体集計 (平均, 最小値, 最大値) チャート (例: CPU, ディスク利用状況) •  ノード毎のチャート (例: ディスク毎の I/O スル ープット) •  MFS リード/ライトおよびスループット •  DB Put, Get, Scan, キャッシュメトリクス クラスタ空間利用状況監視 •  クラスタ全体のストレージ利用状況 •  ストレージ利用状況の傾向 •  ボリューム毎およびグループ毎の利用状況 (デ ータ, ボリューム, スナップショット, 合計サイズ)
  13. 13. ® © 2014 MapR Technologies 13 プロジェクト Spyglass – 知りたいものすべてを監視 ノード/インフラストラクチャの監視 •  全体集計 (平均, 最小値, 最大値) チャート (例: CPU, ディスク利用状況) •  ノード毎のチャート (例: ディスク毎の I/O スル ープット) •  MFS リード/ライトおよびスループット •  DB Put, Get, Scan, キャッシュメトリクス クラスタ空間利用状況監視 •  クラスタ全体のストレージ利用状況 •  ストレージ利用状況の傾向 •  ボリューム毎およびグループ毎の利用状況 (デ ータ, ボリューム, スナップショット, 合計サイズ) YARN/MR アプリケーション監視 •  全体的な YARN 傾向グラフ •  コンテナ - 待機中, 稼働中 •  vCore・メモリ - 割当て済み & 使用中 •  キュー毎のチャート - コンテナ, vCore, メモリ
  14. 14. ® © 2014 MapR Technologies 14 プロジェクト Spyglass – 知りたいものすべてを監視 ノード/インフラストラクチャの監視 •  全体集計 (平均, 最小値, 最大値) チャート (例: CPU, ディスク利用状況) •  ノード毎のチャート (例: ディスク毎の I/O スル ープット) •  MFS リード/ライトおよびスループット •  DB Put, Get, Scan, キャッシュメトリクス クラスタ空間利用状況監視 •  クラスタ全体のストレージ利用状況 •  ストレージ利用状況の傾向 •  ボリューム毎およびグループ毎の利用状況 (デ ータ, ボリューム, スナップショット, 合計サイズ) YARN/MR アプリケーション監視 •  全体的な YARN 傾向グラフ •  コンテナ - 待機中, 稼働中 •  vCore・メモリ - 割当て済み & 使用中 •  キュー毎のチャート - コンテナ, vCore, メモリ サービスデーモン監視 サービス毎のチャート (タイプ毎の CPU 利用率, メモリ) •  中央管理の検索可能なログ •  MapR コアおよびエコシステムサービス (YARN, Drill, Spark を含む)
  15. 15. © 2016 MapR Technologies 15 メトリクス可視化のための カスタマイズ可能な ダッシュボード ログ分析
  16. 16. © 2016 MapR Technologies 16 学習とコラボレーションのための場所 トピックやアイデアに関するブログ コードやダッシュボードの共有 デモ、チュートリアル、動画の視聴 利用用途や開発に関するディスカッション
  17. 17. © 2016 MapR Technologies 17 ダッシュボードは JSON で定義され、 容易に Grafana や Kibana にインポート・ エクスポート可能 REST API を使った拡張・連携 The Exchange
  18. 18. © 2016 MapR Technologies 18 ダッシュボードは モバイルでも閲覧 可能
  19. 19. © 2016 MapR Technologies 19 まとめ ●  データ収集・格納インフラストラクチャ (パッケージ済み、サポート対応) ○  ノード、ストレージ、サービスからのメトリクスおよびログの収集・格 納 ●  可視化ダッシュボード (コミュニティ主導) ○  Grafana および Kibana 用のサンプルダッシュボード 5.2 - Spyglass 1.0 正式版リリース CUSTOMIZABLE 共有可能でモバイルに対応したダッシュボード CONVERGED 詳細な検索ができる監視機能 EXTENSIBLE REST API を使った容易な連携
  20. 20. © 2016 MapR Technologies 20© 2016 MapR Technologies MapR Streams
  21. 21. © 2016 MapR Technologies 21 MapR Streams: 継続的なデータ処理を実現 継続的かつ世界規模でスケーラブルなイ ベントデータのストリーミングを実現し、業 務の基盤となるリアルタイムアプリケーシ ョンの作成を可能にする Converged Continuous Global
  22. 22. © 2016 MapR Technologies 22 MapR Streams: ビッグデータ向け Publish-Subscribe イベントストリーミングシステム Producer は毎秒数十億のメッセージを ストリーム内のトピックに送信 すべての Consumer に対する保障され た、即時の配信 標準リアルタイム API (Kafka) による Spark Streaming, Storm, Apex, Flink との連携 分散フレームワークからのダイレクトデー タアクセス (OJAI API) To pic ストリーム Producer リモートサイトと Consumer バッチ分析 トピック レプリケーション Consumer Consumer エンタープライズエディションのみで利用可能
  23. 23. © 2016 MapR Technologies 23 MapR Streams: 高速でシンプルなアプリの構築 Simpler and Faster Architecture •  ファイルストレージとデータベースが統合されたコンバ ージド・プラットフォームは、データ移動、データ遅延、ハ ードウェア費用、運用管理費用を低減 •  イベントストリーミングとストリーム処理を同じクラスタで 行うことで、より高速な処理を実現 •  ファイルとデータベーステーブルの統合セキュリティフレ ームワークにより、設定とセキュリティポリシーの実施に 関わる運用管理費用を削減 •  マルチテナント – トピックの分離、クオータ、データ配置 制御により複数の独立したストリーミングアプリケーショ ンの同一クラスタでの運用を実現、ハードウェア費用と データ移動を低減
  24. 24. © 2016 MapR Technologies 24 Scalable. •  より多くのイベントを投入してより速く知見を得る •  より長期間イベントを蓄積してより深い知見を得る •  アプリを一度開発したら、短期および長期データに適用 (つまり、15日間のデータと1年間のデータの両方に同じ アプリケーションで分析を実施する) MapR Streams: 高速でシンプルなアプリの構築
  25. 25. © 2016 MapR Technologies 25© 2016 MapR Technologies MapR-DB JSONドキュメントデータベース と OJAI によるアプリケーション開発
  26. 26. © 2016 MapR Technologies 26 JSON アプリケーション向けオープンソース OJAI API Open JSON Application Interface (OJAI) Databases Streams MapR-Client File Systems {JSON} MapR-Client
  27. 27. © 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);
  28. 28. © 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" } ジャージペダル自転車
  29. 29. © 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 != ’’;
  30. 30. © 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/ドキュメント
  31. 31. © 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 を ネイティブデータとして扱えるわけではない
  32. 32. © 2016 MapR Technologies 32 カラムファミリー構造の活用 (オプション) / {a: {a1: {b1: "v1", b2: [ {c1: "v1", c2: "v2"} ] }, a2: { e1: "v1", e2: <inline jpg> } } } カラムファミリー1 カラムファミリー2 より高速なデータアクセスのためのレイアウト制御 異なる有効期間 (TTL) 要件 テーブルレプリケーション設定の分離 特別なデータ配置ポリシー 効率的な ACE
  33. 33. © 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” ドキュメント内で異なる許可レベルを指定可能
  34. 34. © 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”} }
  35. 35. © 2016 MapR Technologies 35© 2016 MapR Technologies アクセス制御表現による データセキュリティ
  36. 36. © 2016 MapR Technologies 36 1010101001001 1000100010010110100101010 0101001010101010101100 ファイル ACE – 主な機能 直感的な継承 サブディレクトリやフ ァイルは親ディレク トリから許可を継承 する ボリューム全体の ACE ボリュームレベルのフ ィルタ – マルチテナン ト環境で有益 ロール 業務要求に合わせて ユーザを任意にグル ープ化 高性能 性能への影響なし ブール演算子 非常に細かい許可設 定を実現可能 AUTHORIZATION
  37. 37. © 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
  38. 38. © 2016 MapR Technologies 38 1010101001001 1000100010010110100101010 0101001010101010101100 POSIX ACL vs ACE r : user:sally | (group:dev_team & group:managers) アクセス制御リスト (ACL) MapR アクセス制御表現 (ACE) AUTHORIZATION どちらが設定、理解しやすいか? どちらがより細かい制御を実現できるか?
  39. 39. © 2016 MapR Technologies 39 1010101001001 1000100010010110100101010 0101001010101010101100 MapR はファイルと MapR-DB レコード向け ACE に対応 例: user:mary | (group:admins & group:VP) & user:!bob ファイル, テーブル, カラムファミリー, カラム, JSON ドキュメントおよび子ドキュメントへのパーミッション アクセス制御表現 (ACE) を使用して細かい許可設定を行う AUTHORIZATION
  40. 40. © 2016 MapR Technologies 40© 2016 MapR Technologies エコシステム最新情報
  41. 41. © 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
  42. 42. © 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ウィンドウ関数の強化
  43. 43. © 2016 MapR Technologies 43 Spark 2.0 新機能 •  Spark SQL による構造化ストリーミング –  ライブストリーミングデータに対する対話型クエリ実行機能 –  継続的アプリケーションのためにストリーム内での出力の集約が可能に –  データが生成されると同時に実施可能な連続的な分析の事前計算 •  ステージ全体のコード生成 –  第二世代 Tungsten エンジンにより実現 –  SQL クエリをバイトコードとして実行時に評価される単一関数に変換することにより、複数回の JVM 呼び出しを不要に •  Dataframe API –  SparkSQL と同じエンジン上で動作 –  様々な異なるデータソースから取得したデータへのアクセスを実現 –  データベース風の操作を行ったり、カスタムコードを渡すことが可能
  44. 44. © 2016 MapR Technologies 44© 2016 MapR Technologies 最新の MapR コンバージド・コミュニティ・ エディションへのアップグレード
  45. 45. © 2016 MapR Technologies 45 アップグレード方法の選択 高可用性機能を活用 オフライン インストーラ 時間 複雑さ ローリング 手動 ローリング スクリプト オフライン 手動 アップグレード中はクラスタ停止
  46. 46. © 2016 MapR Technologies 46 コミュニティエディションとローリングアップグレード •  サービスの唯一のコピー (例えば CLDB) が動作しているノードをアッ プグレードする場合、クラスタ運用が中断することを想定すること •  クラスタへのアクセスを 最小限にする •  10 以下のノード数の場合、 オフラインアップグレード がおそらく最も適切 オフライン インストーラ ローリング 手動 ローリング スクリプト オフライン 手動
  47. 47. © 2016 MapR Technologies 47 サポートされているアップグレード方法 元のバージョン オフライン インストーラ オフライン手動 ローリング手動 ローリング スクリプト 3.x 4.0 4.1 5.0 5.1 * MapR インストーラを使ってインストールしたクラスタのみをサポート。 エコシステムコンポーネントのアップグレードもこの方法のみ。
  48. 48. © 2016 MapR Technologies 48 概要 2 準備 1 計画! アップグレード 3
  49. 49. © 2016 MapR Technologies 49 計画: 何を含めるかを決める MapR コア MEP でサポートされていないエコシステムコンポーネン ト MapR クライアント 新機能 ? ?
  50. 50. © 2016 MapR Technologies 50 計画: テスト計画の作成 •  各アップグレードステップの実施前と実施後にテストを実行 – 結果を比較 •  基本的な機能のテスト – クラスタアクセスとボリュームを確認 – maprcli, hadoop fs, MCS を利用 •  ジョブやクエリのテスト – 使用するコンポーネントに基づく
  51. 51. © 2016 MapR Technologies 51 計画: アップグレードスケジュールの作成 アップグレード後に 何をすべきか? 数日前に何ができる か? アップグレード当日 に何をすべきか? 数週間前に何ができ るか?
  52. 52. © 2016 MapR Technologies 52 準備: 数週間前 •  リリースノートを確認 •  ノードの要件を確認 – 必要に応じて JDK をアップデート •  テストクラスタのアップグレード – 想定外の事項を記録 – 設定ファイルを準備 数週間前 Critical!重要!
  53. 53. © 2016 MapR Technologies 53 準備: 数日前 •  インストーラ、パッケージ等をダウンロード •  テストを実施し結果を記録 •  重要なデータをバックアップ 数日前
  54. 54. © 2016 MapR Technologies 54 準備: アップグレード当日 •  クラスタが正常か確認しアラームをクリア •  ジョブキューを空にする/ジョブを停止 •  クラスタ間運用を停止 – ボリュームミラーリング – テーブルレプリケーション
  55. 55. © 2016 MapR Technologies 55 アップグレードの順番 1.  MapR コア 2.  エコシステムコンポーネント •  MapR インストーラを使わない限り、手動でアップグレード 3.  MapR クライアント 4.  新機能を有効化
  56. 56. © 2016 MapR Technologies 56 MapR コアのアップグレード コンポーネント 内容 MapReduce バイナリ MapR コア Webserver maprcli コマンドバイナリ, MCS, REST API その他のサービス 新機能や性能強化 (リリースにより異なる)
  57. 57. © 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
  58. 58. © 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 重要! 必要な変更をアク ティブな設定ファイルに マージすること
  59. 59. © 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
  60. 60. © 2016 MapR Technologies 60 MapR コアのアップグレード: アップグレード後の作業 •  5.0 以前からのアップグレードの場合、各ノードで新しいライセンスファイルを コピーすること: cp /opt/mapr/conf.new/BaseLicense.txt /opt/mapr/conf/ •  手動 (ローリングもしくはオフライン) アップグレード後は、Hadoop 設定ファイ ルを新しいバージョンに更新すること: /opt/mapr/conf/hadoop_version •  クラスタ間運用の再開 – ボリュームミラーリング – テーブルレプリケーション
  61. 61. © 2016 MapR Technologies 61 エコシステムコンポーネントのアップグレード •  ドキュメントのアップグレード前お よびアップグレード後の手順に従 う •  MapR 5.2 では、同一の MapR Ecosystem Pack (MEP) に含ま れるエコシステムコンポーネント にアップグレードする必要がある http://maprdocs.mapr.com/home/InteropMatrix/r_MEP_52.html
  62. 62. © 2016 MapR Technologies 62 MapR クライアントのアップグレード MapR クライアント (Windows, Mac, Linux) クラスタ hadoop fs –ls / maprcli volume list
  63. 63. © 2016 MapR Technologies 63 MapR POSIX クライアントのアップグレード •  Loopback POSIX クライアント •  FUSE-based POSIX クライアント – FUSE-based は MapR 5.1 で追加 •  推奨: FUSE-based POSIX クライア ントへのアップグレード MapR POSIX クライアント (Linux のみ)
  64. 64. © 2016 MapR Technologies 64 MapR 3.x からのアップグレード •  MapReduce v1 ジョブを動かすには、デフォルト MapReduce モード を変更するか適切なコマンドで起動 •  MapReduce ジョブの再コンパイルが必要になる場合がある •  YARN サービスをクラスタに追加する必要がある場合がある http://maprdocs.mapr.com/home/UpgradeGuide/RunningMRjobsYarn.html
  65. 65. © 2016 MapR Technologies 65 その他のアップグレードの考慮事項 •  クラスタ間のミラーリング – ボリュームは同一か上位のバージョンのクラスタにミラーリングする必要があ る – ミラー先のクラスタを先にアップグレード! – アラームを防ぎ帯域幅を最大限に活用するために、アップグレード中はミラー 運用を無効化することを検討すること •  クラスタ間のテーブルレプリケーション – テーブルレプリケーションに関わるクラスタは異なるバージョンでも構わない
  66. 66. ® © 2016 MapR Technologies 66 Q&AEngage 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

×