- 准备
sqoop安装包
下载地址
https://mirrors.aliyun.com/apache/sqoop/
我使用的版本为sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz - 说明
- sqoop和1和2两个大版本
sqoop-1.4.6为sqoop1的最后一个版本
sqoop2的版本从1.99.1开始 - sqoop可以从hdfs、hive、hbase中导入导出(hbase只支持导入数据),要求集群中有以上环境,当然,某个环境没有,不会影响其他功能的使用,比如你有hive集群,但是没有hbase集群,那么你只能使用sqoop导入导出hdfs、hive的数据,不能利用sqoop操作hbase
(1) 上传sqoop安装包到服务器并解压
我上传到hadoop01这台服务器,因为hadoop01是我的hadoop集群的一个节点,也安装了hive
[hadoop@hadoop01 ~]$ tar -zxvf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz -C /home/hadoop/apps/
[hadoop@hadoop01 apps]$ mv sqoop-1.4.6.bin__hadoop-2.0.4-alpha sqoop-1.4.6
(2) 配置SQOOP_HOME环境变量
[hadoop@hadoop01 apps]$ vim ~/.bash_profile
export SQOOP_HOME=/home/hadoop/hadoop/apps/sqoop-1.4.6
export PATH=$PATH:$SQOOP_HOME/bin
[hadoop@hadoop01 apps]$ source ~/.bash_profile
(3) 修改sqoop-env.sh配置文件
该文件在SQOOP_HOME/conf下
[hadoop@hadoop01 conf]$ cp sqoop-env-template.sh sqoop-env.sh
[hadoop@hadoop01 conf]$ vim sqoop-env.sh
# 在hadoop的cdh版本中,把4个组件(commom、hdfs、mapreduce、yarn)安装到4个不同的目录中
# 而apache-hadoop的4个组件都在一个目录下
# 根据自己的版本配置这里的环境变量,我是apache-hadoop,所以都用HADOOP_HOME即可
export HADOOP_COMMON_HOME=/home/hadoop/apps/hadoop-2.6.5
export HADOOP_MAPRED_HOME=/home/hadoop/apps/hadoop-2.6.5
# 可选,没有的话不用配置,启动sqoop会检测环境,没有配置只有警告,不影响其他功能的使用
export HBASE_HOME=/home/hadoop/apps/hbase-1.2.6
export HIVE_HOME=/home/hadoop/apps/hive-1.2.1
# 可选,没有的话不用配置
# 如果配置,注意,这里是zookeeper的conf目录,不是home目录
export ZOOCFGDIR=/home/hadoop/apps/zookeeper-3.4.10/conf
(4) 把mysql驱动包加入到SQOOP_HOME/lib下
(5) 验证
[hadoop@hadoop01 ~]$ sqoop version
......
Sqoop 1.4.6
sqoop安装成功!