我熟悉 Cloudera 架构,但不熟悉 MapR。我有一个 RHEL 虚拟机,并且之前使用此文档安装了 MapR 客户端软件。我能够按预期提交 mapreduce 作业并查询 HDFS。
我遵循了这个文档(在我安装了 MapR yum repo 之后)并像这样安装了 sqoop:
yum install mapr-sqoop
如果我尝试对一些数据进行 sqoop,甚至只是发出命令sqoop
,我会收到以下错误:
/opt/mapr/sqoop/sqoop-1.4.4/bin/configure-sqoop:第47行:/opt/mapr/bin/versions.sh:没有这样的文件或目录
Error: /opt/mapr/hadoop/hadoop- does not exist!
Please set $HADOOP_COMMON_HOME to the root of your Hadoop installation.
我有一个 /opt/mapr/hadoop/hadoop-0.20.2 目录。我已经尝试设置HADOOP_COMMON_HOME
和HADOOP_HOME
两者/opt/mapr/hadoop
,/opt/mapr/hadoop/hadoop-0.20.2
但仍然收到相同的错误。
- 更新:
我发出了 afind / -name hadoop
并注意到最后一行是/usr/bin/hadoop
.
然后我将 HADOOP_COMMON_HOME 设置为/usr
,然后被要求设置 HADOOP_MAPRED_HOME、HBASE_HOME 和 HCAT_HOME,我都设置为/usr
。
但是,此错误仍然存在:
/opt/mapr/sqoop/sqoop-1.4.4/bin/configure-sqoop:第47行:/opt/mapr/bin/versions.sh:没有这样的文件或目录
我打开这个文件并注释掉第 47 行。这允许我使用 sqoop 命令,但是导入作业失败并且我收到了很多Error: Unsupported major.minor version
.