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.
FIWARE Big Data ecosystem : Cygnus
Joaquin Salvachua
Universidad Politécnica de Madrid
Joaquin.salvachua@upm.es, @jsalvach...
1
ビッグ・データ への取り組み:
分散ストレージとコンピューティング
2
1つの棚で十分でない場合はどうなりますか?
より多くの棚を購入します…
3
…そして、インデックスを作成します
CYGNUS
• 何のためですか?
– Cygnusは、構成された特定のサード・パーティ製ストレージ内の永続的な Orion
コンテキスト・データを管理し、そのようなデータの履歴ビューを作成するコネクタ
です。つまり、Orion はエンティティ...
FIWARE アーキテクチャ
5
6
リアルタイムの最終値の
コンテキスト・データ
履歴コンテキスト・データ
Cygnus
• Cygnus は、構成された特定のサード・パーティ製ストレージ内の特定
のデータソースを永続化し、そのようなデータの履歴ビューを作成する
ことを担当するコネクタです
• 内部的には、Cygnus は、データ収集と永続性エージェ...
Cygnus アーキテクチャ
• Cygnus は Flume エージェントを実行します。 したがって、Cygnus エー
ジェントのアーキテクチャは、Flume エージェントのアーキテクチャです
8
データ・シンク (Data Sinks)
• NGSI ライクの コンテキスト・データ :
– HDFS, Hadoop 分散ファイルシステム
– MySQL, よく知られているリレーショナルデータベースマネージャ
– CKAN, オープンデー...
Cygnus イベント
• ソースは特定のフォーマットのイベントを消費し、それらのイベントは Web サ
ーバのような外部ソースによってソースに配信されます。 たとえば、
AvroSource を使用して、クライアントまたはフロー内の他の Fl...
Cygnus 設定例
• https://github.com/telefonicaid/fiware-
cygnus/blob/master/doc/cygnus-
ngsi/installation_and_administration_g...
複数の永続性バックエンド
12
複数のエージェント
• エージェントごとに1つのイ
ンスタンス
• これにより、システムに多
くの機能が追加されます
13
Orion Context Broker と Cygnus の接続
• Cygnus は、 Orion Context Broker のサブスクリプション通知メカニズム
を利用しています。具体的には、特定のエンティティの属性が変更され
るたびに...
デフォルトのシンク
15
16
基本的な NGSI ライクの Cygnus エージェントのアーキテクチャ
Cygnus エージェント・アーキテクチャは Cygnus Agent の構成になります
(HDFS 永続化の例)
17
Cygnus エージェントの構成
(単純化された HDFS 永続化の例)
基本的な Cygnus エージェント
18
基本的な Cygnus エージェントの構成
19
• Edit /usr/cygnus/conf/agent_<id>.conf
• ソース、チャネル、シンクのリスト:
cygnusagent.sources = http-source
cyg...
基本的な Cygnus エージェントの構成
20
• ソースの構成:
cygnusagent.sources.http-source.channels = hdfs-channel
cygnusagent.sources.http-source...
基本的な Cygnus エージェントの構成
21
• シンクの構成:
cygnusagent.sinks.hdfs-sink.channel = hdfs-channel
cygnusagent.sinks.hdfs-sink.type =
e...
Cygnus の永続性に関する HDFS の詳細
22
• デフォルトでは、各エンティティごとに Cygnus はデータを次の場所に保存
します :
– /user/<your_user>/<service>/<service-path>/<e...
高可用性
• シンプルな構成:
– Flume / Cygnus の HA の実装は、ソフトウェアの2つのインスタ
ンスを実行し、それらとデータソースまたはソースの間にロード
・バランサを配置するのと同じくらい簡単です。
• 既定のメモリチャネ...
Apache zookeeper
24
追加のドキュメント
• readthedocs.org にあるエージェントごとのクイック・スタート・ガイドは、ドキュ
メントの概要をまとめたものです (cygnus-ngsi, cygnus-twitter)
• readthedocs.org...
ラウンド・ロビン・チャネルの選択
26
• パフォーマンスを向上させるために、ストレージごとに
複数のチャネル・シンク・ペアを構成することが可能です
• カスタム ChannelSelector が必要です
https://github.com...
RoundRobinChannelSelector の構成
27
cygnusagent.sources = mysource
cygnusagent.sinks = mysink1 mysink2 mysink3
cygnusagent.ch...
パターンベースのコンテキスト・データのグループ化
28
• デフォルトのデスティネーション (HDFS ファイル, MySQL テーブル, または CKAN リソ
ース)は、連結 (concatenation) として取得されます:
– des...
パターンベースのグループ化のためのマッチング・テーブル
29
• ルールを含む CSV ファイル (‘|’ field separator)
– <id>|<comma-separated_fields>|<regex>|<destinatio...
Kerberos 認証
30
• 認証目的で HDFS を Kerberos で保護することができます
• 設定された HDFS ユーザに登録された Kerberos プリンシパルがあり、この設定が追
加された場合、Cygnus は Kerbe...
Thank you!
http://fiware.org
Follow @FIWARE on Twitter
FIWARE Big Data ecosystem : Cygnus
Joaquin Salvachua
Universidad Politécnica de Madrid
Joaquin.salvachua@upm.es, @jsalvach...
Upcoming SlideShare
Loading in …5
×

