Apache Storm 0.10.0-beta リリースの簡単な分析: Heron を狙う

Apache Storm 0.10.0-beta リリースの簡単な分析: Heron を狙う

Storm のリリース バージョンを簡単に分析する前に、まず Storm のバージョン番号について不満を述べておきます。私は Storm がまだ Twitter のオープンソース プロジェクトだった頃、バージョン 0.8.0 から Storm を使い始めました。Storm の古参ユーザーとして、Storm が新しいバージョンをリリースしたのを見て、いくつか考えました。 2013 年に Apache が Storm を引き継いで以来、バージョン番号のリリースは以前のスタイルで継続されています。はっきり言って、何年もみんなが楽しみにしているのに、バージョンがまだ「1」を超えていないんです。

Storm 0.10.0-beta の簡単な分析

//順序は公式サイトの要点に準じ、翻訳+個人的意見

1. クラスター セキュリティとマルチユーザー スケジュールの展開。

まずは公式サイトに記載されているポイントを列挙してみましょう。

  • 自動認証プッシュと更新を備えた Kerberos 認証

  • プラグ可能な認証と ACL

  • ユーザーごとの分離と構成可能なリソース制限を備えたマルチテナント スケジューリング。

  • ユーザーのなりすまし

  • Storm UI、ログ ビューア、DRPC (分散リモート プロシージャ コール) の SSL サポート

  • 他の Hadoop プロジェクト (ZooKeeper、HDFS、HBase など) との安全な統合

  • ユーザーの分離 (Storm トポロジは、それを送信したユーザーとして実行されます)

Storm の初期の設計では、システムのセキュリティは考慮されていませんでした。

実際、ほとんどのオープンソース ソフトウェアの開発プロセスは似ています。初期の開発は、間違いなく機能とパフォーマンスに基づいています。開発の特定の段階に達すると、システムのセキュリティが考慮されるようになります。現在、Storm の開発とリアルタイムのビジネス ニーズの高まりにより、実際のクラスターの展開が増加し、セキュリティ要件も高まっています。

今回のセキュリティサポートでは、Stormコミュニティに加え、Yahoo、Symantec、Hortonworksが大きな貢献を果たしました。

主な変更点:

  • (1)Kerberos認証メカニズムを自動的に更新する。

  • (2)プラグイン可能なアクセス許可およびアクセス制御メカニズム

  • (3)マルチユーザースケジューリングをサポートし、異なるユーザーにリソースを柔軟に割り当てることができます。 // これは集中型リソーススケジューリングの方向に近いです。

  • (4)マルチユーザースケジューリングをシミュレートする。

  • (5)UIの改善、SSLプロトコルログビューアとDRPCページ監視のサポート。

  • (6)Zookeeper、Hbase、HDFSなど、主にセキュリティの観点からHadoopエコシステムとの統合を最適化しました。//ビッグデータプラットフォームの統合とStormの推進により、ますます多くのHadoopエコシステムコンポーネントが統合されます。

  • (7)複数ユーザの分離、つまり各ユーザは自分で提出したトポロジタスクを操作できる。 // 実際には、複数ユーザを導入する際にはこれをサポートする必要がある。

要約:

セキュリティに関しては、あまり語れません。一般企業にとって、この点は優先度が高くないのではないかと思います。

マルチユーザー スケジューリングのサポートとリソース管理の最適化に重点が置かれています。Hadoop 2.0 以降、集中型リソース管理は常にホットな話題となっているため、この点での Storm の最適化は期待に値します。

2. バージョンアップと継続的な改善の最適化

これまで、Storm のアップグレードでは、トポロジの変更、トポロジの再展開など、多くの問題が発生することがよくありました。その理由は、異なるバージョン間ではデータ構造が異なることが多いためです。したがって、アップグレード プロセスは完全に下位互換性のあるプロセスではありません。

Storm 0.10.0 から、バージョン アップグレードが大幅に最適化されます。トポロジ タスクを停止せずにアップグレードすることもでき、プロセス全体を自動化できます。

