一、Sqoop下载
1、输入网址http://sqoop.apache.org/,点击下载
2、选择版本
3、开始下载
二、Sqoop安装
1、上传sqoop安装文件
2、解压安装sqoop
[admin@master ~]$ tar -zxvf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz
3、安装后检查目录
[admin@master ~]$ cd sqoop-1.4.6.bin__hadoop-2.0.4-alpha/
[admin@master sqoop-1.4.6.bin__hadoop-2.0.4-alpha]$ ll
总用量 1800
drwxr-xr-x. 2 admin admin 4096 4月 27 23:36 bin
-rw-rw-r--. 1 admin admin 59010 4月 27 2015 build.xml
-rw-rw-r--. 1 admin admin 35614 4月 27 2015 CHANGELOG.txt
-rw-rw-r--. 1 admin admin 9880 4月 27 2015 COMPILING.txt
drwxr-xr-x. 2 admin admin 168 4月 27 23:36 conf
drwxr-xr-x. 5 admin admin 169 4月 27 23:36 docs
drwxr-xr-x. 2 admin admin 96 4月 27 23:36 ivy
-rw-rw-r--. 1 admin admin 17031 4月 27 2015 ivy.xml
drwxr-xr-x. 2 admin admin 4096 4月 27 23:36 lib
-rw-rw-r--. 1 admin admin 15319 4月 27 2015 LICENSE.txt
-rw-rw-r--. 1 admin admin 505 4月 27 2015 NOTICE.txt
-rw-rw-r--. 1 admin admin 18772 4月 27 2015 pom-old.xml
-rw-rw-r--. 1 admin admin 1096 4月 27 2015 README.txt
-rw-rw-r--. 1 admin admin 1014151 4月 27 2015 sqoop-1.4.6.jar
-rw-rw-r--. 1 admin admin 6554 4月 27 2015 sqoop-patch-review.py
-rw-rw-r--. 1 admin admin 632600 4月 27 2015 sqoop-test-1.4.6.jar
drwxr-xr-x. 7 admin admin 73 4月 27 2015 src
drwxr-xr-x. 4 admin admin 114 4月 27 23:36 testdata
[admin@master sqoop-1.4.6.bin__hadoop-2.0.4-alpha]$ cd conf
[admin@master conf]$ ll
总用量 28
-rw-rw-r--. 1 admin admin 3895 4月 27 2015 oraoop-site-template.xml
-rw-rw-r--. 1 admin admin 1404 4月 27 2015 sqoop-env-template.cmd
-rwxr-xr-x. 1 admin admin 1345 4月 27 2015 sqoop-env-template.sh
-rw-rw-r--. 1 admin admin 5531 4月 27 2015 sqoop-site-template.xml
-rw-rw-r--. 1 admin admin 5531 4月 27 2015 sqoop-site.xml
[admin@master conf]$
三、配置Sqoop环境变量
进入conf目录找到示例sqoop-env-template.sh文件,并复制生成sqoop-env.sh文件
[admin@master ~]$ cd sqoop-1.4.6.bin__hadoop-2.0.4-alpha/
[admin@master sqoop-1.4.6.bin__hadoop-2.0.4-alpha]$ ll
总用量 1800
drwxr-xr-x. 2 admin admin 4096 4月 27 23:36 bin
-rw-rw-r--. 1 admin admin 59010 4月 27 2015 build.xml
-rw-rw-r--. 1 admin admin 35614 4月 27 2015 CHANGELOG.txt
-rw-rw-r--. 1 admin admin 9880 4月 27 2015 COMPILING.txt
drwxr-xr-x. 2 admin admin 168 4月 27 23:36 conf
drwxr-xr-x. 5 admin admin 169 4月 27 23:36 docs
drwxr-xr-x. 2 admin admin 96 4月 27 23:36 ivy
-rw-rw-r--. 1 admin admin 17031 4月 27 2015 ivy.xml
drwxr-xr-x. 2 admin admin 4096 4月 27 23:36 lib
-rw-rw-r--. 1 admin admin 15319 4月 27 2015 LICENSE.txt
-rw-rw-r--. 1 admin admin 505 4月 27 2015 NOTICE.txt
-rw-rw-r--. 1 admin admin 18772 4月 27 2015 pom-old.xml
-rw-rw-r--. 1 admin admin 1096 4月 27 2015 README.txt
-rw-rw-r--. 1 admin admin 1014151 4月 27 2015 sqoop-1.4.6.jar
-rw-rw-r--. 1 admin admin 6554 4月 27 2015 sqoop-patch-review.py
-rw-rw-r--. 1 admin admin 632600 4月 27 2015 sqoop-test-1.4.6.jar
drwxr-xr-x. 7 admin admin 73 4月 27 2015 src
drwxr-xr-x. 4 admin admin 114 4月 27 23:36 testdata
[admin@master sqoop-1.4.6.bin__hadoop-2.0.4-alpha]$ cd conf
[admin@master conf]$ ll
总用量 28
-rw-rw-r--. 1 admin admin 3895 4月 27 2015 oraoop-site-template.xml
-rw-rw-r--. 1 admin admin 1404 4月 27 2015 sqoop-env-template.cmd
-rwxr-xr-x. 1 admin admin 1345 4月 27 2015 sqoop-env-template.sh
-rw-rw-r--. 1 admin admin 5531 4月 27 2015 sqoop-site-template.xml
-rw-rw-r--. 1 admin admin 5531 4月 27 2015 sqoop-site.xml
输入复制命令
[admin@master conf]$ cp sqoop-env-template.sh sqoop-env.sh
查看sqoop-env.sh文件
[admin@master conf]$ ll
总用量 32
-rw-rw-r--. 1 admin admin 3895 4月 27 2015 oraoop-site-template.xml
-rwxr-xr-x. 1 admin admin 1345 5月 12 22:46 sqoop-env.sh
-rw-rw-r--. 1 admin admin 1404 4月 27 2015 sqoop-env-template.cmd
-rwxr-xr-x. 1 admin admin 1345 4月 27 2015 sqoop-env-template.sh
-rw-rw-r--. 1 admin admin 5531 4月 27 2015 sqoop-site-template.xml
-rw-rw-r--. 1 admin admin 5531 4月 27 2015 sqoop-site.xml
[admin@master conf]$
编辑sqoop-env.sh文件(此处只配置hadoop、mapreduce、hive的安装路径)
[admin@master conf]$ vim sqoop-env.sh
四、配置mysql连接器(安装驱动)
在环境变量中,配置了sqoop连接hadoop、mapreduce、hive。但没有配置连接mysql。
1、那如何配置连接mysql?
将mysql的java connector复制到sqoop的依赖库中。
2、上传好connector驱动
3、sqoop的依赖库在哪?
sqopp的依赖库即是lib目录。可以看到目前lib目录中没有connector。
[admin@master ~]$ cd sqoop-1.4.6.bin__hadoop-2.0.4-alpha/
[admin@master sqoop-1.4.6.bin__hadoop-2.0.4-alpha]$ cd lib
[admin@master lib]$ ll
总用量 15728
-rw-rw-r--. 1 admin admin 224277 4月 27 2015 ant-contrib-1.0b3.jar
-rw-rw-r--. 1 admin admin 36455 4月 27 2015 ant-eclipse-1.0-jvm1.2.jar
-rw-rw-r--. 1 admin admin 400680 4月 27 2015 avro-1.7.5.jar
-rw-rw-r--. 1 admin admin 170570 4月 27 2015 avro-mapred-1.7.5-hadoop2.jar
-rw-rw-r--. 1 admin admin 58160 4月 27 2015 commons-codec-1.4.jar
-rw-rw-r--. 1 admin admin 241367 4月 27 2015 commons-compress-1.4.1.jar
-rw-rw-r--. 1 admin admin 109043 4月 27 2015 commons-io-1.4.jar
-rw-rw-r--. 1 admin admin 267634 4月 27 2015 commons-jexl-2.1.1.jar
-rw-rw-r--. 1 admin admin 60686 4月 27 2015 commons-logging-1.1.1.jar
-rw-rw-r--. 1 admin admin 706710 4月 27 2015 hsqldb-1.8.0.10.jar
-rw-rw-r--. 1 admin admin 35058 4月 27 2015 jackson-annotations-2.3.0.jar
-rw-rw-r--. 1 admin admin 197986 4月 27 2015 jackson-core-2.3.1.jar
-rw-rw-r--. 1 admin admin 232248 4月 27 2015 jackson-core-asl-1.9.13.jar
-rw-rw-r--. 1 admin admin 914311 4月 27 2015 jackson-databind-2.3.1.jar
-rw-rw-r--. 1 admin admin 780664 4月 27 2015 jackson-mapper-asl-1.9.13.jar
-rw-rw-r--. 1 admin admin 2141463 4月 27 2015 kite-data-core-1.0.0.jar
-rw-rw-r--. 1 admin admin 1799126 4月 27 2015 kite-data-hive-1.0.0.jar
-rw-rw-r--. 1 admin admin 1765864 4月 27 2015 kite-data-mapreduce-1.0.0.jar
-rw-rw-r--. 1 admin admin 1764982 4月 27 2015 kite-hadoop-compatibility-1.0.0.jar
-rw-rw-r--. 1 admin admin 19827 4月 27 2015 opencsv-2.3.jar
-rw-rw-r--. 1 admin admin 29555 4月 27 2015 paranamer-2.3.jar
-rw-rw-r--. 1 admin admin 41943 4月 27 2015 parquet-avro-1.4.1.jar
-rw-rw-r--. 1 admin admin 724377 4月 27 2015 parquet-column-1.4.1.jar
-rw-rw-r--. 1 admin admin 11368 4月 27 2015 parquet-common-1.4.1.jar
-rw-rw-r--. 1 admin admin 272946 4月 27 2015 parquet-encoding-1.4.1.jar
-rw-rw-r--. 1 admin admin 471470 4月 27 2015 parquet-format-2.0.0.jar
-rw-rw-r--. 1 admin admin 10385 4月 27 2015 parquet-generator-1.4.1.jar
-rw-rw-r--. 1 admin admin 152325 4月 27 2015 parquet-hadoop-1.4.1.jar
-rw-rw-r--. 1 admin admin 1029033 4月 27 2015 parquet-jackson-1.4.1.jar
-rw-rw-r--. 1 admin admin 25496 4月 27 2015 slf4j-api-1.6.1.jar
-rw-rw-r--. 1 admin admin 1251514 4月 27 2015 snappy-java-1.0.5.jar
-rw-rw-r--. 1 admin admin 94672 4月 27 2015 xz-1.0.jar
4、将mysql的connector复制到sqoop的依赖库中
[admin@master lib]$ cp /home/admin/mysql-connector-java-5.1.28.jar ./
五、启动并验证Sqoop
切换到bin目录
[admin@master conf]$ cd ..
[admin@master sqoop-1.4.6.bin__hadoop-2.0.4-alpha]$ ll
总用量 1800
drwxr-xr-x. 2 admin admin 4096 4月 27 23:36 bin
-rw-rw-r--. 1 admin admin 59010 4月 27 2015 build.xml
-rw-rw-r--. 1 admin admin 35614 4月 27 2015 CHANGELOG.txt
-rw-rw-r--. 1 admin admin 9880 4月 27 2015 COMPILING.txt
drwxr-xr-x. 2 admin admin 188 5月 12 22:56 conf
drwxr-xr-x. 5 admin admin 169 4月 27 23:36 docs
drwxr-xr-x. 2 admin admin 96 4月 27 23:36 ivy
-rw-rw-r--. 1 admin admin 17031 4月 27 2015 ivy.xml
drwxr-xr-x. 2 admin admin 4096 4月 27 23:36 lib
-rw-rw-r--. 1 admin admin 15319 4月 27 2015 LICENSE.txt
-rw-rw-r--. 1 admin admin 505 4月 27 2015 NOTICE.txt
-rw-rw-r--. 1 admin admin 18772 4月 27 2015 pom-old.xml
-rw-rw-r--. 1 admin admin 1096 4月 27 2015 README.txt
-rw-rw-r--. 1 admin admin 1014151 4月 27 2015 sqoop-1.4.6.jar
-rw-rw-r--. 1 admin admin 6554 4月 27 2015 sqoop-patch-review.py
-rw-rw-r--. 1 admin admin 632600 4月 27 2015 sqoop-test-1.4.6.jar
drwxr-xr-x. 7 admin admin 73 4月 27 2015 src
drwxr-xr-x. 4 admin admin 114 4月 27 23:36 testdata
[admin@master sqoop-1.4.6.bin__hadoop-2.0.4-alpha]$ cd bin
[admin@master bin]$ ll
总用量 88
-rwxr-xr-x. 1 admin admin 6770 4月 27 2015 configure-sqoop
-rwxr-xr-x. 1 admin admin 6533 4月 27 2015 configure-sqoop.cmd
-rwxr-xr-x. 1 admin admin 3133 4月 27 2015 sqoop
-rwxr-xr-x. 1 admin admin 1055 4月 27 2015 sqoop.cmd
-rwxr-xr-x. 1 admin admin 950 4月 27 2015 sqoop-codegen
-rwxr-xr-x. 1 admin admin 960 4月 27 2015 sqoop-create-hive-table
-rwxr-xr-x. 1 admin admin 947 4月 27 2015 sqoop-eval
-rwxr-xr-x. 1 admin admin 949 4月 27 2015 sqoop-export
-rwxr-xr-x. 1 admin admin 947 4月 27 2015 sqoop-help
-rwxr-xr-x. 1 admin admin 949 4月 27 2015 sqoop-import
-rwxr-xr-x. 1 admin admin 960 4月 27 2015 sqoop-import-all-tables
-rwxr-xr-x. 1 admin admin 959 4月 27 2015 sqoop-import-mainframe
-rwxr-xr-x. 1 admin admin 946 4月 27 2015 sqoop-job
-rwxr-xr-x. 1 admin admin 957 4月 27 2015 sqoop-list-databases
-rwxr-xr-x. 1 admin admin 954 4月 27 2015 sqoop-list-tables
-rwxr-xr-x. 1 admin admin 948 4月 27 2015 sqoop-merge
-rwxr-xr-x. 1 admin admin 952 4月 27 2015 sqoop-metastore
-rwxr-xr-x. 1 admin admin 950 4月 27 2015 sqoop-version
-rwxr-xr-x. 1 admin admin 3987 4月 27 2015 start-metastore.sh
-rwxr-xr-x. 1 admin admin 1564 4月 27 2015 stop-metastore.sh
输入命令,出现如图则说明执行成功。(图中的一些Warning信息是因为zookeeper未进行配置,可先不管)
[admin@master bin]$ ./sqoop help
六、【export】通过Sqoop export命令把Hive中的数据导出到关系型数据库(MySql)中
1、登录mysql
[admin@master ~]$ mysql -uhadoop -phadoop
2、进入到test库中,并创建一个表
mysql> create table test.table_export(name varchar(255),age int);
Query OK, 0 rows affected (0.03 sec)
mysql> show tables;
+------------------+
| Tables_in_test |
+------------------+
| table_export |
| table_sougou |
| tmall_recommend2 |
+------------------+
3 rows in set (0.00 sec)
mysql> desc table_export;
+-------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+-------+
| name | varchar(255) | YES | | NULL | |
| age | int(11) | YES | | NULL | |
+-------+--------------+------+-----+---------+-------+
2 rows in set (0.02 sec)
3、把(HDFS)Hive中的数据导出到关系型数据库(MySql)中
[admin@master bin]$ ./sqoop export --connect jdbc:mysql://master:3306/test --username hadoop --password hadoop --table table_export --export-dir '/user/hive/warehouse/test_02.db/table_02' --fields-terminated-by '\t';
七、【import】通过Sqoop import命令把关系型数据库(MySql)中的数据导入到Hive中
注:-m 1代表使用mapreduce的个数,此处指1个。
[admin@master bin]$ ./sqoop import --connect jdbc:mysql://master:3306/test --username hadoop --password hadoop --table table_export --target-dir '/user/hive/warehouse/test_02.db/test_inport' --fields-terminated-by '\t' -m 1;