Big Whale タスク スケジューリング システムは、Meiyou Big Data によって開発された分散コンピューティング タスク スケジューリング システムです。Spark や Flink などのバッチ処理タスクの DAG 実行スケジューリングと、ストリーム処理タスクのステータス監視とスケジューリングを提供します。また、繰り返しアプリケーションの検出機能も備えています。大容量メモリアプリケーション検出およびその他の機能。 このサービスは Spring Boot 2.0 に基づいて開発されており、パッケージ化された後に実行できます。
環境整備
Java 1.8以降
MySQL 5.1.0+
インストール
1. データベース作成: big-whale
2. データベース スクリプト big-whale.sql を実行します。
3. Spring Boot 環境に従って、関連するデータベース アカウントのパスワードと SMTP 情報を構成します。
4. 設定: big-whale.properties
設定項目の説明
ssh.user: スクリプト実行権限を持つ SSH リモート ログイン ユーザー名 (プラットフォームはこのユーザーを統合スクリプト実行ユーザーとして使用します)
ssh.password: SSHリモートログインユーザーのパスワード
dingding.enabled: DingTalk アラートを有効にするかどうか
dingding.watcher-token: Dingding パブリック グループ ロボット トークン
yarn.app-memory-threshold: Yarn アプリケーションのメモリ制限 (単位: MB)、-1 は検出を無効にします
yarn.app-white-list: Yarn アプリケーションのホワイトリストリスト (リスト内のアプリケーションが要求するメモリが上限を超えているため、アラームは発行されません)
5. 変更: $FLINK_HOME/bin/flink、参照: flink (flink はタスクの送信時にローカルの jar パッケージしか読み取れないため、hdfs から jar パッケージをダウンロードし、スクリプト内の jar パッケージのパス パラメーターを置き換える必要があります)送信コマンドを実行します。)
6. パッケージング: mvn clean パッケージ
起動する
1. ポート 17070 が占有されているかどうかを確認し、占有されている場合は、占有されているプロセスを閉じるか、プロジェクトのポート番号構成を変更して再パッケージ化します。
2. big-whale.jar をターゲット ディレクトリにコピーし、コマンド java -jar big-whale.jar を実行します。
初期設定
1. http://localhost:17070 を開きます。
2. アカウント「admin」とパスワード「admin」を入力します。
3. [権限管理] -> [ユーザー管理] をクリックし、現在のアカウントの電子メール アドレスを有効な既存の電子メール アドレスに変更します。変更しないと、電子メールの送信に失敗します。
4. クラスターの追加
クラスター管理 -> クラスター管理 -> 新規
「yarn管理アドレス」はYarn ResourceManagerのWEB UIアドレスです。
「パッケージ ストレージ ディレクトリ」は、パッケージが HDFS クラスターにアップロードされるときのストレージ パスです (/data/big-whale/storage など)。
「Flink タスク プロキシ ユーザーのサポート」、「ストリーム処理タスク ブラックリスト」、および「バッチ処理タスク ブラックリスト」は内部的にカスタマイズされたタスク割り当てルールです。フィールドには入力しないでください。
5. エージェントの追加
クラスター管理 -> エージェント管理 -> 新規
複数のインスタンスを追加できます (IP アドレスのみがサポートされ、ポート番号を指定できます。デフォルトは 22 です)。スクリプトを実行すると、インスタンスがアクセスできない場合、次のインスタンスが実行されます。両方に到達できない場合、実行はランダムに選択されます。
クラスターを選択すると、クラスターの下で Spark または Flink タスクを送信するエージェントの 1 つになります。
6. クラスターユーザーの追加
クラスター管理 -> クラスターユーザー -> 追加
この構成のセマンティクスは、Yarn リソース キュー (--queue) と、プラットフォーム ユーザーが選択したクラスターで使用できるプロキシ ユーザー (--proxy-user) です。
7. 計算フレームワークの追加
クラスター管理 -> 管理 -> 追加
同じクラスター内の異なる Spark または Flink タスクの送信コマンドは異なる場合があります。たとえば、Spark 1.6.0 の送信コマンドはspark-submit、Spark 2.1.0 の送信コマンドはspark2-submitです。