要約:

Storm の実際の展開ノードが増えると、必然的にバージョンアップに直面することになるため、この改善は、ユーザーのその後の継続的な使用に対する大きなテストとなるため、非常に重要です。

3. タスクとトポロジの展開の改善と最適化

Storm に詳しい方は、トポロジ タスクの展開では、トポロジが変更された場合、コードを再コンパイルする必要があることが多いことをご存知かもしれません。展開されたトポロジが大きい場合、これは大きな影響を与える可能性があります。

新しい改善の方向性としては、外部構成ファイルを通じてトポロジ レイアウトと関連する構成を定義することが期待されています。

まず、公式ウェブサイトの改善点をリストします。

  • トポロジーコードに構成を埋め込むことなく、Storm トポロジー (Storm コアと Micro-batch API の両方) を簡単に構成および展開できます。

  • 既存のトポロジーコードのサポート

  • 柔軟な YAML DSL を使用して Storm Core API (Spouts/Bolts) を定義する

  • ほとんどの Storm コンポーネント (storm-kafka、storm-hdfs、storm-hbase など) に対する YAML DSL サポート

  • 多言語コンポーネントの便利なサポート

  • 構成/環境を簡単に切り替えるための外部プロパティの置換/フィルタリング(Maven スタイルの ${variable.name} 置換に類似)

主な変更点:

  • (1)トポロジの構成と展開を最適化し、コードからトポロジ関連のコンテンツを削除する。

  • (2)既存のトポロジエンコーディングを引き続きサポートします。 // 下位互換性

  • (3) 柔軟な YAML DSL を使用して Spout と Bolt を定義します。// 率直に言えば、トポロジ構築を最適化することです。

  • (4) storm-kafka、storm-hbase、storm-hdfsなどの既存のインターフェースも引き続きサポートしています。// 下位互換性はありますが、詳細は不明です。

  • (5)多言語コンポーネントのサポート; // 以前は多言語をサポートすると謳われていましたが、実際にはPythonとJava以外の言語で開発するのはまだかなり困難です。

  • (6)Mavenの${variable name}置換と同様に、設定環境間の切り替えをサポートします。

要約:

一部の下位互換性の問題については、バージョンアップグレードでサポートされるはずの機能であるため、詳細には触れません。

焦点はトポロジの革命的な変化にあります。実際、Storm 0.10.0では、このトポロジを含め、柔軟性の面で大きな進歩を遂げていることがわかります。

4. 新しいグループ化戦略を提供する: ローカルキーワードグループ化

既存の Storm グループ化戦略はバージョン 0.8 以降変更されていません。現在、新しいグループ化戦略であるローカル キーワード グループ化戦略が導入されています。

ローカル キーワード グループ化はフィールド グループ化と同じです。違いは、下流のボルトの負荷を考慮し、残りのリソースをより有効に活用し、ノード間の負荷分散を実現しようとすることです。

要約:

このことから、Storm は柔軟性だけでなく、リソースのスケジュール設定においても革新的な改善を実現していることがわかります。

5. ログフレームワークを最適化

分散プログラムのデバッグは難しい作業です。通常、プログラムによって生成されたログ ファイルという 1 つの主要な情報源を通じてデバッグを分析します。

しかし、これは矛盾も生じます。Storm はリアルタイム アーキテクチャ システムであり、ログ記録レベルの制御が困難です。ログが多すぎるとディスクが簡単に圧倒され、ログが少なすぎると問題を見つけるのが難しくなります。

Storm 0.10.0 では、スループットが高くレイテンシが低いログ記録アーキテクチャである log4j v2 が使用されました。リソースをより効率的に使用し、ビジネス ロジックを簡単に追跡できます。

同様に、E テキストの要点は次のとおりです。

  • サイズ、期間、日付ベースのトリガーを組み合わせ可能なローリングログファイル

  • ログメッセージを削除せずにログ構成を動的に更新

  • JMX によるリモート ログ監視と (再) 構成

  • Syslog/RFC-5424 準拠のアペンダー。

  • syslog-ngなどのログアグリゲータとの統合

