前言
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/*
文章来源:https://www.toymoban.com/news/detail-442689.html
总结
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文章来源地址https://www.toymoban.com/news/detail-442689.html
到了这里,关于hadoop3 使用sqoop 1.4.7 解决方案的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!