Resumen de problemas comunes de uso de DolphinScheduler
- Descripción
- Problemas comunes del entorno de desarrollo
- Preguntas frecuentes sobre la programación de la implementación
- Preguntas frecuentes sobre la programación
-
-
-
- Error de inicio de sesión inicial del sistema
- La página de supervisión La página del trabajador maestro se ha estado cargando con fuerza o no hay datos en la consulta
- El flujo de trabajo se ejecuta manualmente, pero no hay datos en la página de la instancia de la tarea.
- El estado de la instancia de la tarea se envía correctamente, pero nunca se ejecuta
- Error al cargar el archivo
- La consulta SQL se realizó correctamente, pero la instancia de la tarea falló
- Error en la ejecución de la tarea de inserción de datos de SQL
- load o availablePhysicalMemorySize (G) es demasiado alto
- El estado de monitoreo del guardián del zoológico es anormal
- No se pudo crear el inquilino
- El maestro y el trabajador se detienen anormalmente
- Truncamiento de datos: datos demasiado largos para la columna 'app_link' en la fila 1
-
-
Descripción
Los problemas comunes en el artículo se encuentran durante el uso. Si el artículo no tiene el problema que encontró, envíe un problema en github.
Dirección del sitio web oficial
Precauciones de uso
Paquete de instalación y directorio de instalación
安装包:是下载的的源文件,只有在安装时候才会用到,相安装好调度可以删除该目录。
安装目录:运行install.sh后调度安装的目录,对调度管理都在安装目录下操作,比如 启停服务,、配置、查看日志等等。
官网文档中的描述如下(配置在install.sh中),**记住**任何操作都在安装目录下操作。
#将DS安装到哪个目录,如: /opt/soft/dolphinscheduler,不同于现在的目录
installPath="/opt/soft/dolphinscheduler"
Directorio de vista de registro
Suponiendo que la configuración de instalación es installPath = "/ opt / soft / dolphinscheduler" durante la programación de la instalación, entonces el directorio de registro se encuentra en
/ opt / soft / dolphinscheduler / logs
Ver la
cola del registro del trabajador -f /opt/soft/dolphinscheduler/logs/dolphinscheduler-worker.log
Compruebe la
cola del registro maestro -f /opt/soft/dolphinscheduler/logs/dolphinscheduler-master.log
Ver registro de api
tail -f /opt/soft/dolphinscheduler/logs/dolphinscheduler-api-server.log
Ver el registro de alertas
tail -f /opt/soft/dolphinscheduler/logs/dolphinscheduler-alert.log
Ver el registro del registrador del servicio de registro
tail -f /opt/soft/dolphinscheduler/logs/dolphinscheduler-logger-server-huaweiyun.out
huaweiyun es el nombre de host, modifíquelo a su local
Problemas comunes del entorno de desarrollo
El puerto de inicio de la API es 8080, no 12345
En el entorno inicial, la configuración predeterminada de api es 12345, la
solución es
editar la configuración en ejecución y agregar la siguiente configuración
-Dserver-api-server -Dspring.profiles.active=api
No puedo encontrar el controlador mysql
Debido a que DolphinScheduler usa postgresql de forma predeterminada, la dependencia del controlador mysql no se introduce de forma predeterminada. Necesita modificar manualmente el archivo pom.
Solución:
busque pom.xml en el directorio raíz
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.connector.version}</version>
<scope>test</scope>
</dependency>
Quite <scope> test </ scope> y está bien
Vuelva a importar las dependencias de maven.
La falla de ejecución del trabajador informa el puntero nulo de NPE
Solución:
agregue los siguientes parámetros en las opciones de WorkServer vm
-Dspring.profiles.active = worker -Dlogging.config = "dolphinscheduler-server / src / main / resources / logback-worker.xml"
Si no se puede encontrar el archivo, elimine las comillas dobles
-Dspring.profiles.active = trabajador -Dlogging.config = dolphinscheduler-server / src / main / resources / logback-worker.xml
Preguntas frecuentes sobre la programación de la implementación
fuente de error de implementación de ubuntu: no encontrado
Solución
Puede Baidu google palabras clave ubuntu fuente: no encontrado Hay una solución
Error 404 al acceder al servicio API
Solución
Falta el nombre del proyecto en la solicitud anterior y la dirección completa es http: // ip: 12345 / dolphinscheduler /
Puerto predeterminado de API 12235
Preguntas frecuentes sobre la programación
Error de inicio de sesión inicial del sistema
Generalmente, este error es la contraseña incorrecta. La contraseña inicial para la programación es la siguiente, preste atención a copiar sin espacios.
Cuenta: admin
Contraseña: dolphinscheduler123
La página de supervisión La página del trabajador maestro se ha estado cargando con fuerza o no hay datos en la consulta
A través del comando jps, puede ver los procesos WorkerServer y MasterServer. Puede haber una razón por la que zk no funciona .
Solución
Compruebe si zk está iniciado. Si no se inicia, inicie el servicio zk. Luego, supervise la página para ver el estado de Master Worker
El flujo de trabajo se ejecuta manualmente, pero no hay datos en la página de la instancia de la tarea.
Hay muchos factores para este problema. Supongamos que tanto zk como worker master se inician correctamente.
Al verificar los registros del trabajador, encontramos que hay una carga de registro o que availablePhysicalMemorySize (G) es demasiado alto. El problema es el mismo que el siguiente carga de problema o availablePhysicalMemorySize (G) es demasiado alto . Consulte el problema para encontrar soluciones.
El estado de la instancia de la tarea se envía correctamente, pero nunca se ejecuta
Hay muchos factores para este problema. El primer análisis de la situación actual es que el archivo de registro del trabajador dolphinscheduler-worker.log ha estado imprimiendo el siguiente registro de tareas de consumo: [], todavía hay 1 tareas que deben ejecutarse, el número de tareas no ha disminuido . En este caso, la IP de la configuración del grupo de trabajadores asociada con la tarea puede ser inconsistente con la IP del servicio del trabajador. La tarea no se puede ejecutar.
Solución:
Vaya a Security Center-> Worker branch management y modifique la IP del grupo para que sea coherente con la IP del servicio Worker.
Error al cargar el archivo
Suponiendo que se hayan configurado los servicios de almacenamiento de archivos de requisito previo, la carga tiene el siguiente problema Nginx: 413 Request Entity Too Large. La razón es el límite de archivos de carga de Nginx.
Solución:
Modifique /etc/nginx/nginx.conf. Aumente el límite de tamaño de archivo de carga y aumente el límite de tamaño de archivo de carga de nginx en la sección http {}
client_max_body_size 200M
Reiniciar ngnix
ps: si la descripción no está detallada, puede Baidu Google palabra clave 413 nginx
La consulta SQL se realizó correctamente, pero la instancia de la tarea falló
El registro de fallas es el siguiente, porque el resultado de la consulta SQL se enviará por correo electrónico y el error del registro es que no se ha configurado ningún servicio de correo
.
Configure el archivo de configuración del servicio de correo como conf / alert.properties
El ejemplo de configuración es el siguiente, configuración del buzón 163. Para
obtener detalles sobre la configuración del buzón, consulte este artículo
Error en la ejecución de la tarea de inserción de datos de SQL
[ERROR] 2020-06-05 10:20:07.756 - [taskAppId=TASK-9-493-494]:[336] - Can not issue data manipulation statements with executeQuery().
java.sql.SQLException: Can not issue data manipulation statements with executeQuery().
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1084)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:987)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:973)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:918)
at com.mysql.jdbc.StatementImpl.checkForDml(StatementImpl.java:501)
at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2150)
at org.apache.dolphinscheduler.server.worker.task.sql.SqlTask.executeFuncAndSql(SqlTask.java:295)
at org.apache.dolphinscheduler.server.worker.task.sql.SqlTask.handle(SqlTask.java:176)
at org.apache.dolphinscheduler.server.worker.runner.TaskScheduleThread.run(TaskScheduleThread.java:142)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Solución:
El motivo del error es que el tipo SQL es una ejecución de la consulta que no es de consulta. La solución es actualizar la tarea y cambiar el tipo de SQL a no consulta
load o availablePhysicalMemorySize (G) es demasiado alto
El registro de antecedentes del trabajador siempre muestra el siguiente registro, porque la memoria del servidor o la CPU no es suficiente (debido a que el tamaño de pila predeterminado es 1G para el inicio programado, si se inician los 5 servicios, consumirá 5G de memoria). Este es el mecanismo de autoprotección del trabajador, no aceptará nuevas tareas, seguirá aceptando nuevas tareas cuando la tarea actual esté terminada o cuando la CPU y la memoria estén sobrante.
Solución
1 Si se están ejecutando otros programas (gran consumo de memoria), puede esperar a que se completen otras tareas y luego observar si el trabajador tiene registros de capacidad insuficientes.
2 Si eres un tirano local, expande directamente la memoria
3 Si la memoria física de la máquina no carece de 5G, hay dos formas de solucionarlo
- Puede desactivar algunos servicios primero, como kill alert, logger, etc. directamente.
- Puede ajustar los parámetros de inicio, modificar el archivo de configuración bin / dolphinscheduler-daemon.sh, modificar el valor -Xms para que sea más pequeño
export DOLPHINSCHEDULER_OPTS="-server -Xmx16g -Xms1g -Xss512k -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:LargePageSizeInBytes=128m -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70"
Referencia fuente
El estado de monitoreo del guardián del zoológico es anormal
zk se inicia normalmente y Master Worker se inicia normalmente. Pero el estado de autocomprobación del nodo zk es anormal, lo que se debe a que no se obtuvo la palabra FourLetterWord de zk.
Solución
Primero ejecute el comando, localhost es la dirección del servicio
echo ruok|nc localhost 2181
Si aparece el siguiente mensaje, debe modificar la configuración zoo.cfg configuration
ruok is not executed because it is not in the whitelist.
Agregue la siguiente configuración en zoo.cfg
4lw.commands.whitelist=*
Reiniciar zk
Si no hay un comando nc, primero debe instalar yum install nc
No se pudo crear el inquilino
Para crear un inquilino, debe usar HDF y se producen errores generales al operar HDFS.
Los posibles errores incluyen si hdfs está configurado, la operación de hdfs no está autorizada, etc.
Por ejemplo, lo siguiente no es una solicitud de permiso
Solución
Cuando se encuentre con este problema, primero mire el registro de la API y realice los cambios de acuerdo con las indicaciones de error del registro.
De todos modos, primero asegúrese de que su HDFS haya sido configurado . (Actualmente, la corriente principal es el tipo hdfs, no se han probado otros tipos)
ps: consulte este problema para la modificación del archivo de configuración hdfs
El maestro y el trabajador se detienen anormalmente
la razón
El maestro y el trabajador deben informar el latido del corazón al cuidador del zoológico. Si el latido no se informa dentro del tiempo especificado, el maestro y el trabajador se detendrán automáticamente y
aparecerá el siguiente registro
[INFO] 2020-04-30 06:48:28.032 org.apache.dolphinscheduler.server.master.MasterServer:[180] - master server is stopping ..., cause : i was judged to death, release resources and stop myself
[INFO] 2020-04-30 06:48:29.425 org.apache.dolphinscheduler.server.master.runner.MasterSchedulerThread:[143] - master server stopped...
[INFO] 2020-04-30 06:48:31.033 org.apache.dolphinscheduler.server.master.MasterServer:[197] - heartbeat service stopped
Entonces, si el cuidador del zoológico pierde la conexión (cuelga), el Maestro y el Trabajador también cuelgan.
Solución
1 Asegúrese de que se pueda acceder normalmente al servicio del guardián del zoológico.
2 Puede modificar la configuración del tiempo de espera del guardián del zoológico.
En la versión 1.2, el tiempo de espera es de 300 ms. Puede cambiar el
archivo de configuración a conf / zookeeper.properties y modificarlo de acuerdo con la situación real.
Consulte el problema
Truncamiento de datos: datos demasiado largos para la columna 'app_link' en la fila 1
El motivo es que el campo app_link es demasiado largo.
Solución
1) Antes de la versión 1.3, la longitud de t_ds_task_instance.app_link es 255. Puede modificar la longitud del campo, guión oficial
ALTER TABLE t_ds_task_instance ALTER COLUMN app_link type text
2) Puede actualizar a la última versión, el problema se ha resuelto,
Consulte el problema