0


hadoop3 使用sqoop 1.4.7 解决方案


文章目录


前言

sqoop功能已经非常完善了,没有什么可以更新的了,官方停止更新维护了。因此官方集成的hadoop包停留在了2.6.0版本,在hadoop3.3.0版本会提示类版本过低错误,但纯净版sqoop有缺少必须的第三方库,所以将这两个包下载下来,提取部分sqoop_hadoop2.6.0版本的jar包放到纯净版sqoop的lib目录下,在sqoop配置文件中加入获取当前环境中的hive及hadoop的lib库来使用.


一、sqoop官方停止更新维护

官方停止了更新和维护,hadoop支持的版本停留在了hadoop2.6,hadoop升级到3之后用不了sqoop,百度了许久没有找到教程,通过查阅官方文档找到了解决方法。

二、hadoop3安装使用方法

1.下载sqoop1.4.7两个版本

http://archive.apache.org/dist/sqoop/1.4.7

​下载这两个文:

sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz # 只用到里面的jar包
sqoop-1.4.7.tar.gz # 上传到服务器

我这里finalshell为例,本地虚拟机环境centos7+hadoop3.3.1+hive3.1.2
将sqoop-1.4.7.tar.gz上传到/export/server/目录,并解压

2.提取sqoop-1.4.7.bin__hadoop-2.6.0.tar压缩包里的部分jar包

提取sqoop-1.4.7.jar放到sqoop-1.4.7根目录,正常纯净版sqoop是没有这个jar包的

在这里插入图片描述
提取lib目录下的这三个必须的jar包放到sqoop-1.4.7/lib/目录下,正常纯净版sqoop的lib目录下是没有文件的。
在这里插入图片描述
其余的jar包我们不用导入,其余的从本地环境里的hadoop和hive中引用即可。

2.添加sqoop配置信息,引用hadoop,hive的lib库

打开sqoop-1.4.7/conf 目录下的sqoop-env.sh文件追加如下信息,因为我是finalshell工具,图标是windows的,这个不要误会,所有操作是在linux。
其中

HADOOP_COMMON_HOME
HADOOP_MAPRED_HOME

环境变量要写你自己的hadoop目录地址
hive的

HIVE_HOME
HIVE_CONF_DIR

同样要写你自己的hive目录地址
最后一条是引用你hive里的lib库

exportHADOOP_COMMON_HOME=/export/server/hadoop-3.3.0
exportHADOOP_MAPRED_HOME=/export/server/hadoop-3.3.0
exportHIVE_HOME=/export/server/apache-hive-3.1.2-bin
exportHIVE_CONF_DIR=/export/server/apache-hive-3.1.2-bin/conf
exportHADOOP_CLASSPATH=$HADOOP_CLASSPATH:$HIVE_HOME/lib/*

在这里插入图片描述


总结

sqoop功能是非常完善的,兼容性也很好。但是hadoop3版本没有官方的集成jar包版本,所以我通过阅读sqoop的官方文档,解决了如何在配置hadoop3版本的sqoop。核心就两点,从集成包里获取必须的jar包,其余必须的jar包从hadoop和hive中引用即可。sqoop官方地址:https://sqoop.apache.org/docs/1.4.7/SqoopUserGuide.html?spm=a2c63.p38356.0.0.7ffe76db8MdNDv#_syntax

标签: sqoop hadoop big data

本文转载自: https://blog.csdn.net/weixin_42065509/article/details/125420496
版权归原作者 知其然_所以然 所有, 如有侵权,请联系我们删除。

“hadoop3 使用sqoop 1.4.7 解决方案”的评论:

还没有评论