主なポイント:

  • (1)ログファイルのサイズ、時刻、日付を組み合わせてログローリングをトリガーする。

  • (2)ログデータを失うことなくログ設定を動的に変更する。

  • (3)ログのリモート監視とJMXのリモート設定をサポートする。

  • (4)RFC-5424プロトコルをサポートする。

  • (5)Syslog-ngの統合とログ集約のサポート;将来的には、syslog-ngがsyslogを完全に置き換える可能性が非常に高いが、検証には時間がかかるだろう。

要約:

ログに関しては、特に言うことはありません。既存のログで十分であり、問​​題はほとんどありません。もちろん、より良いサポートと最適化があれば素晴らしいと思います。

6. Hiveデータアクセスのサポート

この機能は 0.13 で導入され、Hive から Storm へのデータにアクセスするための API と、Hive からデータを取得するための API が提供され、Storm から Hive へのデータ転送プロセスがより合理的かつ便利になります。データがソースで送信されると、Hive でクエリを実行できます。

Storm と Hive の統合を実現し、マイクロバッチ処理とトランザクション処理で Hive をサポートします。

要約:

これは、ビッグデータ プラットフォームの統合と、Storm と Hadoop エコシステムのさらなる統合における改善です。

7. Microsoft Azure Event Hubs の統合

Azure クラウド コンピューティング プラットフォームは Storm の展開と実行をサポートしていますが、これについては詳しく説明しません。 Storm の影響力は拡大しており、多くのクラウド プラットフォームが Storm と「結婚」する取り組みを始めているとしか言いようがありません。

8. Redisのサポート

Hadoop エコシステムに加えて、Storm は人気の Nosql の統合も開始しました。他のコンポーネントのサポートと同様に、いくつかのユースケースが提供されており、これも Storm 統合の傾向です。

9. JDBC/RDBMS統合

Storm 0.10.0 は、非常に柔軟でカスタマイズ可能な統合をサポートし、ほぼすべてのタイプの JDBC と互換性があります。トポロジ タプル データとデータベース データがトポロジ内で柔軟にやり取りすることも可能になります。

要約:

Hadoopが普及する以前は、Stormのデータ格納方法は実は非常に単調でした。Stormで処理したデータをデータベースに格納するのが主流の手法でした。そのため、この点での最適化によって、多くの歴史的課題が解決されたと言えます。

10. 依存関係の競合の最適化

簡単に要約すると、Storm の以前のバージョンでは、依存関係のバージョン競合が頻繁に発生していました。 Storm 0.10.0 では、この点が最適化されました。さて、これはもう 1 つの歴史的な問題であり、Storm がさらに標準化されていることを示しています。

まとめると

Twitter が Heron をリリースした数日後、Apache は Storm 0.10.0 をリリースしました。これは非常にタイムリーなリリースでした。

それもそのはず。Heron は破壊的なデザインで知られています。まだオープンソースではないし、Storm がリアルタイムデータ処理分野の半分を占めているにもかかわらず、危機感は残っています。

さて、本題に戻って私の考えを共有しましょう。

(1)ビッグデータプラットフォームの統一・統合の動向

私は以前、「DT 時代の変化についての考察」という記事の中で、「ビッグデータの発展を支える中核はデータ プラットフォームです」と述べました。

Hadoop の大規模オフラインデータ処理技術が成熟するにつれて、リアルタイムビジネスに対する需要が徐々に高まっており、これが Storm が急速に発展できた理由の 1 つです。

現在普及しているリアルタイム処理プラットフォームとHadoopエコシステムプラットフォームは方向性が異なり、論理的にも分離されています。

ビッグデータ処理に対する要求が多様化するにつれ、異なるプラットフォーム間でデータを循環させることが急務となっています。

現在、Storm の現在のバージョンの Hive と redis のサポートであれ、以前の HDFS、Hbase、Zookeeper などのサポートであれ、これらはすべてデータ プラットフォームを統合するための Storm の取り組みです。

