Este tema explica cómo conectar una aplicación no Java a SchedulerX mediante un agente desplegado desde un paquete tar o una imagen.
Requisitos previos
(Opcional) Ha creado un namespace. Para obtener más información, consulte Create a namespace.
Ha creado un resource. Para obtener más información, consulte Create a resource.
El agente admite la programación y ejecución de trabajos de DataWorks. Para obtener más información, consulte DataWorks jobs.
Casos de uso
A continuación se presentan los casos de uso comunes para conectar un agente a SchedulerX:
Uso de un script de shell para limpiar periódicamente los registros en todos los nodos worker o iniciar un servicio.
Uso de un script de Python para limpiar periódicamente datos históricos de una base de datos.
Uso de una API HTTP para escanear pedidos periódicamente.
Requisitos del entorno
Se requiere Java Runtime Environment (JRE) 1.8 o posterior.
Despliegue manual del agente
-
Descargue y descomprima el agente.
Si su nodo worker tiene una dirección IP pública, puede ejecutar el siguiente comando para descargar el agente:
NotaReemplace X.X.X con el número de versión requerido; por ejemplo, 1.12.5.
wget https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-X.X.X.tarVersión
URL de descarga
Notas de la versión
Agent 1.14.0
https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-1.14.0.tar.gz
Nuevas funciones:
Las tareas de script ahora admiten la finalización forzada.
clientInfo.logimprime la salida completa del script, que puede recopilar mediante SLS.
Agent 1.13.5
https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-1.13.5.tar.gz
Nuevas funciones:
Admite el apagado controlado para trabajos de retardo de segundos.
Admite la transferencia de datos entre trabajos anteriores y posteriores en un flujo de trabajo para trabajos de script.
Admite la recopilación de métricas de rendimiento del sistema en cgroup v2.
Agent 1.13.2
https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-1.13.2.tar.gz
Nuevas funciones:
Admite la recopilación de métricas de CPU en cgroup v2.
Admite la personalización del tamaño del pool de hilos para la ejecución de trabajos. Parámetro:
share.pool.size.
Agent 1.12.5
https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-1.12.5.tar
Nuevas funciones:
Admite using placeholders to obtain system variables for jobs.
Admite la personalización del tamaño del pool de hilos para trabajos HTTP.
Permite que los trabajos de script devuelvan la última línea de la salida estándar como resultado.
Agent 1.11.5
https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-1.11.5.tar
Correcciones de bugs:
Soluciona vulnerabilidades de seguridad en Netty y Logback.
Soluciona el problema "too old resource version" en trabajos de Kubernetes.
Agent 1.10.13
https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-1.10.13.tar
Nuevas funciones:
Admite el despliegue de varios agentes en un solo nodo worker.
Admite respuestas mayores a 1,000 bytes para trabajos de agente HTTP.
Optimiza la función de registro para reducir el almacenamiento de registros históricos.
Agent 1.10.5
https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-1.10.5.tar
Nuevas funciones:
Admite el apagado controlado.
La función de registro admite el aislamiento de grupos de aplicaciones.
Agent 1.9.8
https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-1.9.8.tar
Nuevas funciones:
Admite trabajos HTTP en modo agente.
Admite la devolución de la última línea del registro si falla un trabajo de script.
Admite trabajos de Kubernetes.
Agent 1.7.10
https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-1.7.10.tar.gz
Correcciones de bugs:
Soluciona un problema donde los trabajos de retardo de segundos se ejecutaban lentamente.
Soluciona un problema donde la función de registro podía causar un error de Out of Memory (OOM).
Agent 1.4.2
https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-1.4.2.tar.gz
Nueva función: Admite la función de registro.
ImportanteSi el comando wget agota el tiempo de espera al descargar el agente, habilite una dirección IP pública para su nodo worker o consulte Upload or download files (Linux).
-
Vaya al directorio schedulerxAgent/conf y configure el archivo agent.properties.
endpoint=addr-hz-internal.edas.aliyun.com namespace=fd2965c4-****-****-af52-bb62aa4***** groupId=hxm.test appKey=1234*****endpoint: El endpoint del servicio. Para obtener más información, consulte List of endpoints.
namespace: El ID del namespace. Puede encontrarlo en la página Namespace o .
groupId y appKey son el ID único y la clave de su aplicación. Puede encontrarlos en la página Application Management.
-
Vaya al directorio schedulerxAgent/bin y ejecute el comando start.sh.
NotaPara especificar la asignación de memoria del agente al inicio, puede ejecutar
start-200m.sh,start-500m.shostart-1g.sh.Una vez iniciado el agente, puede realizar las siguientes operaciones:
Para detener el agente, vaya al directorio schedulerxAgent/bin y ejecute stop.sh.
-
Para consultar los registros, revise el archivo en ${user.home}/logs/schedulerx/worker.log.
La variable ${user.home} es el directorio principal del usuario que inició el agente. Puede identificar a este usuario ejecutando el comando
ps aux | grep java. Por ejemplo, si el proceso lo inicia el usuario admin, la ruta del registro es /home/admin/logs/schedulerx/worker.log. Si lo inicia el usuario root, la ruta es /root/logs/schedulerx/worker.log.
El mensaje
Schedulerx Worker starteden la salida indica que el despliegue fue exitoso.NotaSi utiliza Java Development Kit (JDK) versión 14 o posterior, debe eliminar la opción
-XX:+UseConcMarkSweepGCdel archivoschedulerxAgent/bin/start.shen el directorio de instalación del agente.JAVA_OPTS="-Dproject.name=schedulerxAgent -XX:+UseConcMarkSweepGC -XX:+HeapDumpOxxx -XX:HeapDumpPath=${WORKER_LOG_DIR} -XX:+xxx lysis" if [ -n "${SCHEDULERX_STARTER_MODE}" ]; then JAVA_OPTS="${JAVA_OPTS} -Dschedulerx.stater.mode=${SCHEDULERX_STARTER_MODE}"
Despliegue con una imagen de Docker
-
Seleccione una imagen según su entorno de red y arquitectura de CPU.
Red
x86_64
arm64
China (Hangzhou) (Public network)
schedulerx-registry.cn-hangzhou.cr.aliyuncs.com/schedulerx2/agent:latest-amd64
schedulerx-registry.cn-hangzhou.cr.aliyuncs.com/schedulerx2/agent:latest-arm64
Singapore (Public network)
schedulerx-registry.ap-southeast-1.cr.aliyuncs.com/schedulerx2/agent:latest-amd64
schedulerx-registry.ap-southeast-1.cr.aliyuncs.com/schedulerx2/agent:latest-arm64
-
Despliegue el agente.
Descripción de parámetros:
docker run --env SCHEDULERX_ENDPOINT="addr-hz-internal.edas.aliyun.com" \ --env SCHEDULERX_NAMESPACE="fd2965c4-****-****-af52-bb62aa4*****" \ --env SCHEDULERX_GROUPID="hxm.test" \ --env SCHEDULERX_APPKEY="1234*****" \ -d {image id}SCHEDULERX_ENDPOINT: El endpoint.
SCHEDULERX_NAMESPACE: El ID del namespace. Puede encontrarlo en la página Namespace o en la consola.SCHEDULERX_GROUPIDes el groupId ySCHEDULERX_APPKEYes la clave de la aplicación. Puede obtenerlos en la página Application Management en la consola.
Una vez iniciado el despliegue, puede ejecutar el comando
docker logspara consultar los registros.
Despliegue con un deployment de Kubernetes
Si utiliza Kubernetes, la forma más sencilla de desplegar el agente es aplicar el archivo schedulerx-agent.yaml.
|
Variable |
Descripción |
|
${SCHEDULERX_ENDPOINT} |
El endpoint de la región donde está desplegada su aplicación. Para obtener más información, consulte List of endpoints. Ejemplo: |
|
${SCHEDULERX_NAMESPACE} |
El ID del namespace. Puede encontrarlo en la página Namespace en la consola. |
|
${SCHEDULERX_GROUPID} |
El groupId de su aplicación. Puede encontrarlo en la página Application Management en la consola. |
|
${SCHEDULERX_APPKEY} |
El appKey de su aplicación. Puede encontrarlo en la página Application Management en la consola. |