前言:因为提交的Sqoop命令最终会转换为MapReduce作业(有map无redue),所以安装Sqoop之前需要确保Hadoop集群正常运行。跟Hive类似,Sqoop客户端只需要选择一个节点安装即可,详细的安装步骤如下所示。
虽然说sqoop现在已经停止维护了,也成为了数据开发程序员口中老掉牙的东西。根据官方说法来看,Apache Sqoop 1.x 系列已经基本停止维护了,但是 Apache Sqoop 2.x 系列仍在积极开发中。
Sqoop 1.x 系列只会在必要时发布安全更新,而不会有新功能或非安全相关的改进。然而,Sqoop 2.x 系列是 Sqoop 的下一个主要版本,采用全新的架构,并提供了更好的性能和更丰富的功能。尽管 Sqoop 2.x 系列尚未正式发布,但 Apache Sqoop 社区仍在积极开发中。
因此,如果在使用 Sqoop 或者计划使用 Sqoop,建议关注 Sqoop 2.x 系列的进展。或者可以使用另一个数据传输框架:dataX
推荐两个帮助学习的好工具:
FileZilla:上传我的sqoop安装包
notepad++:修改配置文件
1. 下载解压
到官网(地址:archive.apache.org/dist/sqoop/…
下载Sqoop安装包sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz
,然后上传至 hadoop1节点的/home/hadoop/app
目录下并解压,具体操作如下所示。
[hadoop@hadoop1 app]$tar -zxvf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz
[hadoop@hadoop1 app]$ ln -s sqoop-1.4.6.bin__hadoop-2.0.4-alpha sqoop
2. 修改配置文件
进入Sqoop的conf目录下修改sqoop-env.sh配置文件,修改内容如下所示。
[hadoop@hadoop1 conf]$ mv sqoop-env-template.sh sqoop-env.sh
[hadoop@hadoop1 conf]$ vi sqoop-env.sh
export HADOOP_COMMON_HOME=/home/hadoop/app/hadoop
export HADOOP_MAPRED_HOME=/home/hadoop/app/hadoop
export HIVE_HOME=/home/hadoop/app/hive
export ZOOCFGDIR=/home/hadoop/app/zookeeper
3.配置环境变量
在hadoop用户下,添加Sqoop的环境变量,添加内容如下所示。
[hadoop@hadoop1 conf]$ vi ~/.bashrc
export SQOOP_HOME=/home/hadoop/app/sqoop
4. 添加MySQL驱动包
因为需要通过Sqoop实现Hadoop平台与MySQL之间的数据迁移,所以需要下载MySQL驱动包mysql-connector-java-5.1.38.jar
,并上传至Sqoop的lib目录下。
5.测试运行
- 查看Sqoop命令语法
在Sqoop安装目录下,使用help命令查看Sqoop的基本用法,具体操作如下所示。
[hadoop@hadoop1 sqoop]$ bin/sqoop help
- 测试数据库连接
以Hive的元数据库MySQL为例,使用list-databases命令查看数据库名称列表,具体操作如下所示。
[hadoop@hadoop1 sqoop]$ bin/sqoop list-databases --connect jdbc:mysql://hadoop1 --username hive -password hive
如果能打印显示MySQL数据库名称列表,说明Sqoop可以连接上数据库。