安装Sqoop的前提是已经具备Java和Hadoop的环境。
1、下载并解压
(1)下载地址:http://mirrors.hust.edu.cn/apache/sqoop/1.4.6/
(2)上传安装包sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz到虚拟机中
(3)解压sqoop安装包到指定目录,如:自己解压到: /usr/local/hadoop/module文件目录下:
[root@hadoop105 hadoop]# tar -zxvf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz -C /usr/local/hadoop/module/
2、修改配置文件
Sqoop的配置文件与大多数大数据框架类似,在sqoop根目录下的conf目录中
(1)重命名配置文件
[root@hadoop105 conf]# mv sqoop-env-template.sh sqoop-env.sh
[root@hadoop105 conf]# ll
total 28
-rw-rw-r--. 1 root root 3895 Apr 27 2015 oraoop-site-template.xml
-rwxr-xr-x. 1 root root 1345 Apr 27 2015 sqoop-env.sh
-rw-rw-r--. 1 root root 1404 Apr 27 2015 sqoop-env-template.cmd
-rw-rw-r--. 1 root root 5531 Apr 27 2015 sqoop-site-template.xml
-rw-rw-r--. 1 root root 5531 Apr 27 2015 sqoop-site.xml
(2) 修改配置文件
[root@hadoop105 conf]# vim sqoop-env.sh
sqoop-env.sh
export HADOOP_COMMON_HOME=/usr/local/hadoop/module/hadoop-2.7.2
export HADOOP_MAPRED_HOME=/usr/local/hadoop/module/hadoop-2.7.2
export HIVE_HOME=/usr/local/hadoop/module/hive-1.2.1
export ZOOKEEPER_HOME=/usr/local/hadoop/module/zookeeper-3.4.5
export ZOOCFGDIR=/usr/local/hadoop/module/zookeeper-3.4.5
export HBASE_HOME=/usr/local/hadoop/module/hbase-1.3.1
3、拷贝JDBC驱动
拷贝jdbc驱动到sqoop的lib目录下,如:
4、验证Sqoop
我们可以通过某一个command来验证sqoop配置是否正确:
[root@hadoop105 spoop-1.4.6]# bin/sqoop help
出现错误:
/usr/local/hadoop/module/hbase-1.3.1/bin/hbase: line 74: cannot create temp file for here-document: No space left on device
Exception in thread "main" java.lang.RuntimeException: Could not create temporary directory: /tmp/sqoop-root/compile/59f12aad08a9f8cf77bc2ad968c64f70; check for a directory permissions issue on /tmp.
at org.apache.sqoop.SqoopOptions.getNonceJarDir(SqoopOptions.java:877)
at org.apache.sqoop.SqoopOptions.initDefaults(SqoopOptions.java:947)
上述表示:磁盘空间不足问题
加大内存即可
再次执行:
[root@hadoop105 spoop-1.4.6]# bin/sqoop help
出现一些Warning警告(警告信息已省略),并伴随着帮助命令的输出:
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
5、测试Sqoop是否能够成功连接数据库
[root@hadoop105 spoop-1.4.6]# bin/sqoop list-databases --connect jdbc:mysql://hadoop105:3306/ --username root --password 123456