El componente Ambari-Ranger modificó el puerto predeterminado de MySQL y provocó que la falla de inicio resolviera el problema (falla del enlace de comunicaciones)

Tabla de contenido

1. Escenario de problemas

Dos, la solucion

Proceso de resolución de problemas uno

Proceso de resolución de problemas dos


1. Escenario de problemas

       Instale el clúster Ambari + HDP, modifique el puerto predeterminado de MySQL, no hay ningún problema durante la instalación, Ranger Admin informa el siguiente error al iniciar:

Descripción del problema:  en la página de Ambari, al instalar el componente Ranger, el puerto de la base de datos MySQL utilizada en segundo plano se modificó a: puerto 3306 no predeterminado. Se informó un  error al iniciar y reiniciar el componente Ranger:
/usr/jdk64/java/bin/java -cp /usr/hdp/current/... jdbc:mysql://namenode/ranger -u 'ranger' -p '******' -noheader ......
falta el número de puerto: 3906, que en realidad debería ser:...... jdbc:mysql://namenode:3906/ranger ......

El error final es el siguiente:

Causado por: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure De acuerdo con esta información para resolver el problema, no se encontró la causa raíz del problema después de un desvío.


Dos, la solucion

Proceso de resolución de problemas uno

Al principio, realmente pensé que era la razón del tiempo de espera de la conexión de MySQL, pero todavía no estaba seguro, porque antes no había ningún problema con el puerto predeterminado de MySQL.

Causado por: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: falla del enlace de comunicaciones

Cuando la base de datos se reinicia o la conexión inactiva de la base de datos excede el tiempo de espera máximo establecido , la base de datos desconectará a la fuerza el enlace existente. El tiempo de espera máximo se puede show global variables like "wait_timeout";consultar mediante el comando :

mysql> show global variables like "wait_timeout";
+---------------+-------+
| VARIABLE_NAME | VALUE |
+---------------+-------+
| wait_timeout  | 28800 |
+---------------+-------+
1 row in set (0.00 sec)

Pero después de hacer la configuración anterior, la volví a cambiar sin mí y descarté esta posibilidad, así que pensé que era un pozo de Ranger, así que busqué en Internet y alguien lo encontró.

Proceso de resolución de problemas dos

El gran pozo de un mbari en el guardabosques ---- El puerto predeterminado es 3306, que debe modificarse manualmente

Cuando ambari instala el guardabosques, debe conectarse a la base de datos. Se usa la base de datos mysql. En este momento, debe ingresar el nombre de usuario raíz de la base de datos y la contraseña, porque necesita conectarse al usuario raíz para crear un nuevo usuario y base de datos

El problema radica aquí, porque el entorno de producción ha cambiado el puerto predeterminado de MySQL, pero el script de inicio del guardabosques usa el puerto predeterminado de MySQL.

/usr/jdk64/java/bin/java -cp /usr/hdp/current/... jdbc:mysql://namenode/ranger -u 'ranger' -p '******' -noheader ......
Falta el número de puerto: 33066, que en realidad es:...... jdbc:mysql://namenode:33066/ranger ......

Entonces ingresé el script de inicio: vim /usr/hdp/current/ranger-admin/db_setup.py, busqué    la ubicación de jisql_cmd y encontré el lugar de jdbc: mysql: // y lo modifiqué manualmente. La versión de Ambari es diferente y la ubicación de jdbc: myql puede ser diferente.

Recuerde: es el puerto MySQL modificado después del primer% s

 Posible problema : vim /usr/hdp/current/ranger-admin/db_setup.py no se puede guardar después de editar el archivo, es de solo lectura, puede probar sudo vim para ingresar al archivo con privilegios de root.

Supongo que te gusta

Origin blog.csdn.net/qq_35995514/article/details/108253976
Recomendado
Clasificación