快速入门:在大数据环境安装Sqoop

275 阅读2分钟

前言:因为提交的Sqoop命令最终会转换为MapReduce作业(有map无redue),所以安装Sqoop之前需要确保Hadoop集群正常运行。跟Hive类似,Sqoop客户端只需要选择一个节点安装即可,详细的安装步骤如下所示。

image.png

虽然说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安装包
image.png
notepad++:修改配置文件
image.png

image.png

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.测试运行

  1. 查看Sqoop命令语法

在Sqoop安装目录下,使用help命令查看Sqoop的基本用法,具体操作如下所示。

[hadoop@hadoop1 sqoop]$ bin/sqoop help
  1. 测试数据库连接

以Hive的元数据库MySQL为例,使用list-databases命令查看数据库名称列表,具体操作如下所示。

[hadoop@hadoop1 sqoop]$ bin/sqoop list-databases --connect jdbc:mysql://hadoop1 --username hive -password hive

如果能打印显示MySQL数据库名称列表,说明Sqoop可以连接上数据库。

image.png