Una vez conectado el agente, puede crear trabajos programados, volver a ejecutarlos, consultar los registros de ejecución y revisar los registros operativos directamente en la consola de SchedulerX. Este tema explica cómo conectar una aplicación no Java a SchedulerX mediante un agente, disponible como paquete TAR o imagen de Docker.
Requisitos previos
(Opcional) Se ha creado un namespace. Para obtener más información, consulte Create a namespace.
Se ha creado un recurso. 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
Los principales casos de uso para conectar un agente a SchedulerX incluyen:
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 paquete del agente.
Si su nodo worker tiene una dirección IP pública, puede ejecutar el siguiente comando para descargar el paquete:
NotaReemplace X.X.X con el número de versión que necesite; por ejemplo, 1.12.5.
wget https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-X.X.X.tarVersión
URL de descarga
Descripción
agent 1.13.5
https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-1.13.5.tar.gz
Nuevas funciones
Habilita el apagado controlado para trabajos de nivel de segundo.
Permite pasar datos entre trabajos anteriores y posteriores en un flujo de trabajo para trabajos de script.
Permite recopilar métricas de rendimiento del sistema con cgroup v2.
agent 1.13.2
https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-1.13.2.tar.gz
Nuevas funciones
Habilita la recopilación de métricas de CPU con CGroup v2.
Permite personalizar el tamaño del pool de hilos de ejecución de trabajos mediante la clave de parámetro
share.pool.size.
agent 1.12.5
https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-1.12.5.tar
Nuevas funciones:
Permite recuperar variables del sistema de trabajos mediante placeholders.
Permite personalizar el 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 de la ejecución.
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:
Permite desplegar varios agentes en un solo nodo worker.
Admite respuestas mayores a 1,000 bytes para trabajos HTTP.
Optimiza el 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:
Habilita el apagado controlado.
Permite el aislamiento de grupos de aplicaciones en el servicio de registros.
agent 1.9.8
https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-1.9.8.tar
Nuevas funciones:
Habilita trabajos HTTP basados en agente.
Permite que un trabajo de script devuelva la última línea del registro en caso de fallo.
Habilita 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 nivel de segundo se ejecutaban lentamente.
Soluciona un problema donde el servicio de registros 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: Introduce el servicio de registros.
ImportanteSi el comando wget agota el tiempo de espera al descargar el agente, habilite una dirección IP pública para su instancia o consulte Upload or download files (Linux).
-
Vaya al directorio schedulerxAgent/conf y configure el archivo agent.properties.
Configure los siguientes parámetros:
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: El endpoint del servicio. Para obtener más información, consulte Endpoints.
namespace: El ID del namespace. Puede encontrarlo en la página Namespaces o .
groupId y appKey: El ID de la aplicación y la clave de la aplicación. Encuentre estos valores en la página Application Management.
-
Vaya al directorio schedulerxAgent/bin y ejecute el comando start.sh para iniciar el agente.
NotaPara establecer la memoria al iniciar el agente, puede ejecutar
start-200m.sh,start-500m.shostart-1g.sh.Durante el inicio, puede:
Detener el agente: Vaya al directorio schedulerxAgent/bin y ejecute stop.sh.
-
Consultar registros: La ruta de los registros es ${user.home}/logs/schedulerx/worker.log.
Para obtener el valor de user.home, ejecute el comando
ps aux | grep java. Si inicia el proceso como usuario admin, la ruta de los registros es /home/admin/logs/schedulerx/worker.log. Si lo inicia como usuario root, la ruta es /root/logs/schedulerx/worker.log.
Si la respuesta contiene
Schedulerx Worker started, el agente se ha iniciado correctamente.NotaEl agente requiere JDK 1.8 a 14. Si utiliza una versión 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:+xxxlysis" if [ -n "${SCHEDULERX_STARTER_MODE}" ]; then JAVA_OPTS="${JAVA_OPTS} -Dschedulerx.stater.mode=${SCHEDULERX_STARTER_MODE}" fi
Despliegue mediante imagen de Docker
-
Seleccione una imagen de Docker según su entorno de red y arquitectura de CPU.
NotaLas siguientes direcciones de imagen son accesibles a través de Internet público.
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.
Parámetros:
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: El endpoint del servicio.
SCHEDULERX_NAMESPACEespecifica el ID del namespace. Puede obtener el ID desde la página Namespaces en la consola.SCHEDULERX_GROUPIDes el ID de la aplicación.SCHEDULERX_APPKEYes la clave de la aplicación. Puede obtener la clave de la aplicación en la página Application Management en la consola.
Después de iniciar el trabajo de despliegue, puede usar el comando
docker logspara consultar los registros.
Despliegue como Kubernetes Deployment
Si ya cuenta con un entorno de Kubernetes, puede utilizar el archivo schedulerx-agent.yaml para realizar el despliegue directamente.
|
Parámetro |
Descripción |
|
${SCHEDULERX_ENDPOINT} |
La región donde se despliega su aplicación y el endpoint correspondiente. Para obtener más información, consulte Endpoint list. Por ejemplo, |
|
${SCHEDULERX_NAMESPACE} |
El ID del namespace. Encuéntrelo en la página Namespaces del panel de navegación izquierdo de la consola. |
|
${SCHEDULERX_GROUPID} |
El ID de la aplicación (groupId). Encuéntrelo en la página Application Management del panel de navegación izquierdo de la consola. |
|
${SCHEDULERX_APPKEY} |
La clave de la aplicación (appKey). Encuéntrela en la página Application Management del panel de navegación izquierdo de la consola. |
|
${SCHEDULERX_SHARE_POOL_SIZE} |
Opcional. El tamaño personalizado del pool de hilos de ejecución de trabajos. |