es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

No hay ningún gestor para la cadena de conexión

Tan pronto como mi clúster de EMR estuvo listo para ser ejecutado.

Comencé a enfrentar algunos problemas al listar bases de datos e importar sqoop.

Aparentemente, sqoop se ha instalado normalmente y está funcionando correctamente cuando escribo “sqoop help” en la terminal de Linux.

Como puedes ver, el comando es reconocido normalmente.

Sin embargo, si pruebo el comando de importación de sqoop, este no funciona y muestra un error:

sqoop import \
–connect jdbc:postgresql://sportsdb.cxri########.us-east-2.rds.amazonaws.com/SportsDB \
–username postgres \
–password mypassword \
–table addresses –target-dir s3://sqoop-table-from-rds-to-s3/sqoop-table/ -m 1 –fields-terminated-by ‘\t’ –lines-terminated-by ‘,’

Lo mismo ocurre con el segundo, que es “sqoop list-databases” como se muestra a continuación:

sqoop list-databases \
–connect jdbc:postgresql://sportsdb.cxri########.us-east-2.rds.amazonaws.com \
–username postgres \
–password mypassword

No funcionan y no ocurre nada ;/

También descargué el archivo jar y lo coloqué en /usr/lib/sqoop/lib/ donde se encuentran los archivos jar en sqoop.

Para hacerlo, ejecuté los siguientes dos comandos:

1) wget -O postgresql-jdbc.jar https://jdbc.postgresql.org/download/postgresql-42.3.1.jar

2) sudo mv postgresql-jdbc.jar /usr/lib/sqoop/lib/

Alguien más tiene alguna sugerencia sobre qué se puede hacer para solucionar este problema?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Como experto en tecnología de la información especializado en PostgreSQL, Amazon Web Services, Amazon S3, JDBC y Sqoop, aquí hay algunas sugerencias para solucionar el problema que se presenta al listar bases de datos e importar Sqoop:

    1. Verificar la compatibilidad de la versión del controlador JDBC de PostgreSQL: Asegurarse de que la versión del controlador JDBC de PostgreSQL sea compatible con la versión de PostgreSQL que se ejecuta en la instancia de RDS. Por ejemplo, si la instancia de RDS está ejecutando la versión 10.5 de PostgreSQL, la versión compatible del controlador JDBC es postgresql-42.2.5.jar.
    2. Verificar el classpath de Sqoop: Asegurarse de que el archivo jar del controlador JDBC de PostgreSQL esté en el classpath de Sqoop durante la ejecución. La ubicación del classpath se puede configurar en el archivo de configuración $SQOOP_CONF_DIR/sqoop-env.sh.

    3. Verificar si hay algún firewall o grupo de seguridad que bloquee la conexión: Asegurarse de que el grupo de seguridad de AWS o las reglas del firewall permitan las conexiones entrantes a la instancia de RDS desde el clúster de EMR.

    4. Verificar las credenciales: Asegurarse de que las credenciales de usuario y contraseña proporcionadas para conectarse a la instancia de RDS sean correctas.

    5. Verificar si hay algún problema de red: Verificar si el clúster de EMR y la instancia de RDS se encuentran en la misma región de AWS o no. Si están en regiones diferentes, es posible que se deban verificar algunas configuraciones de red.

    6. Verificar si hay algún problema con el bucket de S3: Verificar si el bucket de S3 especificado en la opción –target-dir existe y si el clúster de EMR tiene los permisos necesarios para escribir en él.

    Seguir estas sugerencias puede ayudar a resolver los problemas que se presentan al listar bases de datos e importar Sqoop en un clúster de EMR.

Comments are closed.