SlideShare une entreprise Scribd logo
1  sur  33
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)
1
ビッグ・データ への取り組み:
分散ストレージとコンピューティング
2
1つの棚で十分でない場合はどうなりますか?
より多くの棚を購入します…
3
…そして、インデックスを作成します
CYGNUS
• 何のためですか?
– Cygnusは、構成された特定のサード・パーティ製ストレージ内の永続的な Orion
コンテキスト・データを管理し、そのようなデータの履歴ビューを作成するコネクタ
です。つまり、Orion はエンティティの属性に関する最後の値のみを格納し、古い
値が必要な場合は、Cygnus を使用して値ごとに別のストレージに保持する必要が
あります。
• Orion Context Broker からコンテキスト・データをどのように受け取るのですか?
– Cygnus は Orion のサブスクリプション/通知機能を使用します。 Cygnus に代わっ
て Orion でサブスクリプションが行われ、これらのエンティティ属性のいずれかで
更新が発生したときに通知を受けたいエンティティが詳述されています。
4
FIWARE アーキテクチャ
5
6
リアルタイムの最終値の
コンテキスト・データ
履歴コンテキスト・データ
Cygnus
• Cygnus は、構成された特定のサード・パーティ製ストレージ内の特定
のデータソースを永続化し、そのようなデータの履歴ビューを作成する
ことを担当するコネクタです
• 内部的には、Cygnus は、データ収集と永続性エージェントの
Apache Flume に基づいています
– エージェントは基本的に、データを受信するリスナまたはソース、データが
Flume イベントに変換された後にソースがデータを格納するチャネル、および
その本体内のデータをサード・パーティ製ストレージに保存するためにチャネ
ルから Flume イベントを取得するシンクから構成されます
7
Cygnus アーキテクチャ
• Cygnus は Flume エージェントを実行します。 したがって、Cygnus エー
ジェントのアーキテクチャは、Flume エージェントのアーキテクチャです
8
データ・シンク (Data Sinks)
• NGSI ライクの コンテキスト・データ :
– HDFS, Hadoop 分散ファイルシステム
– MySQL, よく知られているリレーショナルデータベースマネージャ
– CKAN, オープンデータ・プラットフォーム
– MongoDB, NoSQL ドキュメント指向データベース
– STH Comet, MongoDB の上に構築された短期履歴データベース
– Kafka,パブリック・サブスクライブ型メッセージブローカー
– DynamoDB, Amazon Web Servicesサービスによるクラウドベースの NoSQL データベース
– PostgreSQL, よく知られているリレーショナルデータベースマネージャー
– Carto, ジオ・ロケーション・データに特化したデータベース
• Twitter データ:
– HDFS, Hadoop 分散ファイルシステム
9
Cygnus イベント
• ソースは特定のフォーマットのイベントを消費し、それらのイベントは Web サ
ーバのような外部ソースによってソースに配信されます。 たとえば、
AvroSource を使用して、クライアントまたはフロー内の他の Flume エージェ
ントから Avro イベントを受け取ることができます。ソースがイベントを受信す
ると、ソースは1つまたは複数のチャネルにそれを格納します。チャネルは、
そのイベントがシンクによって消費されるまでイベントを保持するパッシブ・
ストアです。Flume で使用できる Channel の1つのタイプは、ローカル・ファイ
ル・システムをバッキング・ストアとして使用するファイル・チャネルです。シ
ンクは、チャンネルからイベントを削除し、HDFSEventSink の場合、HDFS のよ
うな外部リポジトリに入れるか、フローの次のホップでソースに転送する役
割を担います。 指定されたエージェント内のソースおよびシンクは、チャネ
ルでステージングされたイベントと非同期に実行されます
10
Cygnus 設定例
• https://github.com/telefonicaid/fiware-
cygnus/blob/master/doc/cygnus-
ngsi/installation_and_administration_guide/confi
guration_examples.md
11
複数の永続性バックエンド
12
複数のエージェント
• エージェントごとに1つのイ
ンスタンス
• これにより、システムに多
くの機能が追加されます
13
Orion Context Broker と Cygnus の接続
• Cygnus は、 Orion Context Broker のサブスクリプション通知メカニズム
を利用しています。具体的には、特定のエンティティの属性が変更され
るたびに通知を受ける必要があります。そのために、Cygnus はエンテ
ィティの属性変更をサブスクライブする必要があります。
14
デフォルトのシンク
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
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
基本的な 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
基本的な 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
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”:[
…
]
}
高可用性
• シンプルな構成:
– Flume / Cygnus の HA の実装は、ソフトウェアの2つのインスタ
ンスを実行し、それらとデータソースまたはソースの間にロード
・バランサを配置するのと同じくらい簡単です。
• 既定のメモリチャネル(追加の永続性)の代わりに
ファイル・チャネルを使用します。.
• 高度な構成:
– Zookeeper と構成する Flume
• https://github.com/telefonicaid/fiware-cygnus/blob/master/doc/cygnus-ngsi/installation_and_administration_guide/reliability.md
23
Apache zookeeper
24
追加のドキュメント
• 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
ラウンド・ロビン・チャネルの選択
26
• パフォーマンスを向上させるために、ストレージごとに
複数のチャネル・シンク・ペアを構成することが可能です
• カスタム ChannelSelector が必要です
https://github.com/telefonicaid/fiware-
connectors/blob/master/flume/doc/operation/performance_tuning_
tips.md
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>
パターンベースのコンテキスト・データのグループ化
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
パターンベースのグループ化のためのマッチング・テーブル
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
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
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, @jsalvachua, @FIWARE
www.slideshare.net/jsalvachua

