Sqoop简介与安装
This commit is contained in:
		| @@ -13,19 +13,19 @@ | |||||||
|  |  | ||||||
| ## 一、Sqoop 简介 | ## 一、Sqoop 简介 | ||||||
|  |  | ||||||
| 一言以蔽之,Sqoop就是一个数据迁移工具。主要就是实现数据的导入与导出。 | Sqoop是一个常用的数据迁移工具,主要用于在不同存储系统之间实现数据的导入与导出: | ||||||
|  |  | ||||||
| + 导入数据:从MySQL,Oracle等关系型数据库中导入数据到HDFS、Hive、HBase等分布式文件存储系统中 | + 导入数据:从MySQL,Oracle等关系型数据库中导入数据到HDFS、Hive、HBase等分布式文件存储系统中; | ||||||
|  |  | ||||||
| + 导出数据:从 分布式文件系统中导出数据到关系数据库中。 | + 导出数据:从 分布式文件系统中导出数据到关系数据库中。 | ||||||
|  |  | ||||||
| 其原理就是将命令转化成 MapReduce 作业来实现数据的迁移。下图就很好的体现了Sqoop的功能和原理。 | 其原理是将执行命令转化成 MapReduce 作业来实现数据的迁移,如下图。 | ||||||
|  |  | ||||||
| <div align="center"> <img  src="https://github.com/heibaiying/BigData-Notes/blob/master/pictures/sqoop-tool.png"/> </div> | <div align="center"> <img  src="https://github.com/heibaiying/BigData-Notes/blob/master/pictures/sqoop-tool.png"/> </div> | ||||||
|  |  | ||||||
| ## 二、安装 | ## 二、安装 | ||||||
|  |  | ||||||
| 这里先说一下版本的选择: | 版本选择: | ||||||
|  |  | ||||||
| 目前Sqoop有Sqoop 1和Sqoop 2两个版本,但是截至到目前,官方并不推荐使用Sqoop 2,因为其与Sqoop 1并不兼容,且功能还没有完善,所以这里优先推荐使用Sqoop 1。 | 目前Sqoop有Sqoop 1和Sqoop 2两个版本,但是截至到目前,官方并不推荐使用Sqoop 2,因为其与Sqoop 1并不兼容,且功能还没有完善,所以这里优先推荐使用Sqoop 1。 | ||||||
|  |  | ||||||
| @@ -35,7 +35,7 @@ | |||||||
|  |  | ||||||
| ### 2.1 下载并解压 | ### 2.1 下载并解压 | ||||||
|  |  | ||||||
| 下载所需版本的Sqoop ,这里我下载的是`cdh5.15.2`版本,对应Sqoop版本为`1.4.6` 。下载地址为:http://archive.cloudera.com/cdh5/cdh/5/ | 下载所需版本的Sqoop ,这里我下载的是`CDH`版本的Sqoop 。下载地址为:http://archive.cloudera.com/cdh5/cdh/5/ | ||||||
|  |  | ||||||
| ```shell | ```shell | ||||||
| # 下载后进行解压 | # 下载后进行解压 | ||||||
| @@ -69,7 +69,7 @@ export PATH=$SQOOP_HOME/bin:$PATH | |||||||
| # cp sqoop-env-template.sh sqoop-env.sh | # cp sqoop-env-template.sh sqoop-env.sh | ||||||
| ``` | ``` | ||||||
|  |  | ||||||
| 修改`sqoop-env.sh`,增加如下配置(以下配置中`HADOOP_COMMON_HOME`和`HADOOP_MAPRED_HOME`是必须的,其他都是可选的): | 修改`sqoop-env.sh`,内容如下(以下配置中`HADOOP_COMMON_HOME`和`HADOOP_MAPRED_HOME`是必选的,其他的是可选的): | ||||||
|  |  | ||||||
| ```shell | ```shell | ||||||
| # Set Hadoop-specific environment variables here. | # Set Hadoop-specific environment variables here. | ||||||
| @@ -92,7 +92,7 @@ export ZOOCFGDIR=/usr/app/zookeeper-3.4.13/conf | |||||||
|  |  | ||||||
| ### 2.4 拷贝数据库驱动 | ### 2.4 拷贝数据库驱动 | ||||||
|  |  | ||||||
| 将MySQL驱动拷贝到Sqoop安装目录的`lib`目录下, MySQL驱动的下载地址为https://dev.mysql.com/downloads/connector/j/  , 在本仓库的[resources](https://github.com/heibaiying/BigData-Notes/tree/master/resources)目录下我也上传了一份,有需要的可以自行下载。 | 将MySQL驱动包拷贝到Sqoop安装目录的`lib`目录下, 驱动包的下载地址为https://dev.mysql.com/downloads/connector/j/  。在本仓库的[resources](https://github.com/heibaiying/BigData-Notes/tree/master/resources)目录下我也上传了一份,有需要的可以自行下载。 | ||||||
|  |  | ||||||
| <div align="center"> <img  src="https://github.com/heibaiying/BigData-Notes/blob/master/pictures/sqoop-mysql-jar.png"/> </div> | <div align="center"> <img  src="https://github.com/heibaiying/BigData-Notes/blob/master/pictures/sqoop-mysql-jar.png"/> </div> | ||||||
|  |  | ||||||
| @@ -100,17 +100,17 @@ export ZOOCFGDIR=/usr/app/zookeeper-3.4.13/conf | |||||||
|  |  | ||||||
| ### 2.5 验证 | ### 2.5 验证 | ||||||
|  |  | ||||||
| 由于已经将sqoop的bin目录配置到环境变量,直接使用以下命令验证是否配置成功 | 由于已经将sqoop的`bin`目录配置到环境变量,直接使用以下命令验证是否配置成功: | ||||||
|  |  | ||||||
| ```shell | ```shell | ||||||
| # sqoop version | # sqoop version | ||||||
| ``` | ``` | ||||||
|  |  | ||||||
| 出现对应的版本信息则代表配置成功 | 出现对应的版本信息则代表配置成功: | ||||||
|  |  | ||||||
| <div align="center"> <img  src="https://github.com/heibaiying/BigData-Notes/blob/master/pictures/sqoop-version.png"/> </div> | <div align="center"> <img  src="https://github.com/heibaiying/BigData-Notes/blob/master/pictures/sqoop-version.png"/> </div> | ||||||
|  |  | ||||||
| 这里出现的两个`Warning`警告是因为我们本身就没有用到`HCatalog`,`Accumulo`等软件,忽略即可。默认会去检查在环境变量中是否有配置以上软件,这些都是在`bin/configure-sqoop`文件中配置的,如果想去除这些警告,注释掉不必要的检查即可。 | 这里出现的两个`Warning`警告是因为我们本身就没有用到`HCatalog`和`Accumulo`,忽略即可。Sqoop在启动时会去检查环境变量中是否有配置这些软件,如果想去除这些警告,可以修改`bin/configure-sqoop`,注释掉不必要的检查。 | ||||||
|  |  | ||||||
| ```shell | ```shell | ||||||
| # Check: If we can't find our dependencies, give up here. | # Check: If we can't find our dependencies, give up here. | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user