Despliegue de Saturno Ejecutor
El albacea es el ejecutor del trabajo. Esta sección presentará cómo implementar el trabajo depurado en el Ejecutor para ejecutarlo. Consulte el capítulo "Introducción" sobre cómo desarrollar y depurar trabajos.
Cuando se inicia el Ejecutor, debe especificar el dominio al que pertenece. Después del inicio, el Ejecutor extraerá automáticamente la información de configuración del trabajo bajo el dominio y luego ejecutará la programación del trabajo de acuerdo con la disposición de programación del esquema de la Consola Saturn y la expresión Cron del trabajo.
1 Preparación antes del despliegue
1.1 Preparación del hardware
1 servidor Linux
Aquí solo se presenta el método del sistema operativo Linux. El otro sistema operativo no es muy diferente.
1.2 Preparación del software
JDK> = 1,7
1.3 Inspección
- Compruebe si puede acceder a la Consola Saturn (consulte la guía de implementación de la Consola Saturn)
- Verifique si hay un espacio de nombres designado en la Consola Saturn (puede buscar el nombre del espacio de nombres en el registro de la consola)
- Compruebe si se puede acceder a ZooKeeper (consulte la Guía de implementación de la consola Saturn). Puede usar telnet para que se corresponda con el puerto zk, el valor predeterminado es (2181)
- Si está implementando un trabajo de Java, compruebe si se ha empaquetado un paquete * -app.zip. Para obtener más información, consulte la operación Java de las Pautas de desarrollo de operaciones de Saturn.
2 Iniciar la implementación
2.1 Establecer variables de entorno
Establecer uri de la consola de Saturno:
export VIP_SATURN_CONSOLE_URI=http://localhost:9088
2.2 Obtener albacea
Haga clic en el enlace de https://github.com/vipshop/Saturn/releases para obtener la última versión de '
Executor Zip File', y obtendrá un archivo saturn-ejecutor- {version} -zip.zip.
Coloque el archivo zip en la ruta de instalación deseada (llamado $ TARGET_DIR) y descomprímalo para obtener el directorio de saturn-ejecutor- {versión}. La estructura del directorio es la siguiente:
saturn-executor-{version}
-/bin
-/demo_script
-/lib
-/logs
-saturn-executor.jar
/ bin: almacena el script de inicio del ejecutor (saturn-executor.sh)
/ bin: almacena el script de inicio del ejecutor (saturn-executor.sh)
/ demo_script: algunos scripts de demostración (4 scripts php)
/ lib: almacena las dependencias del ejecutor y los paquetes jar de terceros
/ logs: Ya no se usa y se descartará
saturn-ejecutor.jar: el jar principal iniciado por el ejecutor
2.3 Despliegue de trabajos
2.3.1 Implementar trabajo de shell
Coloque el script de shell desarrollado en un directorio, como el directorio / apps / saturn / shell, y luego agregue trabajos a través de la consola.
Asegúrese de que estos scripts tengan permisos suficientes para ejecutarse.
2.3.2 Implementar trabajo de Java
Descomprima el ** - app.zip desarrollado y empaquetado en el mismo directorio que / saturn-ejecutor- {versión}. La estructura del directorio se muestra en la siguiente figura.
Cuando se inicia Executor, escaneará el directorio de la aplicación y cargará todos los paquetes jar en este directorio (incluidos los subdirectorios).
saturn-executor-{version}
-/bin
-/demo_script
-/lib
-/logs
-saturn-executor.jar
app
-/lib
- abc.jar
- xyz.jar
2.3 Modificación del nombre de la tarjeta de red
Asegúrese de que el nombre de su tarjeta de red contenga bond0 o eth0. De lo contrario, se informará un error durante el inicio:
getCachedAddressException:java.lang.Exception: wrong with get ip cause by could not read any info from local host, bond0 and eth0
Si no hay bond0 o eth0, debe modificar el nombre de su tarjeta de red.
2.4 Iniciar ejecutor
cd saturn-executor-{
version}/bin
#修改权限
chmod a+x saturn-executor.sh
#启动
./saturn-executor.sh start -n www.abc.com -e executor_001
Descripción de parámetros:
parámetro | Necesario | descripción | Defaults |
---|---|---|---|
-norte | Y | El espacio de nombres al que pertenece este ejecutor | |
-mi | norte | El ID único de este ejecutor, si no se especifica, se usa el nombre de host | nombre de host |
-env | norte | Modo de operación, el valor puede ser dev / product. En modo dev -Xmx es 512 m, en modo producto -Xmx es 2G | producto |
-re | norte | Directorio de biblioteca empresarial | $ TARGET_DIR / aplicación |
-r | norte | Modo de ejecución, primer plano (primer plano) o fondo (fondo), vacío representa el modo de fondo. | aire |
-t | norte | El período de tiempo de espera de este inicio ejecutor, en segundos | 120 |
-jmx | norte | puerto jmx | 24501 |
-sld | norte | directorio de registro de saturno | / apps / logs / saturn / {namespace} / {ejecutorname} - {ip} / |
jvmArgs | norte | Parámetros de JVM que deben agregarse | aire |
VIP_SATURN_INIT_JOB_BY_GROUPS (-D o variable de entorno) | norte | Si la máquina Ejecutora establece esta variable, el Ejecutor solo puede iniciar los trabajos que pertenecen al grupo en este dominio; de lo contrario, puede iniciar todos los trabajos en este dominio. Separe grupos1, grupos2 con comas para varios valores |
No |
VIP_SATURN_START_TIMEOUT | norte | El tiempo de espera de inicio de este ejecutor, en segundos | 120 |
VIP_SATURN_RUNNING_IP (-D o variable de entorno) |
norte | La ip en ejecución de este ejecutor (informará un error cuando no haya eth0 y bond0 en algunas macs, este error se puede resolver configurando hosts o configurando la variable de entorno) | |
VIP_SATURN_RUNNING_HOSTNAME | norte | El nombre de host en ejecución de este ejecutor |
A continuación se muestra el resultado de la consola de un inicio exitoso:
$ ./saturn-executor.sh start -n www.abc.com -e executor-0134
The java version is 1.8.0_121
Log redirects to /apps/logs/saturn/www.abc.com/executor-0134-xxx.xxx.xxx.xxx
The jmx port is 24501.
Saturn executor start successfully, running as process:18332.
Si el inicio falla, verifique saturn-ejecutor.log de acuerdo con la ruta solicitada por la consola.
2.5 Iniciar varios ejecutores en una sola máquina física
Se recomienda iniciar un ejecutor en una máquina física. Si desea iniciar varios ejecutores en una sola máquina física, se recomiendan los siguientes pasos:
-
Copiar saturn-ejecutor- {versión} a varios
-
Al iniciar estos ejecutores, especifique diferentes nombres de ejecutor y puertos JMX respectivamente, el comando es el siguiente:
$ ./saturn-executor.sh start -n www.abc.com -e executor-001 -jmx 24502
Nota: nombre del ejecutor, el predeterminado es el nombre de host; el puerto jmx predeterminado es 24501
2.6 Preguntas frecuentes
P: ¿Cuál es el proceso cuando se implementa un nuevo trabajo?
R: Consulte el capítulo "Versión gris".