Contenu connexe

Tendances

IoT Agents とは? - FIWARE WednesdayWebinars
IoT Agents とは? - FIWARE WednesdayWebinarsIoT Agents とは? - FIWARE WednesdayWebinars
IoT Agents とは? - FIWARE WednesdayWebinarsfisuda
 
FIWARE IoTデバイスを保護する方法
FIWARE IoTデバイスを保護する方法FIWARE IoTデバイスを保護する方法
FIWARE IoTデバイスを保護する方法fisuda
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.9.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.9.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.9.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.9.0対応)fisuda
 
FIWARE アーキテクチャの保護 - FIWARE WednesdayWebinars
FIWARE アーキテクチャの保護 - FIWARE WednesdayWebinarsFIWARE アーキテクチャの保護 - FIWARE WednesdayWebinars
FIWARE アーキテクチャの保護 - FIWARE WednesdayWebinarsfisuda
 
FIWARE勉強会 20190913
FIWARE勉強会 20190913FIWARE勉強会 20190913
FIWARE勉強会 20190913Nobuyuki Matsui
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.6.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.6.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.6.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.6.0対応)fisuda
 
FIWARE - スマートサービスを支えるオープンソース
FIWARE - スマートサービスを支えるオープンソースFIWARE - スマートサービスを支えるオープンソース
FIWARE - スマートサービスを支えるオープンソースfisuda
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.4.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.4.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.4.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.4.0対応)fisuda
 
FIWARE Real-Time Media Stream processing using Kurento
FIWARE Real-Time Media Stream processing using KurentoFIWARE Real-Time Media Stream processing using Kurento
FIWARE Real-Time Media Stream processing using Kurentofisuda
 
