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库

export HADOOP_COMMON_HOME=/export/server/hadoop-3.3.0
export HADOOP_MAPRED_HOME=/export/server/hadoop-3.3.0
export HIVE_HOME=/export/server/apache-hive-3.1.2-bin
export HIVE_CONF_DIR=/export/server/apache-hive-3.1.2-bin/conf
export HADOOP_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

  • 13
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值