分散型ビジュアル DAG タスク スケジューリング システム Taier の全体的なプロセス分析

Kangaroo Cloudオープンソース プロジェクトの 1 つであるTaier は、分散および視覚化された DAG タスク スケジューリング システムですETL 開発コストを削減し、ビッグ データ プラットフォームの安定性を向上させ、ビッグ データ開発者がタスクの複雑な依存関係や基盤となるビッグ データ プラットフォームのアーキテクチャを気にすることなく、Taier でビジネス ロジックを直接開発できるようにすることを目的としています。ビジネスにもっと焦点を当てます。

この記事では、Taierのプロセス全体を、Taier のプロセス概要、構造分析、拡張可能なポイントの 3 つの側面から分析して説明します。

Taier プロセスの簡単な説明

タイア主従部門

Taier は別のアプリケーションであり、プロセスにはマスターとスレーブの分割はなく、複数のインスタンスが実行されている場合、マスターとスレーブの分割はZK を通じて実現されます。LeaderLatchの実装により、起動時にロックを取得するノードがマスター(Master)、ロックを取得しないノードがスレーブ(Worker)となり、1つのマスターと複数のスレーブの状況が発生します。

他のワーカーがマスターが電話を切ったということを ZK で聞くと、ワーカーは再びロックを奪い合い、ロックを掴んだ人がマスターになります。

Taier では、マスターの主な役割には、定期的なインスタンスの生成、インスタンスの事前配布、ワーカー ノード タスクの災害復旧、インスタンスの送信などが含まれ、スレーブは主にインスタンスの送信を担当します。

階層サイクル インスタンス (T+1)

定期インスタンスとは Taier の独自用語で、設定されたスケジュール時間に従って 1 回実行されるタスクをインスタンスといいますが、今回の定期インスタンスの仕組みは T+1 です。

明日のすべてのタスクに対応する定期インスタンスは、今日事前に生成されます。つまり、今日の定期インスタンスは昨日生成されます。デフォルトでは、Taier は翌日の定期インスタンスを 22:00 に生成します。タスクが22:00 以降にスケジュール システムに送信された場合、タスクは定期インスタンスとして生成されません。

設定項目はjob.graph.build.cron=22:00:00となっており、時間は自分で調整可能です。

ファイル

階層化タスクの送信

Taier タスク送信の具体的なフローチャートは次のとおりです。

ファイル

タスクプロセス投入の事前判定は主に 2 つの部分に分かれており、1 つはタスクの上流と下流の依存関係検証であり、定期インスタンスの上流が完了しているかどうかを判定し、上流の操作が失敗した場合には、次に、タスクを送信する準備ができていません。2 つ目は、リソースの検証です。タスクはすべてクラスター上で実行されており、多くのリソースを占有しているため、送信前の検証は、現在のクラスターのリソースが適切であるかどうかを判断するために実行されます。リソースが不足している場合は、提出を遅らせる措置が実行されます。

Taier タスクによって送信される具体的なコードは次のとおりです。

ファイル

ティア構造解析

Taier の構造は主に UI、アプリケーション層、プラグインの 3 つの部分に分かれており、プラグインの中で最も重要なプラグインは Taier worker-plugin と Taier datasource-plugin です。

ファイル

Taier ワーカープラグイン

Taier ワーカー プラグインの主な用途は次のとおりです。

タスクリソースの判断

· タスクの提出

・タスクのステータスを取得する

・タスクログ取得

· タスクを強制終了します

具体的なコードは次のとおりです。

ファイル ファイル

関連するクラスには次のものがあります。

· com.dtstack.taier.common.client.ClientFactory

· com.dtstack.taier.common.client.ClientProxy

· com.dtstack.taier.common.client.ClientCache

Taier データソース プラグイン

Taier データソース プラグインの主な用途は次のとおりです。

・接続チェック

・SQLの実行

スキーマ情報の取得

・テーブル一覧の取得

· テーブルのメタデータを取得する

・データのダウンロード

・ログのダウンロード

具体的なコードは次のとおりです。

ファイル ファイル ファイル ファイル

Taier タスク送信プラグイン

参照コード:

com.dtstack.taier.scheduler.jobdealer.JobSubmitDealer#submitJob

ファイル

Taier の拡張ポイント

Taier は現在、そのコア機能がオープンソースであり、次のような他の機能の開発者は自分でそれを拡張できます。

· タスクはすぐにインスタンスを生成します

・ChunJunウィザードモード拡張

· DataX はウィザード モード構成をサポートします

· データ ソース プラグインのバージョン拡張

・新しい計算エンジン

· Hadoop マルチクラスター バージョンのサポート

· インスタンス分散戦略の強化

ビデオ講座&PPT取得

ビデオレッスン:

https://www.bilibili.com/video/BV1wP411z7rf/?spm_id_from=333.999.0.0

コースウェアの取得:

https://www.dtstack.com/resources/1047

「Dutstack 製品ホワイトペーパー」: https://www.dtstack.com/resources/1004?src=szsm

「データ ガバナンス業界実践ホワイト ペーパー」ダウンロード アドレス: https://www.dtstack.com/resources/1001?src=szsm Kangaroo Cloud のビッグデータ製品、業界ソリューション、顧客事例について詳しく知りたい、相談したい場合は、 Kangaroo Cloud 公式 Web サイトにアクセスしてください: https://www.dtstack.com/?src=szkyzg

同時に、ビッグデータのオープンソース プロジェクトに興味のある学生は、最新のオープンソース テクノロジー情報を交換するために「Kangaroo Cloud Open Source Framework DingTalk Technology qun」に参加することを歓迎します。qun 番号: 30537511、プロジェクト アドレス: https: // github.com/DTStack

マルチ環境開発をサポートする国内初のIDE——CEC-IDE MicrosoftがPythonをExcelに統合、グイおじさんがフレームワーク策定に参加 中国プログラマーらギャンブルプログラム作成を拒否、歯14本抜かれ88%の身体損傷 オープンソースのSongフォントを模倣したPodman Desktop、 ダウンロード数50万件を突破 オープニング画面の広告を自動的に 無期限に更新停止 「Li Tiao Tiao」が スキップ Xiaomiがmios.cnウェブサイトのドメイン名を申請
{{名前}}
{{名前}}

おすすめ

転載: my.oschina.net/u/3869098/blog/10097261