ビッグデータプラットフォームにおいては、リアルタイム処理、Hadoopに代表されるオフラインバッチ処理、Nosqlストレージなど、プラットフォームの統一的な統合がトレンドとなるでしょう。

(2)資源の集中管理

Storm では、リソース トポロジ タスクのリソース割り当てに常に欠陥がありました。 Hadoop 2.0 のリリースにより、Hadoop リソースは Yarn によって統一的に管理されるようになり、分散面でのリソース管理の最適化のトレンドが始まりました。

追記:翻訳に誤りや個人的な意見がありましたら、遠慮なく訂正してください。

出典: Blogworm による寄稿、オリジナルリンク。


元のタイトル: Apache Storm 0.10.0-beta リリースの簡単な分析: Heron を狙う

キーワード: Apache

<<:  Seagate Personal Cloud: ホーム NAS ソリューション

>>:  オンラインパスワードマネージャーLastPassがハッキングされる

推薦する

モンデリーズ中国がアリババクラウドと提携、世界有数のスナック企業がデジタルアップグレードを開始

6月7日、雲奇会議上海サミットにおいて、世界的スナック食品大手のモンデリーズ・インターナショナルの代...

ASO 最適化丨トラフィック思考は決して死なない (アプリプロモーションへの道を探る)

この記事は、主に CEO や会社の幹部向けに書かれており、アプリのプロモーションに関する新しいアイデ...

Smarthost: イースター VPS プロモーション 30% オフ、月額 2 ドルから、28 のデータ センターから選択可能

Smarthost がイースター プロモーションを開始しました。ブロック ストレージ VPS を除く...

ウェブサイトの構築は6つの主要な安定性に従います:運用は主に安定性に基づいています(パート1)

私がインターネットに初めて触れた時から今まで、十数個のウェブサイトを構築してきました。ウェブサイト構...

ユーロクラウド:香港 cn2 vps 20% 割引、月額 15 元から。フランス 500G 高防御 - 月額 16 元、香港 20M+120IP Du Fu - 666 元

EuroCloud は、CN2 + BGP 回線に接続された新しい香港データセンターを追加し、香港 ...

SpringBootは分散メッセージングプラットフォームPulsarを統合

みなさんこんにちは。ジュン兄です。優れたメッセージストリーミングプラットフォームとして、Pulsar...

App Storeのランキングが崩壊し、無料ゲームリストのおすすめスポットの80%以上が「スワイプして削除」になっています。

9月20日、AppleのiOS 11システムが正式にリリースされました。業界では、新しいバージョンの...

オンラインストアを運営するときは、細部に注意してください。小規模なオンラインストアでも、大きなブランドを持つ必要があります。

少し前に、タオバオのショップオーナーが長期の睡眠不足で突然亡くなったというニュースがありました。本当...

Vultrが無料NSサービス2グループを追加

有名で現在最も人気のある VPS プロバイダー vultr.com が、新たに無料の DNS サービ...

virpus - シアトルの Xen 仮想 VPS、40% オフ、更新時の価格上昇なし、512 RAM が年間 20 ドルから

11年間運営してきたVirpusが、年末に生涯40%割引プロモーションを実施しました。SSDハードド...

淘宝ブランド陣営が縮小する一方、「新三大」は急速に拡大

李翔東漢度易社、INMAN、聯博などのブランドが相次いで自社の高級ブランドを立ち上げたことで、かつて...

カマテラはどうですか?イタリア、ミラノのクラウドサーバーのレビュー

カマテラはどうですか? Kamatera Italy クラウドサーバーはいかがでしょうか? Kama...

ウェブサイトのコンテンツを更新するための3つのヒントをご存知ですか?

月収10万元の起業の夢を実現するミニプログラム起業支援プランアップデートのヒント?それはきっと嘘です...

360 ランダム検索、360 レビュー V2.0?

4月1日:百度のシード検索機能が初めて公開された日であるだけでなく、 Baidu の天敵である Qi...