BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース NetflixがGenie 3を発表

NetflixがGenie 3を発表

原文(投稿日:2017/07/11)へのリンク

NetflixのGenieは、データプラットフォームのための、分散型の RESTfulなタスクを管理するエンジンだ。Genieには主要な二つのユースケースがある。一つはデータ処理タスク要求を作成し送信すること、もう一つはGenieのクラスタ上で動作するG新しいアプリケーションとタスクを開発してテストするためのローカル環境を設定することだ。

NetflixはGenie 3の新しい機能を発表した。タスク実行エンジンの再設計、セキュリティ機能、依存関係キャッシング、APIの変更などだ。

以前のバージョンのNetflixはGenieエンジンにはリーダーシップの選出がなかったため、ワーカーは不必要に同じタスクを実行しなければならなかった。今回のバージョンでは、Zookeeperか単一のノードのIPアドレスに設定された手動構成プロパティを通じてクラスタのリーダーシップがサポートされている。また、以前のバージョンタスクランタイムの単一の実行スクリプトは安全に分離されている関心事を超えて成長してしまうという問題があり、その結果、コード変更時のリスクを分離するというプロジェクトのメンテナンス能力が低下した。Genie 3のアプローチでは、ランタイムを維持し、その構成をモジュラー化し、記述的にし、改良したデータモデルでバージョン管理をしている。

Genie 3では、タスクはスケーラビリティが保証されているいくつかの抽象で構成されている。アプリケーションのランタイムと実行可能なコマンドはAPI経由で構成できる。Genieは、Spark、Hadoop、Pig、Hive、PrestoDB、およびSqoopなどのアプリケーション実行スクリプトを、特定の実行時設定や処理するデータとは独立して生成する。開発者としては、ローカルモードのワークフローはさまざまなランタイムの実行スクリプトを生成するが、テストおよび開発のサポートのために、基礎となる実装のREPLおよび標準出力と統合する。

Genie 3 APIコンポーネントは、Genieの機能の範囲をカバーする。クラスタAPI、コマンドAPI、アプリケーションAPI、ジョブAPIが、Genie 3を運用するためのセマンティクスを提供する。クラスタAPIは、Genieの論理ワーカクラスタを管理し、インフラストラクチャ自体は含まない。クラスタに関するメタデータ、設定時のワーカークラスタのベースライン状態、クラスタで使用可能なコマンド、およびベースラインパッケージインストールを管理するのに使える。PuppetやChefによく似ているが、実行時にGenieアプリケーションコマンドが必要とするワーククラスタ固有のパッケージや設定に注力している。こうすることで、起動時に依存性をダウンロードしてインストールする必要があるアプリケーションの起動時間を柔軟に設定し、ブートストラップを行える。

コマンドAPIのセマンティクスは、基本となるアプリケーションで動作し、特定のアプリケーションを参照するだけでなく、独自の起動と実行時設定も可能だ。

ジョブAPIを使用すると、Genieユーザーは一連のコマンドをスケジュール登録、または実行し、ジョブの実行状況に関するデータを追跡できる。 Genie 3には、GenieとそのAPIをサポートする構成ストレージ用のMySql、PostgreSQL、およびHSQLDB用のJDBCドライバが付属している。
また、Genie 3はOAuth2X.509ベースの公開鍵認証がサポートされている。

 
 

Rate this Article

Adoption Stage
Style
 
 

この記事に星をつける

おすすめ度
スタイル

BT