Instalación y configuración de Sqoop
Uno, entiende Sqoop
sqoop es una herramienta para transferir datos entre Hadoop y servidores de bases de datos relacionales. Se utiliza principalmente para transferir datos entre colmena y bases de datos relacionales. Puede importar datos de una base de datos relacional a HDFS de Hadoop, o importar datos de HDFS a una base de datos relacional.
Hay dos funciones principales:
-
Importar, mudarse
-
Exportar, mudarse
2. Descargue el paquete de instalación de Sqoop
Enlace de descarga: https://mirrors.tuna.tsinghua.edu.cn/apache/sqoop/
Tres, instala Sqoop
Primero coloque el archivo en Linux, luego use el comando tar para descomprimir sqoop
[root@master dev]# tar -zxvf sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz
Cambiar sqoop-1.4.7.bin__hadoop-2.6.0 a sqoop
[root@master dev]# mv sqoop-1.4.7.bin__hadoop-2.6.0 sqoop
Cree la carpeta de aplicaciones en el directorio de inicio.
[root@master dev]# mkdir -p /home/apps
Coloque la carpeta sqoop en aplicaciones.
[root@master dev]# mv sqoop /home/apps
Cuarto, configure Sqoop
- Configurar las variables de entorno del sistema
Utilice el comando vi para modificar el archivo de variables de entorno del sistema
[root@master dev]# vi /etc/profile
Agregue las siguientes variables de entorno
export SQOOP_HOME=/home/apps/sqoop
export PATH=$PATH:$SQOOP_HOME/bin
Hacer que las variables de entorno agregadas surtan efecto de inmediato
[root@master dev]# source /etc/profile
- Modificar el archivo de configuración de Sqoop
El archivo de configuración de Sqoop está en la carpeta conf
[root@master dev]# cd /home/apps/sqoop/conf
[root@master conf]# ll
total 28
-rw-rw-r--. 1 centos centos 3895 Dec 19 2017 oraoop-site-template.xml
-rw-rw-r--. 1 centos centos 1404 Dec 19 2017 sqoop-env-template.cmd
-rwxr-xr-x. 1 centos centos 1345 Dec 19 2017 sqoop-env-template.sh
-rw-rw-r--. 1 centos centos 6044 Dec 19 2017 sqoop-site-template.xml
-rw-rw-r--. 1 centos centos 6044 Dec 19 2017 sqoop-site.xml
Use mv para cambiar el nombre del archivo a sqoop-env.sh y escriba el comando vi en el archivo
[root@master conf]# mv sqoop-env-template.sh sqoop-env.sh
[root@master conf]# vi sqoop-env.sh
Modifique los componentes de Hadoop instalados y comente si no están instalados.
#Set path to where bin/hadoop is available
export HADOOP_COMMON_HOME=/home/hadoop/hadoop-2.9.2
#Set path to where hadoop-*-core.jar is available
export HADOOP_MAPRED_HOME=/home/hadoop/hadoop-2.9.2
#set the path to where bin/hbase is available
export HBASE_HOME=/home/apps/habase
#Set the path to where bin/hive is available
export HIVE_HOME=/home/apps/hive
#Set the path for where zookeper config dir is
export ZOOCFGDIR=/home/apps/zookeeper
¿Por qué se requieren configuraciones comunes y de mapreduce en el archivo sqoop-env.sh? ? ?
En la instalación de apache hadoop; los cuatro componentes principales se instalan en el mismo hadoop_home
Pero en CDH, HDP, estos componentes son opcionales.
Al instalar hadoop, puede instalar selectivamente solo HDFS o YARN,
Cuando CDH y HDP instalan hadoop, HDFS y MapReduce pueden instalarse en diferentes lugares.
- Descargar el
enlace del paquete del controlador MySQL : https://pan.baidu.com/s/15n6ESMrHegujUs8fITjp8Q
Código de extracción: fg7c
[root@master dev]# mv mysql-connector-java-5.1.48.jar /home/apps/sqoop/lib
Nota: si el inicio falla, puede ser un problema con la versión del paquete del controlador MySQL
Verifique que la instalación de sqoop sea exitosa
[root@master dev]# sqoop-version
Cinco comandos básicos de Sqoop
En primer lugar, podemos usar el comando sqoop help para ver qué comandos admite sqoop
[root@master dev]# sqoop help
21/01/15 18:53:02 INFO sqoop.Sqoop: Running Sqoop version: 1.4.7
usage: sqoop COMMAND [ARGS]
Available commands:
codegen Generate code to interact with database records
create-hive-table Import a table definition into Hive
eval Evaluate a SQL statement and display the results
export Export an HDFS directory to a database table
help List available commands
import Import a table from a database to HDFS
import-all-tables Import tables from a database to HDFS
import-mainframe Import datasets from a mainframe server to HDFS
job Work with saved jobs
list-databases List available databases on a server
list-tables List available tables in a database
merge Merge results of incremental imports
metastore Run a standalone Sqoop metastore
version Display version information
See 'sqoop help COMMAND' for information on a specific command.
[root@master dev]#
Si no sabe cómo usarlo, puede usar el comando sqoop help import para verificar cómo se usa un comando específico.
[root@master dev]# sqoop help import
Seis, ejemplos
Ver qué bases de datos están en MySQL
[root@master dev]# sqoop list-databases --connect jdbc:mysql://192.168.1.121:3306/ --username root --password 123456789
21/01/15 19:01:38 INFO sqoop.Sqoop: Running Sqoop version: 1.4.7
21/01/15 19:01:38 WARN tool.BaseSqoopTool: Setting your password on the command-line is insecure. Consider using -P instead.
21/01/15 19:01:38 INFO manager.MySQLManager: Preparing to use a MySQL streaming resultset.
Fri Jan 15 19:01:38 CST 2021 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
information_schema
hive
mysql
performance_schema
sys
[root@master dev]#
Conclusión: Big Data Hadoop señala la instalación y configuración de sqoop