Cosmos と そのエコシステムについての説明¶
コンテンツ:
Cosmos アーキテクチャ¶
先に述べたように、Cosmos およびそのエコシステムは、データサイエンティストのために BigData 分析手段を提供し、分析に重点を置いてあらゆる種類のインフラストラクチャやあらゆる種類のソフトウェアをデプロイすることを避けるプラットフォームの一部です。したがって、Cosmos のコア・アイデアは、将来のユーザがリソースをリクエストする機会を持つためにリリースされる、必要な分析ソフトウェアをサポートするインフラストラクチャのオンデマンド提供です。
一方、BigData は一般的に分散して処理されるため、インフラストラクチャは通常、マシンのクラスタを構成します。マシンは物理的でも仮想的でもあります。私たちの実装では、仮想化のために選ばれたテクノロジである Openstack との両方のタイプが混在しています。
一方、分析ソフトウェアに関しては、プロビジョニングされたクラスタの上にインストールされる候補として、以下のツールが考えられます :
- Apache Hadoop. Sahara によるネイティブ・サポート
- Apache Spark. プラグインを介してサポートされています (調査中)
- Apache Flink (調査中)
Hadoop クラスタ(Hadoop as a Service または単に HAAS とも呼ばれます)のオンデマンド提供に関しては、過去には、Hadoop クラスタをオンデマンドで展開できる、独自のインフラストラクチャおよびソフトウェア提供システムに頼っていました。Openstack の Sahara のような技術が利用できなかったとき、その製品の一部分はうまくいきました。今、それを続けるのは意味がありません。私たち、そして開発者のコミュニティが Openstack Sahara のようなプロジェクトに貢献するのは、以下の理由からです :
- Sahara は、FIWARE で使用される仮想化インフラストラクチャである Openstack とネイティブに統合されているため、"サービスとしての Hadoop "エンジンは、FIWARE Lab のような OpenStack ベースのクラウドとはるかによく統合されます
- Sahara は、Hadoop クラスタだけでなく、少なくとも Spark および Storm クラスタも展開できます。これは、適切なプラグインを作成する場合のみです
- Sahara を利用することは長期的に持続可能性を強化します
Cosmos 内では、コンピューティングとストレージは独立した概念です。したがって、上記のコンピューティング・プラットフォームに加えて、提案されたソリューションは、データ・ストレージ目的のための永久的で無制限の HDFS クラスタを提供します。リクエストされた分析クラスタは一度使用された時点で一時的なものであるため、それらは削除され、リソースが解放され、入力と最も重要な出力データはどこかに安定して保存されなければなりません。
ストレージとコンピューティングの両方のクラスタは、Cosmos GUI を使用することで統合されます。これは、ユーザに HDFS スペースをプロビジョニングし、オンデマンド・クラスタの作成に関する Sahara の機能にアクセスできるポータルです。
エコシステムは、Cosmos が特定の管理ソフトウェアとユーティリティ・ソフトウェアで完成/補完されたときに発生します :
- Cygnus は、Orion Context Broker からのコンテキスト・データを使用して、永続的かつ無制限の HDFS ベースのストレージ・クラスタを提供するツールです。コンテキスト・データの履歴ビューが構築されます
- Tidoop MR Library とその RESTful API は、一般的なビルディング・ブロックに基づいて連鎖した MapReduce ジョブの合成を設計するためのツールです
- 非 HDFS データを使用するための Hadoop 拡張
- REST API で OAuth2 ベースの認証と承認を実装したい場合に、OAuth2 Tokens Generator と一緒に使用する Wilma PEP Proxy
ライト・バージョン (Light-version)¶
上記のソリューションでは、非常に大きなインフラストラクチャが必要な場合があります。たとえば、少なくとも1,000人のユーザーに対してオンデマンド・クラスタを同時に提供し、各クラスタに少なくとも20台の仮想マシンを用意することを考えているオペレータを考えてみましょう。これは少なくとも20,000台のVMを作成できることを意味します。軽いバージョンの HAAS エンジンが同時に開発されました。これは、小規模の運営者や企業がこの種のサービスを提供したいと考えていますが、大規模なリソースを所有していない場合に特に対応しています。このライト・バージョンは、単一の Hadoop クラスタを共有することに基づいています。この共有は、アクセス制限、利用可能なリソースの配布、優先順位付けなどを担当するソフトウェアによって制御されます。
実際に、これは現在 FIWARE Lab に導入されているバージョンです。
必須とオプション¶
既に見てきたように、これは、install-a-single-rpm GEri ではなく、実装を達成するために選択して組み合わせなければならない多くのツール(プロプライエタリ、またはサードパーティのツール)のセットです。
最小限の実装を実現するには、次のツールが必須です :
- Cosmos (HAAS エンジン):
- Sahara (Openstack's Horizon を ベースにしたダッシュボードを除く)に基づくもの
- 共有されたHadoopに基づくもの
- HDFS ベースのストレージ・クラスタ
- Cosmos GUI.
一方、以下のものはオプションで、利用者のニーズに応じて異なります :
- Cygnus : Orion Context Broker が管理するコンテキスト・データから履歴を作成する場合にのみインストールしてください
- Tidoop MR library とその RESTful API ユーザが常に自分の MapReduce ジョブを使用することができ、これがあるだけですぐに使用できる汎用ジョブのライブラリ
- Hadoop extensions : CKAN Open Data に保存されているような HDFS 以外のデータにユーザがアクセスできるようにする場合は、インストールしてください
- PEP proxy + OAuth2 Tokens Generator : OAuth2 を使用して REST API を保護したい場合に限ります