Sqoop安装
安装Sqoop的前提是已经具备Java和Hadoop的环境。
一、下载并解压
1) 最新版下载地址:http://mirrors.hust.edu.cn/apache/sqoop/1.4.6/
2) 上传安装包sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz到虚拟机中,如我的上传目录是:/opt/software/
3) 解压sqoop安装包到指定目录,如:
|
tar -zxvf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz -C /opt/module/ |
4)安装包重命名:
[root@bigdata111 module]# mv sqoop-1.4.6.bin__hadoop-2.0.4-alpha/ sqoop-1.4.6
二、修改配置文件
Sqoop的配置文件与大多数大数据框架类似,在sqoop根目录下的conf目录中。
1) 重命名配置文件
|
[root@bigdata111 conf]# mv sqoop-env-template.sh sqoop-env.sh $ mv sqoop-site-template.xml sqoop-site.xml 此行可以先不用做 |
2) 修改配置文件
sqoop-env.sh
|
export HADOOP_COMMON_HOME=/opt/module/hadoop-2.8.4 export HADOOP_MAPRED_HOME=/opt/module/hadoop-2.8.4 export HIVE_HOME=/opt/module/hive export ZOOKEEPER_HOME=/opt/module/zookeeper-3.4.10 export ZOOCFGDIR=/opt/module/zookeeper-3.4.10/conf |


3)配置环境变量
[root@bigdata111 conf]# vi /etc/profile
加上环境变量:
#SQOOP_HOME
export SQOOP_HOME=/opt/module/sqoop-1.4.6
export PATH=$PATH:$SQOOP_HOME/bin

生效环境变量:
[root@bigdata111 conf]# source /etc/profile
测试:
[root@bigdata111 conf]# sqoop help
如果能打印出命令提示就OK了
三、拷贝JDBC驱动
拷贝jdbc驱动到sqoop的lib目录下,如:
|
$ cp -a mysql-connector-java-5.1.43-bin.jar /opt/module/sqoop-1.4.6/lib |
四、验证Sqoop
我们可以通过某一个command来验证sqoop配置是否正确:
|
$ 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 version Display version information ····· |
下面这个可以先略~
注:注释掉configure-sqoop 134行到143行的内容,内容如下
|
134 ## Moved to be a runtime check in sqoop. 135 #if [ ! -d "${HCAT_HOME}" ]; then 136 # echo "Warning: $HCAT_HOME does not exist! HCatalog jobs will fail." 137 # echo 'Please set $HCAT_HOME to the root of your HCatalog installation.' 138 #fi 139 # 140 #if [ ! -d "${ACCUMULO_HOME}" ]; then 141 # echo "Warning: $ACCUMULO_HOME does not exist! Accumulo imports will fail." 142 # echo 'Please set $ACCUMULO_HOME to the root of your Accumulo installation.' 143 #fi |
五、测试Sqoop是否能够成功连接数据库
这是要连接到bigdata111上的MySQL数据库,不是localhost上的。
同时要注意密码也要进行相应的修改!(像我这里就是123456--》000000),不然连接测试是不会成功的~

|
$ bin/sqoop list-databases --connect jdbc:mysql://bigdata111:3306/ --username root --password 000000 出现如下输出: information_schema metastore mysql performance_schema |

注意:
如果没有远程连接成功,输出不了数据库
连接sqoop驱动
配置mysql远程访问权限--HIVE配置那里已经配置过了:https://www.cnblogs.com/liuxinrong/articles/12627084.html(参考这里面的“七”)。
浙公网安备 33010602011771号