oozie怎么找到sqoop在哪个节点上

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oozie怎么找到sqoop在哪个节点上相关的知识,希望对你有一定的参考价值。

参考技术A 行hive能成功,还源于运行sqoop示例。下面将我遇到的问题解决方法总结一下:
1. 操作系统上须装jdk,不能是openjdk或者jre。我之前就是openjdk,执行sqoop遇到不能编译之类的错误。
2. sqoop执行

Oozie - 运行 sqoop 时出现异常:无法加载数据库驱动程序类:com.mysql.jdbc.Driver

【中文标题】Oozie - 运行 sqoop 时出现异常:无法加载数据库驱动程序类:com.mysql.jdbc.Driver【英文标题】:Oozie - Got exception running sqoop: Could not load db driver class: com.mysql.jdbc.Driver 【发布时间】:2014-08-25 17:20:50 【问题描述】:

我正在尝试通过 Oozie 在 HDP 沙箱 2.1 上执行 sqoop 导出。当我运行 Oozie 作业时,我得到以下 java 运行时异常。

'>>> 现在调用 Sqoop 命令行 >>>

7598 [main] 警告 org.apache.sqoop.tool.SqoopTool - $SQOOP_CONF_DIR 尚未在环境中设置。无法检查其他 配置。

7714 [main] INFO org.apache.sqoop.Sqoop - 运行 Sqoop 版本: 1.4.4.2.1.1.0-385

7760 [main] WARN org.apache.sqoop.SqoopOptions - 字符参数 '\t' 有多个字符;只会使用第一个。

7791 [main] WARN org.apache.sqoop.ConnFactory - $SQOOP_CONF_DIR 有 未设置在环境中。无法检查其他 配置。

7904 [main] INFO org.apache.sqoop.manager.MySQLManager - 准备中 使用 MySQL 流结果集。

7905 [main] INFO org.apache.sqoop.tool.CodeGenTool - 开始代码 一代

7946 [main] 错误 org.apache.sqoop.Sqoop - 运行异常 Sqoop:java.lang.RuntimeException:无法加载数据库驱动程序类: com.mysql.jdbc.Driver拦截System.exit(1)

我已将 jdbc 驱动程序文件“mysql-connector-java.jar”复制到 Oozie 的共享库文件夹中,我认为该文件夹是“/usr/lib/oozie/share/lib/sqoop/”。我已经重新启动了我的沙箱并尝试再次使用 Oozie 执行导出,但我仍然收到同样的错误。

当我尝试仅通过 sqoop 执行导出时,它的效果非常好,所以我认为 Oozie 需要它自己的一组驱动程序。

我的问题是,我应该将我的 jdbc 驱动程序复制到哪个 Oozie 目录?

如果你们认为我做错了什么或者需要更多信息,请告诉我。

感谢您的宝贵时间。

【问题讨论】:

“我相信是”CLASSPATH 的一部分。显然这个假设是错误的...... Oozie + Sqoop: JDBC Driver Jar Location的可能重复 感谢您的回复@Duffymo,您能否详细说明您对课程路径的第一条评论?我确实检查了您在第二条评论中提到的问题,尽管该文件夹中有驱动程序,但我仍然无法运行我的工作。 阅读错误信息。我会检查是否应该设置 SQOOP_CONF_DIR 环境变量。 【参考方案1】:

对于 Oozie,sharelib 目录通常是 HDFS 上的 /user/oozie/share/lib/,其中“oozie”是用于启动 Oozie 服务器的用户名。我不知道 HDP sandbox 2.1 的情况是什么,但您可以使用 ps 命令来解决这个问题。

对于 sqoop 操作所需的 jar,我认为您应该将 jar 复制到 /user/oozie/share/lib/sqoop/ 文件夹。

【讨论】:

非常感谢@Gaurav,它有效。我将驱动程序添加到 HDP 上的 /user/oozie/share/lib/sqoop。

以上是关于oozie怎么找到sqoop在哪个节点上的主要内容,如果未能解决你的问题,请参考以下文章

使用 Oozie 永久运行 Sqoop 作业

单节点hadoop集群上的实验练习

在 Oozie 工作流中的 MapReduce 作业中设置 Reducer 的数量

Oozie-sqoop 工作流在 cloudera 中因心跳问题而挂起

Oozie-client 没有通过 ambari 安装在新添加的节点上

Oozie Sqoop 作业 - 无法恢复作业