Cómo instalar Apache Sqoop en Ubuntu 16.04
Apache Sqoop es una herramienta diseñada para transferir de manera eficiente datos masivos entre Apache Hadoop y almacenes de datos estructurados como bases de datos relacionales. Por ejemplo, MySQL, Oracle, Microsoft SQL Server. Puede importar y exportar datos entre bases de datos relacionales y hadoop. También puede importar / exportar desde / hacia fuentes de datos semiestructuradas, por ejemplo HBase y Cassandra (bases de datos NoSQL). Sqoop se envía como un paquete binario que incorpora dos partes separadas: cliente y servidor.
- Servidor: debe instalar el servidor en un solo nodo en su clúster. Este nodo servirá como un punto de entrada para todos los clientes de Sqoop.
- Cliente: los clientes se pueden instalar en cualquier número de máquinas.
A continuación se muestran los pasos para configurar Apache Sqoop en Ubuntu 16.04. Descargue el paquete Sqoop requerido y esto tendrá sqoop-1.99.7-bin-hadoop200.tar.gz
expediente.
1) Descarga Sqoop usando wget
Descargue Sqoop usando el siguiente comando en su sistema de archivos.
wget http://archive.apache.org/dist/sqoop/1.99.7/sqoop-1.99.7-bin-hadoop200.tar.gz
Compruebe si el archivo se descargó correctamente.
2) Extraiga el archivo tar de Sqoop
Extrae el archivo descargado.
tar -xvf sqoop-1.99.7-bin-hadoop200.tar.gz
Compruebe si el archivo se extrajo correctamente.
3) Mover el directorio de Sqoop
Mueva el directorio sqoop a / usr / lib /
sudo mv sqoop-1.99.7-bin-hadoop200 /usr/lib/
El servidor Sqoop actúa como un cliente Hadoop, por lo tanto, las bibliotecas Hadoop (archivos jar Yarn, Mapreduce y HDFS) y los archivos de configuración (core-site.xml, mapreduce-site.xml, …) deben estar disponibles en este nodo.
4) Establecer variables de entorno Hadoop y Sqoop
Debe tener las variables de entorno de Hadoop configuradas en el archivo .bashrc.
# Set Hadoop-related environment variables export HADOOP_HOME=$HOME/hadoop-2.7.3 export HADOOP_CONF_DIR=$HOME/hadoop-2.7.3/etc/hadoop export HADOOP_MAPRED_HOME=$HOME/hadoop-2.7.3 export HADOOP_COMMON_HOME=$HOME/hadoop-2.7.3 export HADOOP_HDFS_HOME=$HOME/hadoop-2.7.3 export HADOOP_YARN_HOME=$HOME/hadoop-2.7.3
Además, configure las variables de entorno sqoop en el archivo .bashrc.
sudo gedit .bashrc
Coloque las líneas debajo en el archivo .bashrc.
exportar SQOOP_HOME = / usr / lib / sqoop-1.99.7-bin-hadoop200 export PATH = $ PATH: $ SQOOP_HOME / bin exportar SQOOP_CONF_DIR = $ SQOOP_HOME / conf exportar SQOOP_CLASS_PATH = $ SQOOP_CONF_DIR
Utilice el siguiente comando para que los cambios surtan efecto.
source .bashrc
5) Copie los archivos jar necesarios en el directorio lib del servidor Sqoop
Copie los frascos hadoop-common, hadoop-mapreduce, hadoop-hdfs, hadoop-yarn a /usr/lib/sqoop-1.99.7-bin-hadoop200/server/lib
(directorio lib del servidor sqoop). A continuación se muestran las rutas desde donde debe copiar todos los archivos jar al directorio lib del servidor sqoop.
/home/ubuntu/hadoop-2.7.3/share/hadoop/common /home/ubuntu/hadoop-2.7.3/share/hadoop/common/lib /home/ubuntu/hadoop-2.7.3/share/hadoop/hdfs /home/ubuntu/hadoop-2.7.3/share/hadoop/hdfs/lib /home/ubuntu/hadoop-2.7.3/share/hadoop/mapreduce /home/ubuntu/hadoop-2.7.3/share/hadoop/mapreduce/lib /home/ubuntu/hadoop-2.7.3/share/hadoop/yarn /home/ubuntu/hadoop-2.7.3/share/hadoop/yarn/lib
6) Edite core-site.xml
El servidor Sqoop deberá hacerse pasar por usuarios para acceder a HDFS y otros recursos dentro o fuera del clúster como el usuario que inició un trabajo determinado en lugar del usuario que está ejecutando el servidor. Debe configurar core-site.xml de Hadoop y agregarle las siguientes 2 propiedades.
<property> <name>hadoop.proxyuser.ubuntu.hosts</name> <value>*</value> </property> <property> <name>hadoop.proxyuser.ubuntu.groups</name> <value>*</value> </property>
7) Inicializar el repositorio de metadetos
El repositorio de metadatos debe inicializarse antes de iniciar el servidor Sqoop 2 por primera vez.
./bin/sqoop2-tool upgrade
8) Inicie el servidor Sqoop
Inicie el servidor sqoop.
./bin/sqoop2-server start
Compruebe si se ha iniciado el servicio del servidor sqoop.
jps
9) Inicie el cliente Sqoop
Simplemente copie el artefacto de distribución de Sqoop en la máquina de destino y descomprímalo en la ubicación deseada y podrá iniciar su cliente. También estoy usando la misma máquina que el cliente. Inicie el cliente Sqoop
./bin/sqoop2-shell
10) Descargar conectores RDBMS
Descargue los conectores de MySQL, Oracle y SQL Server utilizando los enlaces a continuación. Estos conectores son necesarios para realizar la conexión entre Sqoop y RDBMS.
Conector MySQL: Descargar
Conector de Oracle: Descargar
Conector de Microsoft SQL Server: Descargar
Compruebe si se descargaron todos los conectores.
ls Downloads/
11) Establezca una variable de entorno para usar conectores RDBMS
Mueva todos los conectores a un directorio y establezca ese directorio como una variable de entorno.
sudo mkdir -p /var/lib/sqoop2/ sudo chmod 777 /var/lib/sqoop2/ mv Downloads/*.jar /var/lib/sqoop2/ ls -l /var/lib/sqoop2/ export SQOOP_SERVER_EXTRA_LIB=/var/lib/sqoop2/
Conclusión
¡Voila! Ha configurado correctamente Apache Sqoop en Ubuntu 16.04. Ahora está listo para importar / exportar datos usando Sqoop. El siguiente paso es utilizar cualquiera de los conectores RDBMS e importar / exportar datos de RDBMS a HDFS o HDFS a RDBMS.