Le système de planification de tâches Big Whale est un système de planification de tâches informatiques distribuées développé par Meiyou Big Data. Il fournit une planification d'exécution DAG pour les tâches de traitement par lots telles que Spark et Flink et une surveillance et une planification de l'état pour les tâches de traitement de flux. Détection d'applications de grande mémoire et autres fonctions. Le service est développé sur la base de Spring Boot 2.0 et peut être exécuté après avoir été empaqueté.
Préparation environnementale
Java1.8+
MySQL 5.1.0+
Installer
1. Créer une base de données : grande-baleine
2. Exécutez le script de base de données : big-whale.sql
3. Configurez le mot de passe du compte de base de données approprié et les informations SMTP en fonction de l'environnement Spring Boot.
4. Configuration : big-whale.properties
Description de l'élément de configuration
ssh.user : nom d'utilisateur de connexion à distance SSH avec autorisations d'exécution de script (la plateforme utilisera cet utilisateur comme utilisateur d'exécution de script unifié)
ssh.password : mot de passe de l'utilisateur de connexion à distance SSH
dingding.enabled : s'il faut activer les alertes DingTalk
dingding.watcher-token : jeton de robot du groupe public Dingding
Yarn.app-memory-threshold : limite de mémoire de l'application Yarn (unité : Mo), -1 désactive la détection
Yarn.app-white-list : liste blanche des applications de fil (la mémoire demandée par les applications de la liste dépasse la limite supérieure et aucune alarme ne sera émise)
5. Modifiez : $FLINK_HOME/bin/flink, référence : flink (car flink ne peut lire le package jar local que lors de la soumission d'une tâche, il est nécessaire de télécharger le package jar depuis hdfs et de remplacer le paramètre de chemin du package jar dans le script lorsque exécution de la commande submit )
6. Emballage : paquet mvn clean
démarrer
1. Vérifiez si le port 17070 est occupé. Si tel est le cas, fermez le processus occupé ou modifiez la configuration du numéro de port du projet et reconditionnez-le.
2. Copiez big-whale.jar dans le répertoire cible et exécutez la commande : java -jar big-whale.jar
Configuration initiale
1. Ouvrez : http://localhost:17070
2. Entrez le compte admin et le mot de passe admin
3. Cliquez sur : Gestion des autorisations->Gestion des utilisateurs, modifiez l'adresse e-mail du compte actuel en une adresse e-mail légale et existante, sinon l'e-mail ne pourra pas être envoyé.
4. Ajouter un cluster
Gestion du cluster->Gestion du cluster->Nouveau
"Adresse de gestion du fil" est l'adresse de l'interface utilisateur WEB de Yarn ResourceManager
« Répertoire de stockage du package » est le chemin de stockage lorsque le package est téléchargé sur le cluster HDFS, tel que : /data/big-whale/storage
"Supporter les utilisateurs proxy de tâches Flink", "Liste noire des tâches de traitement de flux" et "Liste noire des tâches de traitement par lots" sont des règles d'allocation de tâches personnalisées en interne. Ne remplissez pas les champs.
5. Ajouter un agent
Gestion du cluster->Gestion des agents->Nouveau
Plusieurs instances peuvent être ajoutées (seules les adresses IP sont prises en charge, les numéros de port peuvent être spécifiés et la valeur par défaut est 22). Lors de l'exécution du script, une instance sera sélectionnée au hasard pour l'exécution. Si l'instance est inaccessible, l'instance suivante le sera. sélectionnés au hasard. L’exécution échoue lorsque les deux sont inaccessibles.
Après avoir sélectionné un cluster, ce sera l'un des agents qui soumettra les tâches Spark ou Flink sous le cluster.
6. Ajouter des utilisateurs du cluster
Gestion du cluster->Utilisateur du cluster->Ajouter
La sémantique de cette configuration est la suivante : file d'attente de ressources Yarn (--queue) et utilisateur proxy (--proxy-user) que les utilisateurs de la plate-forme peuvent utiliser sous le cluster sélectionné.
7. Ajouter un cadre de calcul
Gestion du cluster->Gestion->Ajouter
Les commandes de soumission de différentes tâches Spark ou Flink dans le même cluster peuvent être différentes. Par exemple, la commande de soumission de Spark 1.6.0 est spark-submit et la commande de soumission de Spark 2.1.0 est spark2-submit.