FIWARE Big Data Ecosystem : Cygnus

283 views

Published on

FIWARE Cygnus の紹介スライドです。

Published in: Software
  • accessibility Books Library allowing access to top content, including thousands of title from favorite author, plus the ability to read or download a huge selection of books for your pc or smartphone within minutes.........ACCESS WEBSITE Over for All Ebooks ..... (Unlimited) ......................................................................................................................... Download FULL PDF EBOOK here { https://urlzs.com/UABbn } .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • accessibility Books Library allowing access to top content, including thousands of title from favorite author, plus the ability to read or download a huge selection of books for your pc or smartphone within minutes DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://urlzs.com/UABbn } ......................................................................................................................... Download Full EPUB Ebook here { https://urlzs.com/UABbn } ......................................................................................................................... ...................................ALL FOR EBOOKS................................................. Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • If you want to download or read this book, copy link or url below in the New tab ......................................................................................................................... DOWNLOAD FULL PDF EBOOK here { http://bit.ly/2m77EgH } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m77EgH } .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

FIWARE Big Data Ecosystem : Cygnus

  1. 1. FIWARE Big Data ecosystem : Cygnus Joaquin Salvachua Universidad Politécnica de Madrid Joaquin.salvachua@upm.es, @jsalvachua, @FIWARE www.slideshare.net/jsalvachua (Translated into Japanese by Kazuhito Suda k@fisuda.jp)
  2. 2. 1 ビッグ・データ への取り組み: 分散ストレージとコンピューティング
  3. 3. 2 1つの棚で十分でない場合はどうなりますか? より多くの棚を購入します…
  4. 4. 3 …そして、インデックスを作成します
  5. 5. CYGNUS • 何のためですか? – Cygnusは、構成された特定のサード・パーティ製ストレージ内の永続的な Orion コンテキスト・データを管理し、そのようなデータの履歴ビューを作成するコネクタ です。つまり、Orion はエンティティの属性に関する最後の値のみを格納し、古い 値が必要な場合は、Cygnus を使用して値ごとに別のストレージに保持する必要が あります。 • Orion Context Broker からコンテキスト・データをどのように受け取るのですか? – Cygnus は Orion のサブスクリプション/通知機能を使用します。 Cygnus に代わっ て Orion でサブスクリプションが行われ、これらのエンティティ属性のいずれかで 更新が発生したときに通知を受けたいエンティティが詳述されています。 4
  6. 6. FIWARE アーキテクチャ 5
  7. 7. 6 リアルタイムの最終値の コンテキスト・データ 履歴コンテキスト・データ
  8. 8. Cygnus • Cygnus は、構成された特定のサード・パーティ製ストレージ内の特定 のデータソースを永続化し、そのようなデータの履歴ビューを作成する ことを担当するコネクタです • 内部的には、Cygnus は、データ収集と永続性エージェントの Apache Flume に基づいています – エージェントは基本的に、データを受信するリスナまたはソース、データが Flume イベントに変換された後にソースがデータを格納するチャネル、および その本体内のデータをサード・パーティ製ストレージに保存するためにチャネ ルから Flume イベントを取得するシンクから構成されます 7
  9. 9. Cygnus アーキテクチャ • Cygnus は Flume エージェントを実行します。 したがって、Cygnus エー ジェントのアーキテクチャは、Flume エージェントのアーキテクチャです 8
  10. 10. データ・シンク (Data Sinks) • NGSI ライクの コンテキスト・データ : – HDFS, Hadoop 分散ファイルシステム – MySQL, よく知られているリレーショナルデータベースマネージャ – CKAN, オープンデータ・プラットフォーム – MongoDB, NoSQL ドキュメント指向データベース – STH Comet, MongoDB の上に構築された短期履歴データベース – Kafka,パブリック・サブスクライブ型メッセージブローカー – DynamoDB, Amazon Web Servicesサービスによるクラウドベースの NoSQL データベース – PostgreSQL, よく知られているリレーショナルデータベースマネージャー – Carto, ジオ・ロケーション・データに特化したデータベース • Twitter データ: – HDFS, Hadoop 分散ファイルシステム 9
  11. 11. Cygnus イベント • ソースは特定のフォーマットのイベントを消費し、それらのイベントは Web サ ーバのような外部ソースによってソースに配信されます。 たとえば、 AvroSource を使用して、クライアントまたはフロー内の他の Flume エージェ ントから Avro イベントを受け取ることができます。ソースがイベントを受信す ると、ソースは1つまたは複数のチャネルにそれを格納します。チャネルは、 そのイベントがシンクによって消費されるまでイベントを保持するパッシブ・ ストアです。Flume で使用できる Channel の1つのタイプは、ローカル・ファイ ル・システムをバッキング・ストアとして使用するファイル・チャネルです。シ ンクは、チャンネルからイベントを削除し、HDFSEventSink の場合、HDFS のよ うな外部リポジトリに入れるか、フローの次のホップでソースに転送する役 割を担います。 指定されたエージェント内のソースおよびシンクは、チャネ ルでステージングされたイベントと非同期に実行されます 10
  12. 12. Cygnus 設定例 • https://github.com/telefonicaid/fiware- cygnus/blob/master/doc/cygnus- ngsi/installation_and_administration_guide/confi guration_examples.md 11
  13. 13. 複数の永続性バックエンド 12
  14. 14. 複数のエージェント • エージェントごとに1つのイ ンスタンス • これにより、システムに多 くの機能が追加されます 13
  15. 15. Orion Context Broker と Cygnus の接続 • Cygnus は、 Orion Context Broker のサブスクリプション通知メカニズム を利用しています。具体的には、特定のエンティティの属性が変更され るたびに通知を受ける必要があります。そのために、Cygnus はエンテ ィティの属性変更をサブスクライブする必要があります。 14
  16. 16. デフォルトのシンク 15
  17. 17. 16 基本的な NGSI ライクの Cygnus エージェントのアーキテクチャ Cygnus エージェント・アーキテクチャは Cygnus Agent の構成になります (HDFS 永続化の例)
  18. 18. 17 Cygnus エージェントの構成 (単純化された HDFS 永続化の例)
  19. 19. 基本的な Cygnus エージェント 18
  20. 20. 基本的な Cygnus エージェントの構成 19 • Edit /usr/cygnus/conf/agent_<id>.conf • ソース、チャネル、シンクのリスト: cygnusagent.sources = http-source cygnusagent.sinks = hdfs-sink cygnusagent.channels = hdfs-channel • チャネルの構成 cygnusagent.channels.hdfs-channel.type = memory cygnusagent.channels.hdfs-channel.capacity = 1000 cygnusagent.channels.hdfs-channel. transactionCapacity = 100
  21. 21. 基本的な Cygnus エージェントの構成 20 • ソースの構成: cygnusagent.sources.http-source.channels = hdfs-channel cygnusagent.sources.http-source.type = org.apache.flume.source.http.HTTPSource cygnusagent.sources.http-source.port = 5050 cygnusagent.sources.http-source.handler = es.tid.fiware.fiwareconnectors.cygnus.handlers.OrionRestHandler cygnusagent.sources.http-source.handler.notification_target = /notify cygnusagent.sources.http-source.handler.default_service = def_serv cygnusagent.sources.http-source.handler.default_service_path = def_servpath cygnusagent.sources.http-source.handler.events_ttl = 10 cygnusagent.sources.http-source.interceptors = ts de cygnusagent.sources.http-source.interceptors.ts.type = timestamp cygnusagent.sources.http-source.interceptors.de.type = es.tid.fiware.fiwareconnectors.cygnus.interceptors.DestinationEx tractor$Builder cygnusagent.sources.http-source.interceptors.de.matching_table = /usr/cygnus/conf/matching_table.conf
  22. 22. 基本的な Cygnus エージェントの構成 21 • シンクの構成: cygnusagent.sinks.hdfs-sink.channel = hdfs-channel cygnusagent.sinks.hdfs-sink.type = es.tid.fiware.fiwareconnectors.cygnus.sinks.OrionHDFSSink cygnusagent.sinks.hdfs-sink.cosmos_host = cosmos.lab.fi- ware.org cygnusagent.sinks.hdfs-sink.cosmos_port = 14000 cygnusagent.sinks.hdfs-sink.cosmos_default_username = cosmos_username cygnusagent.sinks.hdfs-sink.cosmos_default_password = xxxxxxxxxxxxx cygnusagent.sinks.hdfs-sink.hdfs_api = httpfs cygnusagent.sinks.hdfs-sink.attr_persistence = column cygnusagent.sinks.hdfs-sink.hive_host = cosmos.lab.fi- ware.org cygnusagent.sinks.hdfs-sink.hive_port = 10000 cygnusagent.sinks.hdfs-sink.krb5_auth = false
  23. 23. Cygnus の永続性に関する HDFS の詳細 22 • デフォルトでは、各エンティティごとに Cygnus はデータを次の場所に保存 します : – /user/<your_user>/<service>/<service-path>/<entity-id>-<entity-type>/<entity-id>- <entity-type>.txt • 各HDFSファイル内で、データ形式は json-row または json-column です : – json-row { "recvTimeTs":"13453464536”, "recvTime":"2014-02-27T14:46:21”, "entityId":"Room1”, "entityType":"Room”, "attrName":"temperature”, "attrType":"centigrade”, “attrValue":"26.5”, "attrMd":[ … ] } – json-column { "recvTime":"2014-02-27T14:46:21”, "temperature":"26.5”, "temperature_md":[ … ], “pressure”:”90”, “pressure_md”:[ … ] }
  24. 24. 高可用性 • シンプルな構成: – Flume / Cygnus の HA の実装は、ソフトウェアの2つのインスタ ンスを実行し、それらとデータソースまたはソースの間にロード ・バランサを配置するのと同じくらい簡単です。 • 既定のメモリチャネル(追加の永続性)の代わりに ファイル・チャネルを使用します。. • 高度な構成: – Zookeeper と構成する Flume • https://github.com/telefonicaid/fiware-cygnus/blob/master/doc/cygnus-ngsi/installation_and_administration_guide/reliability.md 23
  25. 25. Apache zookeeper 24
  26. 26. 追加のドキュメント • readthedocs.org にあるエージェントごとのクイック・スタート・ガイドは、ドキュ メントの概要をまとめたものです (cygnus-ngsi, cygnus-twitter) • readthedocs.org にある各エージェントのインストール&管理ガイドとユーザ& プログラマー・ガイドの両方が、より高度なトピックをカバーしています • エージェントごとの Flume Extensions Catalog は、Cygnus の利用可能なドキ ュメントを完全なものにします (cygnus-ngsi, cygnus-twitter). • その他の興味深いリンクは : • Cygnus の API メソッドを使用する方法を知りたい場合は、 Apiary Documentation を参照してください。. • cygnus-ngsi インテグレーションの例 • FIWARE Academy の cygnus-ngsi 入門コース 25
  27. 27. ラウンド・ロビン・チャネルの選択 26 • パフォーマンスを向上させるために、ストレージごとに 複数のチャネル・シンク・ペアを構成することが可能です • カスタム ChannelSelector が必要です https://github.com/telefonicaid/fiware- connectors/blob/master/flume/doc/operation/performance_tuning_ tips.md
  28. 28. RoundRobinChannelSelector の構成 27 cygnusagent.sources = mysource cygnusagent.sinks = mysink1 mysink2 mysink3 cygnusagent.channels = mychannel1 mychannel2 mychannel3 cygnusagent.sources.mysource.type = ... cygnusagent.sources.mysource.channels = mychannel1 mychannel2 mychannel3 cygnusagent.sources.mysource.selector.type = es.tid.fiware.fiwareconnectors.cygnus.channelselectors. RoundRobinChannelSelector cygnusagent.sources.mysource.selector.storages = N cygnusagent.sources.mysource.selector.storages.storage1 = <subset_of_cygnusagent.sources.mysource.channels> ... cygnusagent.sources.mysource.selector.storages.storageN = <subset_of_cygnusagent.sources.mysource.channels>
  29. 29. パターンベースのコンテキスト・データのグループ化 28 • デフォルトのデスティネーション (HDFS ファイル, MySQL テーブル, または CKAN リソ ース)は、連結 (concatenation) として取得されます: – destination=<entity_id>-<entityType> • Flumeインターセプタとして実装されたこの正規表現ベースの機能のおかげで、 さまざまコンテキスト・データをグループ化することが可能です。 : cygnusagent.sources.http-source.interceptors = ts de cygnusagent.sources.http-source.interceptors.ts.type = timestamp cygnusagent.sources.http-source.interceptors.de.type = es.tid.fiware.fiwareconnectors.cygnus.interceptors.DestinationExtract or$Builder cygnusagent.sources.http-source.interceptors.de.matching_table = /usr/cygnus/conf/matching_table.conf
  30. 30. パターンベースのグループ化のためのマッチング・テーブル 29 • ルールを含む CSV ファイル (‘|’ field separator) – <id>|<comma-separated_fields>|<regex>|<destination>|<destination_dataset> • たとえば : 1|entityId,entityType|Room.(d*)Room|numeric_rooms|rooms 2|entityId,entityType|Room.(D*)Room|character_rooms|rooms 3|entityType,entityId|RoomRoom.(D*)|character_rooms|rooms 4|entityType|Room|other_roorms|rooms • https://github.com/telefonicaid/fiware- connectors/blob/master/flume/doc/design/interceptors.md#destinationextractor-interceptor
  31. 31. Kerberos 認証 30 • 認証目的で HDFS を Kerberos で保護することができます • 設定された HDFS ユーザに登録された Kerberos プリンシパルがあり、この設定が追 加された場合、Cygnus は Kerberos 化された HDFS 上で永続化することができます: cygnusagent.sinks.hdfs-sink.krb5_auth = true cygnusagent.sinks.hdfs-sink.krb5_auth.krb5_user = krb5_username cygnusagent.sinks.hdfs-sink.krb5_auth.krb5_password = xxxxxxxxxxxx cygnusagent.sinks.hdfs-sink.krb5_auth.krb5_login_file = /usr/cygnus/conf/krb5_login.conf cygnusagent.sinks.hdfs-sink.krb5_auth.krb5_conf_file = /usr/cygnus/conf/krb5.conf • https://github.com/telefonicaid/fiware- connectors/blob/master/flume/doc/operation/hdfs_kerberos_authen tication.md
  32. 32. Thank you! http://fiware.org Follow @FIWARE on Twitter
  33. 33. FIWARE Big Data ecosystem : Cygnus Joaquin Salvachua Universidad Politécnica de Madrid Joaquin.salvachua@upm.es, @jsalvachua, @FIWARE www.slideshare.net/jsalvachua

×