ここがつらいよ、Hyperledger Fabricの商用適用(Blockchain GIG #4発表資料)
ここがつらいよ、Hyperledger Fabricの商用適用(Blockchain GIG #4発表資料) ここがつらいよ、Hyperledger Fabricの商用適用(Blockchain GIG #4発表資料)
ここがつらいよ、Hyperledger Fabricの商用適用(Blockchain GIG #4発表資料) NTT DATA Technology & Innovation
 
NGSI によるデータ・モデリング - FIWARE WednesdayWebinars
NGSI によるデータ・モデリング - FIWARE WednesdayWebinarsNGSI によるデータ・モデリング - FIWARE WednesdayWebinars
NGSI によるデータ・モデリング - FIWARE WednesdayWebinarsfisuda
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Kohei Tokunaga
 
Connecting LoRa with FIWARE
Connecting LoRa with FIWAREConnecting LoRa with FIWARE
Connecting LoRa with FIWAREfisuda
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 1.14.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 1.14.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 1.14.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 1.14.0対応)fisuda
 
OpenStreetMap+MongoDBで地図情報を検索してみたい!
OpenStreetMap+MongoDBで地図情報を検索してみたい!OpenStreetMap+MongoDBで地図情報を検索してみたい!
OpenStreetMap+MongoDBで地図情報を検索してみたい!Naruhiko Ogasawara
 
FIWARE Overview and description of GEs
FIWARE Overview and description of GEsFIWARE Overview and description of GEs
FIWARE Overview and description of GEsfisuda
 
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)NTT DATA Technology & Innovation
 
OpenStack上の環境構築自動化に向けたTerraform/Pulumiの活用
OpenStack上の環境構築自動化に向けたTerraform/Pulumiの活用OpenStack上の環境構築自動化に向けたTerraform/Pulumiの活用
OpenStack上の環境構築自動化に向けたTerraform/Pulumiの活用Keiichi Hikita
 

Tendances (20)

IoT Agents とは? - FIWARE WednesdayWebinars
IoT Agents とは? - FIWARE WednesdayWebinarsIoT Agents とは? - FIWARE WednesdayWebinars
IoT Agents とは? - FIWARE WednesdayWebinars
 
FIWARE IoTデバイスを保護する方法
FIWARE IoTデバイスを保護する方法FIWARE IoTデバイスを保護する方法
FIWARE IoTデバイスを保護する方法
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.9.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.9.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.9.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.9.0対応)
 
FIWARE アーキテクチャの保護 - FIWARE WednesdayWebinars
FIWARE アーキテクチャの保護 - FIWARE WednesdayWebinarsFIWARE アーキテクチャの保護 - FIWARE WednesdayWebinars
FIWARE アーキテクチャの保護 - FIWARE WednesdayWebinars
 
噛み砕いてKafka Streams #kafkajp
噛み砕いてKafka Streams #kafkajp噛み砕いてKafka Streams #kafkajp
噛み砕いてKafka Streams #kafkajp
 
FIWARE勉強会 20190913
FIWARE勉強会 20190913FIWARE勉強会 20190913
FIWARE勉強会 20190913
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.6.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.6.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.6.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.6.0対応)
 
FIWARE - スマートサービスを支えるオープンソース
FIWARE - スマートサービスを支えるオープンソースFIWARE - スマートサービスを支えるオープンソース
FIWARE - スマートサービスを支えるオープンソース
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.4.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.4.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.4.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.4.0対応)
 
FIWARE Real-Time Media Stream processing using Kurento
FIWARE Real-Time Media Stream processing using KurentoFIWARE Real-Time Media Stream processing using Kurento
FIWARE Real-Time Media Stream processing using Kurento
 
