首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我应该为Hadoop3.3.0使用哪个版本的sqoop?

我应该为Hadoop3.3.0使用哪个版本的sqoop?
EN

Stack Overflow用户
提问于 2020-09-06 09:21:19
回答 2查看 1.2K关注 0票数 0

我试图在Hadoop3.3.0的windows 10中安装sqoop1.4.7,

在GIT上使用./configure-sqoop,我得到以下操作/p:

警告: C:\sqoop_data\sqoop-1.4.7.bin__hadoop-2.6.0/../hbase不存在!HBase导入将失败。请将$HBASE_HOME设置为HBase安装的根目录。警告: C:\sqoop_data\sqoop-1.4.7.bin__hadoop-2.6.0/../hcatalog不存在!HCatalog的工作将失败。请将$HCAT_HOME设置为HCatalog安装的根目录。警告: C:\sqoop_data\sqoop-1.4.7.bin__hadoop-2.6.0/../accumulo不存在!Accumulo的进口将失败。请将$ACCUMULO_HOME设置为Accumulo安装的根目录。警告: C:\sqoop_data\sqoop-1.4.7.bin__hadoop-2.6.0/../zookeeper不存在!Accumulo的进口将失败。请将$ZOOKEEPER_HOME设置为动物园管理员安装的根目录。

在使用sqoop.cmd版本验证安装时,我得到:

警告: HBASE_HOME和HBASE_VERSION未设置。警告: HCAT_HOME未设置警告: HCATALOG_HOME不存在,HCatalog导入将失败。请将HCATALOG_HOME设置为HCatalog安装的根目录。警告: ACCUMULO_HOME未设置。警告: ZOOKEEPER_HOME未设置。警告: HBASE_HOME不存在,HBase导入将失败。请将HBASE_HOME设置为HBase安装的根目录。警告: ACCUMULO_HOME不存在,ACCUMULO_HOME将失败。请将ACCUMULO_HOME设置为Accumulo安装的根目录。警告: ZOOKEEPER_HOME不存在,Accumulo将失败。请将ZOOKEEPER_HOME设置为动物园管理员安装的根目录。系统找不到指定的路径。

请帮助解决这个问题。

EN

回答 2

Stack Overflow用户

发布于 2020-09-07 00:28:59

这取决于您是在服务器端还是客户端工作。

如果您在服务器端,请执行以下操作:

将Sqoop工件复制到要运行Sqoop服务器的机器上。Sqoop服务器充当Hadoop客户端,因此Hadoop库(Yarn、Mapreduce和HDFS jar文件)和配置文件(core-site.xml、mapreduce-site.xml、.)必须在此节点上可用。您不需要运行任何与Hadoop相关的服务--在“网关”节点上运行服务器是非常好的。

解压Sqoop分布球

代码语言:javascript
运行
复制
tar -xvf sqoop-<version>-bin-hadoop<hadoop-version>.tar.gz

将解压缩内容移动到任何位置

代码语言:javascript
运行
复制
mv sqoop-<version>-bin-hadoop<hadoop version>.tar.gz /usr/lib/sqoop

更改工作目录

代码语言:javascript
运行
复制
cd /usr/lib/sqoop

而sqoopt需要在Hadoop库中使用环境变量。因此,设置并导出这样的变量:

代码语言:javascript
运行
复制
# Export HADOOP_HOME variable
export HADOOP_HOME=/...

# Or alternatively HADOOP_*_HOME variables
export HADOOP_COMMON_HOME=/...
export HADOOP_HDFS_HOME=/...
export HADOOP_MAPRED_HOME=/...
export HADOOP_YARN_HOME=/...

Sqoop服务器需要模拟用户以访问HDFS,因此编辑核心-site.xml文件:

代码语言:javascript
运行
复制
<property>
  <name>hadoop.proxyuser.sqoop2.hosts</name>
  <value>*</value>
</property>
<property>
  <name>hadoop.proxyuser.sqoop2.groups</name>
  <value>*</value>
</property>

对于客户端安装,只需在目标机器上复制Sqoop分发工件并将其解压缩到所需位置即可。可以使用以下命令启动客户端:

代码语言:javascript
运行
复制
sqoop2-shell

对于path变量,所有面向shell命令的用户和管理员都存储在bin/目录中。为了便于执行,建议将这个目录添加到$PATH中,例如:

代码语言:javascript
运行
复制
PATH=$PATH:`pwd`/bin/
票数 1
EN

Stack Overflow用户

发布于 2021-12-25 09:06:53

这种组合对我来说很好:

1.4.7

  • Connector/J:

  • Hadoop: 3.3.1

  • Sqoop:

  • 5.1.49

注意:在"$SQOOP_HOME/lib“中,必须将”Common-lang3-3.4.jar“替换为"commons-lang3-3.4.jar”,以避免在使用"java.lang.ClassNotFoundException: org.apache.commons.lang.StringUtils“时使用"Sqoop”.

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63762575

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档