Resumen de problemas comunes en el uso de Apache DolphinScheduler (actualización continua)

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

problema de github 地址

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

Inserte la descripción de la imagen aquí

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

Inserte la descripción de la imagen aquí

Vuelva a importar las dependencias de maven.

La falla de ejecución del trabajador informa el puntero nulo de NPE

Inserte la descripción de la imagen aquí

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"

Inserte la descripción de la imagen aquí
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

Inserte la descripción de la imagen aquí

Solución

Puede Baidu google palabras clave ubuntu fuente: no encontrado Hay una solución

Error 404 al acceder al servicio API

Inserte la descripción de la imagen aquí

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 .
Inserte la descripción de la imagen aquí

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.

Inserte la descripción de la imagen aquí

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.
** Estilo atrevido **

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.
Inserte la descripción de la imagen aquí

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
Inserte la descripción de la imagen aquí
.

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
Inserte la descripción de la imagen aquí
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
Inserte la descripción de la imagen aquí

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.
Inserte la descripción de la imagen aquí

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.

Inserte la descripción de la imagen aquí
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

Referencia fuente

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
Inserte la descripción de la imagen aquí

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

Supongo que te gusta

Origin blog.csdn.net/samz5906/article/details/106434430
Recomendado
Clasificación