ここがつらいよ、Hyperledger Fabricの商用適用(Blockchain GIG #4発表資料)
ここがつらいよ、Hyperledger Fabricの商用適用(Blockchain GIG #4発表資料) ここがつらいよ、Hyperledger Fabricの商用適用(Blockchain GIG #4発表資料)
ここがつらいよ、Hyperledger Fabricの商用適用(Blockchain GIG #4発表資料)
 
NGSI によるデータ・モデリング - FIWARE WednesdayWebinars
NGSI によるデータ・モデリング - FIWARE WednesdayWebinarsNGSI によるデータ・モデリング - FIWARE WednesdayWebinars
NGSI によるデータ・モデリング - FIWARE WednesdayWebinars
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
 
Connecting LoRa with FIWARE
Connecting LoRa with FIWAREConnecting LoRa with FIWARE
Connecting LoRa with FIWARE
 
KeycloakでAPI認可に入門する
KeycloakでAPI認可に入門するKeycloakでAPI認可に入門する
KeycloakでAPI認可に入門する
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 1.14.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 1.14.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 1.14.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 1.14.0対応)
 
OpenStreetMap+MongoDBで地図情報を検索してみたい!
OpenStreetMap+MongoDBで地図情報を検索してみたい!OpenStreetMap+MongoDBで地図情報を検索してみたい!
OpenStreetMap+MongoDBで地図情報を検索してみたい!
 
FIWARE Overview and description of GEs
FIWARE Overview and description of GEsFIWARE Overview and description of GEs
FIWARE Overview and description of GEs
 
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
 
OpenStack上の環境構築自動化に向けたTerraform/Pulumiの活用
OpenStack上の環境構築自動化に向けたTerraform/Pulumiの活用OpenStack上の環境構築自動化に向けたTerraform/Pulumiの活用
OpenStack上の環境構築自動化に向けたTerraform/Pulumiの活用
 

Similaire à FIWARE Big Data Ecosystem : Cygnus

CloudStack Ecosystem Day - OpenStack/Swift
CloudStack Ecosystem Day - OpenStack/SwiftCloudStack Ecosystem Day - OpenStack/Swift
CloudStack Ecosystem Day - OpenStack/Swiftirix_jp
 
AWSでセキュリティを高める!
AWSでセキュリティを高める!AWSでセキュリティを高める!
AWSでセキュリティを高める!Serverworks Co.,Ltd.
 
OSC2012 Nagoya - OpenStack - Storage System; Overview
OSC2012 Nagoya - OpenStack - Storage System; OverviewOSC2012 Nagoya - OpenStack - Storage System; Overview
OSC2012 Nagoya - OpenStack - Storage System; Overviewirix_jp
 
Jjug springセッション
Jjug springセッションJjug springセッション
Jjug springセッションYuichi Hasegawa
 
Rancher kubernetes storages
Rancher kubernetes storagesRancher kubernetes storages
Rancher kubernetes storagesTetsurou Yano
 
AWSでアプリ開発するなら 知っておくべこと
AWSでアプリ開発するなら 知っておくべことAWSでアプリ開発するなら 知っておくべこと
AWSでアプリ開発するなら 知っておくべことKeisuke Nishitani
 
エンターテイメント業界におけるAWS活用事例
エンターテイメント業界におけるAWS活用事例エンターテイメント業界におけるAWS活用事例
エンターテイメント業界におけるAWS活用事例Amazon Web Services Japan
 
Re invent 2017 データベースサービス総復習!
Re invent 2017 データベースサービス総復習!Re invent 2017 データベースサービス総復習!
Re invent 2017 データベースサービス総復習!Satoru Ishikawa
 
TECH TALK 2021/08/31 Qlik Sense Extension開発 第2弾 - プログラミング可能な汎用エクステンションのご紹介
TECH TALK 2021/08/31 Qlik Sense Extension開発 第2弾 - プログラミング可能な汎用エクステンションのご紹介TECH TALK 2021/08/31 Qlik Sense Extension開発 第2弾 - プログラミング可能な汎用エクステンションのご紹介
TECH TALK 2021/08/31 Qlik Sense Extension開発 第2弾 - プログラミング可能な汎用エクステンションのご紹介QlikPresalesJapan
 
AWS Black Belt Techシリーズ AWS Elastic Beanstalk
AWS Black Belt Techシリーズ  AWS  Elastic  BeanstalkAWS Black Belt Techシリーズ  AWS  Elastic  Beanstalk
AWS Black Belt Techシリーズ AWS Elastic BeanstalkAmazon Web Services Japan
 
20200414 Advanced Features in Amazon Elasticsearch Service
20200414 Advanced Features in Amazon Elasticsearch Service20200414 Advanced Features in Amazon Elasticsearch Service
20200414 Advanced Features in Amazon Elasticsearch ServiceAmazon Web Services Japan
 
20181004 cndjp vitess
20181004 cndjp vitess20181004 cndjp vitess
20181004 cndjp vitessKoto Shigeru
 
10分で押さえる AWS re:Invent 2014 新サービス・アップデート
10分で押さえる AWS re:Invent 2014 新サービス・アップデート10分で押さえる AWS re:Invent 2014 新サービス・アップデート
10分で押さえる AWS re:Invent 2014 新サービス・アップデート真吾 吉田
 
Log analysis by using elasticsearch,kibana and fluentd.
Log analysis by using elasticsearch,kibana and fluentd.Log analysis by using elasticsearch,kibana and fluentd.
Log analysis by using elasticsearch,kibana and fluentd.Tadayasu Yotsu
 
Aws summits2014 エンタープライズ向けawscdpネットワーク編
Aws summits2014 エンタープライズ向けawscdpネットワーク編Aws summits2014 エンタープライズ向けawscdpネットワーク編
Aws summits2014 エンタープライズ向けawscdpネットワーク編Boss4434
 
Dockerクイックツアー
DockerクイックツアーDockerクイックツアー
DockerクイックツアーEtsuji Nakai
 
SolrCloud on Amazon ECS
SolrCloud on Amazon ECSSolrCloud on Amazon ECS
SolrCloud on Amazon ECSEiji Shinohara
 

Similaire à FIWARE Big Data Ecosystem : Cygnus (20)

CloudStack Ecosystem Day - OpenStack/Swift
CloudStack Ecosystem Day - OpenStack/SwiftCloudStack Ecosystem Day - OpenStack/Swift
CloudStack Ecosystem Day - OpenStack/Swift
 
AWSでセキュリティを高める!
AWSでセキュリティを高める!AWSでセキュリティを高める!
AWSでセキュリティを高める!
 
OSC2012 Nagoya - OpenStack - Storage System; Overview
OSC2012 Nagoya - OpenStack - Storage System; OverviewOSC2012 Nagoya - OpenStack - Storage System; Overview
OSC2012 Nagoya - OpenStack - Storage System; Overview
 
Jjug springセッション
Jjug springセッションJjug springセッション
Jjug springセッション
 
Rancher kubernetes storages
Rancher kubernetes storagesRancher kubernetes storages
Rancher kubernetes storages
 
AWSでアプリ開発するなら 知っておくべこと
AWSでアプリ開発するなら 知っておくべことAWSでアプリ開発するなら 知っておくべこと
AWSでアプリ開発するなら 知っておくべこと
 
エンターテイメント業界におけるAWS活用事例
エンターテイメント業界におけるAWS活用事例エンターテイメント業界におけるAWS活用事例
エンターテイメント業界におけるAWS活用事例
 
Re invent 2017 データベースサービス総復習!
Re invent 2017 データベースサービス総復習!Re invent 2017 データベースサービス総復習!
Re invent 2017 データベースサービス総復習!
 
TECH TALK 2021/08/31 Qlik Sense Extension開発 第2弾 - プログラミング可能な汎用エクステンションのご紹介
TECH TALK 2021/08/31 Qlik Sense Extension開発 第2弾 - プログラミング可能な汎用エクステンションのご紹介TECH TALK 2021/08/31 Qlik Sense Extension開発 第2弾 - プログラミング可能な汎用エクステンションのご紹介
TECH TALK 2021/08/31 Qlik Sense Extension開発 第2弾 - プログラミング可能な汎用エクステンションのご紹介
 
AWS Black Belt Techシリーズ AWS Elastic Beanstalk
AWS Black Belt Techシリーズ  AWS  Elastic  BeanstalkAWS Black Belt Techシリーズ  AWS  Elastic  Beanstalk
AWS Black Belt Techシリーズ AWS Elastic Beanstalk
 
Couchbase 101 ja
Couchbase 101 jaCouchbase 101 ja
Couchbase 101 ja
 
20200414 Advanced Features in Amazon Elasticsearch Service
20200414 Advanced Features in Amazon Elasticsearch Service20200414 Advanced Features in Amazon Elasticsearch Service
20200414 Advanced Features in Amazon Elasticsearch Service
 
20181004 cndjp vitess
20181004 cndjp vitess20181004 cndjp vitess
20181004 cndjp vitess
 
10分で押さえる AWS re:Invent 2014 新サービス・アップデート
10分で押さえる AWS re:Invent 2014 新サービス・アップデート10分で押さえる AWS re:Invent 2014 新サービス・アップデート
10分で押さえる AWS re:Invent 2014 新サービス・アップデート
 
Log analysis by using elasticsearch,kibana and fluentd.
Log analysis by using elasticsearch,kibana and fluentd.Log analysis by using elasticsearch,kibana and fluentd.
Log analysis by using elasticsearch,kibana and fluentd.
 
Aws summits2014 エンタープライズ向けawscdpネットワーク編
Aws summits2014 エンタープライズ向けawscdpネットワーク編Aws summits2014 エンタープライズ向けawscdpネットワーク編
Aws summits2014 エンタープライズ向けawscdpネットワーク編
 
OpenStack概要
OpenStack概要OpenStack概要
OpenStack概要
 
Dockerクイックツアー
DockerクイックツアーDockerクイックツアー
Dockerクイックツアー
 
SolrCloud on Amazon ECS
SolrCloud on Amazon ECSSolrCloud on Amazon ECS
SolrCloud on Amazon ECS
 
20170413 aws–windows users meetup
20170413 aws–windows users meetup20170413 aws–windows users meetup
20170413 aws–windows users meetup
 

Plus de fisuda

FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.12.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.12.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.12.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.12.0対応)fisuda
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.11.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.11.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.11.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.11.0対応)fisuda
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.10.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.10.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.10.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.10.0対応)fisuda
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.8.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.8.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.8.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.8.0対応)fisuda
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.7.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.7.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.7.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.7.0対応)fisuda
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.6.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.6.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.6.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.6.0対応)fisuda
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.5.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.5.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.5.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.5.0対応)fisuda
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.4.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.4.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.4.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.4.0対応)fisuda
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.3.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.3.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.3.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.3.0対応)fisuda
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.3.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.3.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.3.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.3.0対応)fisuda
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.2.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.2.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.2.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.2.0対応)fisuda
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.2.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.2.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.2.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.2.0対応)fisuda
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.1.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.1.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.1.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.1.0対応)fisuda
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.1.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.1.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.1.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.1.0対応)fisuda
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.0.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.0.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.0.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.0.0対応)fisuda
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.0.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.0.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.0.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.0.0対応)fisuda
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.6.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.6.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.6.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.6.0対応)fisuda
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 2.6.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 2.6.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 2.6.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 2.6.0対応)fisuda
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.5.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.5.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.5.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.5.0対応)fisuda
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 2.5.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 2.5.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 2.5.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 2.5.0対応)fisuda
 

