Une fois l'agent connecté, vous pouvez créer des tâches planifiées, relancer des tâches, consulter l'historique d'exécution et vérifier les journaux opérationnels directement depuis la console SchedulerX. Cette rubrique explique comment connecter une application non Java à SchedulerX à l'aide d'un agent, disponible sous forme de package TAR ou d'image Docker.
Prérequis
(Facultatif) Un namespace a été créé. Pour plus d'informations, consultez la rubrique Créer un namespace.
Une ressource a été créée. Pour plus d'informations, consultez la rubrique Créer une ressource.
L'agent prend en charge la planification et l'exécution des tâches DataWorks. Pour plus d'informations, consultez la rubrique Tâches DataWorks.
Cas d'utilisation
Les principaux cas d'utilisation pour la connexion d'un agent à SchedulerX incluent :
Utiliser un script Shell pour nettoyer périodiquement les journaux sur tous les nœuds de travail ou démarrer un service.
Utiliser un script Python pour purger régulièrement les données historiques d'une base de données.
Utiliser une API HTTP pour scanner périodiquement les commandes.
Prérequis environnementaux
Un environnement d'exécution Java (JRE) version 1.8 ou ultérieure est requis.
Déployer manuellement l'agent
-
Téléchargez et décompressez le package de l'agent.
Si votre nœud de travail dispose d'une adresse IP publique, exécutez la commande suivante pour télécharger le package :
RemarqueRemplacez X.X.X par le numéro de version souhaité, par exemple 1.12.5.
wget https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-X.X.X.tarVersion
URL de téléchargement
Description
agent 1.13.5
https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-1.13.5.tar.gz
Nouvelles fonctionnalités
Active l'arrêt gracieux pour les tâches à la seconde près.
Permet le transfert de données entre les tâches amont et aval dans un workflow pour les tâches de type script.
Permet la collecte des métriques de performance système avec cgroup v2.
agent 1.13.2
https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-1.13.2.tar.gz
Nouvelles fonctionnalités
Active la collecte des métriques CPU avec CGroup v2.
Permet de personnaliser la taille du pool de threads d'exécution des tâches via la clé de paramètre
share.pool.size.
agent 1.12.5
https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-1.12.5.tar
Nouvelles fonctionnalités :
Permet de récupérer les variables système des tâches à l'aide de espaces réservés.
Permet de personnaliser la taille du pool de threads pour les tâches HTTP.
Autorise les tâches de type script à renvoyer la dernière ligne de la sortie standard comme résultat d'exécution.
agent 1.11.5
https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-1.11.5.tar
Corrections de bugs :
Correction des vulnérabilités de sécurité dans Netty et Logback.
Correction du problème « too old resource version » pour les tâches Kubernetes.
agent 1.10.13
https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-1.10.13.tar
Nouvelles fonctionnalités :
Permet le déploiement de plusieurs agents sur un seul nœud de travail.
Accepte des réponses supérieures à 1 000 octets pour les tâches HTTP.
Optimisation de la journalisation pour réduire le stockage des journaux historiques.
agent 1.10.5
https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-1.10.5.tar
Nouvelles fonctionnalités :
Active l'arrêt gracieux.
Active l'isolation des groupes d'applications dans le service de journalisation.
agent 1.9.8
https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-1.9.8.tar
Nouvelles fonctionnalités :
Active les tâches HTTP basées sur l'agent.
Permet à une tâche de type script de renvoyer la dernière ligne du journal en cas d'échec.
Active les tâches Kubernetes.
agent 1.7.10
https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-1.7.10.tar.gz
Corrections de bugs :
Correction d'un problème entraînant une lenteur d'exécution des tâches à la seconde près.
Correction d'un problème où le service de journalisation pouvait provoquer une erreur d'épuisement de la mémoire (OOM).
agent 1.4.2
https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-1.4.2.tar.gz
Nouvelle fonctionnalité : introduction du service de journalisation.
ImportantSi la commande wget expire lors du téléchargement de l'agent, activez une adresse IP publique pour votre instance ou consultez la rubrique Télécharger ou envoyer des fichiers (Linux).
-
Accédez au répertoire schedulerxAgent/conf et configurez le fichier agent.properties.
Configurez les paramètres suivants :
endpoint=addr-hz-internal.edas.aliyun.com # For public network access, use domainName instead of endpoint. # domainName={domainName} namespace=fd2965c4-xxxx-xxxx-af52-bb62aa4f19f2 groupId=hxm.test appKey=12******789endpoint : le point de terminaison du service. Pour plus d'informations, consultez la rubrique Points de terminaison.
namespace : l'ID du namespace. Vous trouverez cette information sur la page Namespaces ou .
groupId et appKey : l'ID de l'application et la clé de l'application. Retrouvez ces informations sur la page Application Management.
-
Accédez au répertoire schedulerxAgent/bin et exécutez la commande start.sh pour démarrer l'agent.
RemarquePour définir la mémoire allouée au démarrage de l'agent, exécutez
start-200m.sh,start-500m.shoustart-1g.sh.Pendant le démarrage, vous pouvez :
Arrêter l'agent : accédez au répertoire schedulerxAgent/bin et exécutez stop.sh.
-
Consulter les journaux : le chemin d'accès aux journaux est ${user.home}/logs/schedulerx/worker.log.
Pour obtenir la valeur de user.home, exécutez la commande
ps aux | grep java. Si vous démarrez le processus en tant qu'utilisateur admin, le chemin d'accès aux journaux est /home/admin/logs/schedulerx/worker.log. Si vous le démarrez en tant qu'utilisateur root, le chemin d'accès est /root/logs/schedulerx/worker.log.
Si la réponse contient
Schedulerx Worker started, l'agent a démarré avec succès.RemarqueL'agent nécessite un JDK version 1.8 à 14. Si vous utilisez une version ultérieure, supprimez l'option
-XX:+UseConcMarkSweepGCdu fichierschedulerxAgent/bin/start.shsitué dans le répertoire d'installation de l'agent.JAVA_OPTS="-Dproject.name=schedulerxAgent -XX:+UseConcMarkSweepGC -XX:+HeapDumpOxxx -XX:HeapDumpPath=${WORKER_LOG_DIR} -XX:+xxxlysis" if [ -n "${SCHEDULERX_STARTER_MODE}" ]; then JAVA_OPTS="${JAVA_OPTS} -Dschedulerx.stater.mode=${SCHEDULERX_STARTER_MODE}" fi
Déployer à l'aide d'une image Docker
-
Sélectionnez une image Docker en fonction de votre environnement réseau et de l'architecture CPU.
RemarqueLes adresses d'image suivantes sont accessibles via Internet public.
Réseau
x86_64
arm64
Chine (Hangzhou) (réseau public)
schedulerx-registry.cn-hangzhou.cr.aliyuncs.com/schedulerx2/agent:latest-amd64
schedulerx-registry.cn-hangzhou.cr.aliyuncs.com/schedulerx2/agent:latest-arm64
Singapour (réseau public)
schedulerx-registry.ap-southeast-1.cr.aliyuncs.com/schedulerx2/agent:latest-amd64
schedulerx-registry.ap-southeast-1.cr.aliyuncs.com/schedulerx2/agent:latest-arm64
-
Déployez l'agent.
Paramètres :
docker run --env SCHEDULERX_ENDPOINT="addr-hz-internal.edas.aliyun.com" \ --env SCHEDULERX_NAMESPACE="fd2965c4-xxxx-xxxx-af52-bb62aa4f19f2" \ --env SCHEDULERX_GROUPID="hxm.test" \ --env SCHEDULERX_APPKEY="12*****789" \ -d {image id}SCHEDULERX_ENDPOINT : le point de terminaison du service.
SCHEDULERX_NAMESPACEspécifie l'ID du namespace. Vous pouvez obtenir cet ID depuis la page Namespaces de la console.SCHEDULERX_GROUPIDcorrespond à l'ID de l'application.SCHEDULERX_APPKEYcorrespond à la clé de l'application. Vous pouvez obtenir la clé de l'application sur la page Application Management de la console.
Après avoir lancé la tâche de déploiement, utilisez la commande
docker logspour consulter les journaux.
Déployer en tant que déploiement Kubernetes
Si vous disposez déjà d'un environnement Kubernetes, utilisez le fichier schedulerx-agent.yaml pour effectuer un déploiement direct.
|
Paramètre |
Description |
|
${SCHEDULERX_ENDPOINT} |
La région dans laquelle votre application est déployée et le point de terminaison correspondant. Pour plus d'informations, consultez la liste des points de terminaison. Par exemple, |
|
${SCHEDULERX_NAMESPACE} |
L'ID du namespace. Retrouvez cette information sur la page Namespaces du volet de navigation de gauche de la console. |
|
${SCHEDULERX_GROUPID} |
L'ID de l'application (groupId). Retrouvez cette information sur la page Application Management du volet de navigation de gauche de la console. |
|
${SCHEDULERX_APPKEY} |
La clé de l'application (appKey). Retrouvez cette information sur la page Application Management du volet de navigation de gauche de la console. |
|
${SCHEDULERX_SHARE_POOL_SIZE} |
(Facultatif) La taille personnalisée du pool de threads d'exécution des tâches. |