Exportación de metadatos
Para garantizar que las propiedades de datos y los permisos del clúster de origen sean coherentes con los del clúster de destino, los metadatos del clúster de origen deben exportarse para restaurar los metadatos después de la migración de datos. Los metadatos que se van a exportar incluyen el propietario, el grupo y la información de permiso de los archivos HDFS y la descripción de la tabla Hive.
Exportación de metadatos HDFS
La información de metadatos de HDFS que se va a exportar incluye permisos de archivos y carpetas e información de propietario/grupo. Puede ejecutar el siguiente comando en el cliente HDFS para exportar los metadatos:
$HADOOP_HOME/bin/hdfs dfs –ls –R <migrating_path> > /tmp/hdfs_meta.txt
A continuación se proporciona una descripción de los parámetros del comando anterior.
- $HADOOP_HOME: directorio de instalación del cliente Hadoop en el clúster de origen
- <migrating_path>: directorio de datos de HDFS que se va a migrar
- /tmp/hdfs_meta.txt: ruta local para almacenar los metadatos exportados
Si el clúster de origen puede comunicarse con el clúster de destino y ejecuta el comando hadoop DistCp como superadministrador para copiar datos, puede agregar el parámetro -p para habilitar DistCp para restaurar los metadatos del archivo correspondiente en el clúster de destino mientras copia datos. Si es así, omita este paso.
Exportación de metadatos de Hive
Los datos de la tabla Hive se almacenan en HDFS. Los datos de la tabla y los metadatos de los datos de la tabla son migrados centralmente en directorios por HDFS de una manera unificada. Los metadatos de las tablas Hive se pueden almacenar en diferentes tipos de bases de datos relacionales (como MySQL, PostgreSQL y Oracle) basadas en configuraciones de clúster. Los metadatos exportados de las tablas Hive en este documento son la descripción de la tabla Hive almacenada en la base de datos relacional.
Las ediciones principales de lanzamiento de big data en la industria soportan la instalación de Sqoop. Para los clústeres de big data locales de la versión de la comunidad, puede descargar el Sqoop de la versión de la comunidad para su instalación. Utilice Sqoop para desacoplar la fuerte dependencia entre los metadatos que se van a exportar y la base de datos relacional y exportar los metadatos de Hive a HDFS y migrarlos junto con los datos de la tabla para su restauración. El procedimiento es el siguiente:
- Descargue la herramienta Sqoop desde el clúster de origen e instálela. Para obtener más información, véase http://sqoop.apache.org/.
- Descargue el controlador JDBC de la base de datos relacional en el directorio ${Sqoop_Home}/lib.
- Ejecute el siguiente comando para exportar todas las tablas de metadatos de Hive: Todos los datos exportados se almacenan en /user/<user_name>/<table_name> directory en HDFS.
$Sqoop_Home/bin/sqoop import --connect jdbc:<driver_type>://<ip>:<port>/<database> --table <table_name> --username <user> -password <passwd> -m 1
A continuación se proporciona una descripción de los parámetros del comando anterior.
- $Sqoop_Home: directorio de instalación de Sqoop
- <driver_type>: Tipo de base de datos
- <ip>: dirección IP de la base de datos en el clúster de origen
- <port>: número de puerto de la base de datos en el clúster de origen
- <table_name>: Nombre de la tabla que se va a exportar
- <user>: Nombre de usuario
- <passwd>: Contraseña de usuario