Plus de fisuda (20)

FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.12.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.12.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.12.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.12.0対応)
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.11.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.11.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.11.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.11.0対応)
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.10.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.10.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.10.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.10.0対応)
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.8.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.8.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.8.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.8.0対応)
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.7.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.7.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.7.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.7.0対応)
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.6.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.6.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.6.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.6.0対応)
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.5.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.5.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.5.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.5.0対応)
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.4.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.4.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.4.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.4.0対応)
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.3.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.3.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.3.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.3.0対応)
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.3.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.3.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.3.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.3.0対応)
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.2.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.2.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.2.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.2.0対応)
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.2.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.2.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.2.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.2.0対応)
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.1.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.1.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.1.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.1.0対応)
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.1.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.1.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.1.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.1.0対応)
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.0.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.0.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.0.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.0.0対応)
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.0.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.0.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.0.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.0.0対応)
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.6.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.6.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.6.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.6.0対応)
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 2.6.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 2.6.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 2.6.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 2.6.0対応)
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.5.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.5.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.5.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.5.0対応)
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 2.5.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 2.5.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 2.5.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 2.5.0対応)
 

FIWARE Big Data Ecosystem : Cygnus

  • 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)
  • 5. CYGNUS • 何のためですか? – Cygnusは、構成された特定のサード・パーティ製ストレージ内の永続的な Orion コンテキスト・データを管理し、そのようなデータの履歴ビューを作成するコネクタ です。つまり、Orion はエンティティの属性に関する最後の値のみを格納し、古い 値が必要な場合は、Cygnus を使用して値ごとに別のストレージに保持する必要が あります。 • Orion Context Broker からコンテキスト・データをどのように受け取るのですか? – Cygnus は Orion のサブスクリプション/通知機能を使用します。 Cygnus に代わっ て Orion でサブスクリプションが行われ、これらのエンティティ属性のいずれかで 更新が発生したときに通知を受けたいエンティティが詳述されています。 4
  • 8. Cygnus • Cygnus は、構成された特定のサード・パーティ製ストレージ内の特定 のデータソースを永続化し、そのようなデータの履歴ビューを作成する ことを担当するコネクタです • 内部的には、Cygnus は、データ収集と永続性エージェントの Apache Flume に基づいています – エージェントは基本的に、データを受信するリスナまたはソース、データが Flume イベントに変換された後にソースがデータを格納するチャネル、および その本体内のデータをサード・パーティ製ストレージに保存するためにチャネ ルから Flume イベントを取得するシンクから構成されます 7
  • 9. Cygnus アーキテクチャ • Cygnus は Flume エージェントを実行します。 したがって、Cygnus エー ジェントのアーキテクチャは、Flume エージェントのアーキテクチャです 8
  • 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. Cygnus イベント • ソースは特定のフォーマットのイベントを消費し、それらのイベントは Web サ ーバのような外部ソースによってソースに配信されます。 たとえば、 AvroSource を使用して、クライアントまたはフロー内の他の Flume エージェ ントから Avro イベントを受け取ることができます。ソースがイベントを受信す ると、ソースは1つまたは複数のチャネルにそれを格納します。チャネルは、 そのイベントがシンクによって消費されるまでイベントを保持するパッシブ・ ストアです。Flume で使用できる Channel の1つのタイプは、ローカル・ファイ ル・システムをバッキング・ストアとして使用するファイル・チャネルです。シ ンクは、チャンネルからイベントを削除し、HDFSEventSink の場合、HDFS のよ うな外部リポジトリに入れるか、フローの次のホップでソースに転送する役 割を担います。 指定されたエージェント内のソースおよびシンクは、チャネ ルでステージングされたイベントと非同期に実行されます 10
  • 15. Orion Context Broker と Cygnus の接続 • Cygnus は、 Orion Context Broker のサブスクリプション通知メカニズム を利用しています。具体的には、特定のエンティティの属性が変更され るたびに通知を受ける必要があります。そのために、Cygnus はエンテ ィティの属性変更をサブスクライブする必要があります。 14
  • 17. 16 基本的な NGSI ライクの Cygnus エージェントのアーキテクチャ Cygnus エージェント・アーキテクチャは Cygnus Agent の構成になります (HDFS 永続化の例)
  • 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. 基本的な 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. 基本的な 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. 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. 高可用性 • シンプルな構成: – Flume / Cygnus の HA の実装は、ソフトウェアの2つのインスタ ンスを実行し、それらとデータソースまたはソースの間にロード ・バランサを配置するのと同じくらい簡単です。 • 既定のメモリチャネル(追加の永続性)の代わりに ファイル・チャネルを使用します。. • 高度な構成: – Zookeeper と構成する Flume • https://github.com/telefonicaid/fiware-cygnus/blob/master/doc/cygnus-ngsi/installation_and_administration_guide/reliability.md 23
  • 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
  • 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. パターンベースのコンテキスト・データのグループ化 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. パターンベースのグループ化のためのマッチング・テーブル 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. 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
  • 33. FIWARE Big Data ecosystem : Cygnus Joaquin Salvachua Universidad Politécnica de Madrid Joaquin.salvachua@upm.es, @jsalvachua, @FIWARE www.slideshare.net/jsalvachua