一、Sqoop安装
1、下载并解压
1)下载地址:http://mirrors.hust.edu.cn/apache/sqoop/1.4.6/
链接:https://pan.baidu.com/s/17eomUVD3D5gCxJ2WVV9ZDQ?pwd=ux3q
提取码:ux3q
链接:https://pan.baidu.com/s/1nw1X-evuZVHmJMdfiDJuSA?pwd=gypl
提取码:gypl
2)上传安装包sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz到hadoop102的/opt/software路径中
3)解压sqoop安装包到指定目录
tar -zxf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz -C /opt/module/
4)重命名sqoop
mv sqoop-1.4.6.bin__hadoop-2.0.4-alpha/ sqoop
2、修改配置文件
1) 进入到/opt/module/sqoop/conf目录,重命名配置文件
mv sqoop-env-template.sh sqoop-env.sh
2) 修改配置文件
vim sqoop-env.sh
增加如下内容
export HADOOP_COMMON_HOME=/opt/module/hadoop-3.1.3
export HADOOP_MAPRED_HOME=/opt/module/hadoop-3.1.3
export HIVE_HOME=/opt/module/hive
export ZOOKEEPER_HOME=/opt/module/zookeeper-3.5.7
export ZOOCFGDIR=/opt/module/zookeeper-3.5.7/conf
3、拷贝JDBC驱动
1)将mysql-connector-java-5.1.48.jar 上传到/opt/software路径
2)进入到/opt/software/路径,拷贝jdbc驱动到sqoop的lib目录下。
cp mysql-connector-java-5.1.48.jar /opt/module/sqoop/lib/
4、验证Sqoop
我们可以通过某一个command来验证sqoop配置是否正确:
hadoop102 sqoop]$ bin/sqoop help
Warning: /opt/module/sqoop/bin/../../hbase does not exist! HBase imports will fail.
Please set $HBASE_HOME to the root of your HBase installation.
Warning: /opt/module/sqoop/bin/../../hcatalog does not exist! HCatalog jobs will fail.
Please set $HCAT_HOME to the root of your HCatalog installation.
Warning: /opt/module/sqoop/bin/../../accumulo does not exist! Accumulo imports will fail.
Please set $ACCUMULO_HOME to the root of your Accumulo installation.
2022-04-01 16:08:18,027 INFO sqoop.Sqoop: Running Sqoop version: 1.4.6
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.
5、测试Sqoop是否能够成功连接数据库
@hadoop102 sqoop]$ bin/sqoop list-databases --connect jdbc:mysql://hadoop102:3306/ --username root --password 000000
information_schema
mysql
performance_schema
sys
二、常用命令及参数
1.常用命令列举
序号 | 命令 | 类 | 说明 |
---|---|---|---|
1 | import | ImportTool | 将数据导入到集群 |
2 | export | ExportTool | 将集群数据导出 |
3 | codegen | CodeGenTool | 获取数据库中某张表数据生成Java并打包Jar |
4 | create-hive-table | CreateHiveTableTool | 创建Hive表 |
5 | eval | EvalSqlTool | 查看SQL执行结果 |
6 | import-all-tables | ImportAllTablesTool | 导入某个数据库下所有表到HDFS中 |
7 | job | JobTool | 用来生成一个sqoop的任务,生成后,该任务并不执行,除非使用命令执行该任务。 |
8 | list-databases | ListDatabasesTool | 列出所有数据库名 |
9 | list-tables | ListTablesTool |