Oozie Shared Lib:在哪里放置罐子

Oozie Shared Lib: where to place jars

我已经安装了 Cloudera CDH QuickStart VM 5.5,并且我在我的 Oozie 工作流中 运行 一个 Sqoop 动作。我遇到一个错误,说 MySQL JDBC 驱动程序丢失,我遇到了一个 SO 答案 here 说 mysql-connector-java.jar 应该是放置在 Oozie 的 HDFS 共享库路径中,在 sqoop 路径下。

然而,当我浏览 Oozie 的 HDFS 共享库路径时,我注意到有两个 sqoop 子目录来复制 jar。

/user/oozie/share/lib/sqoop

/user/oozie/share/lib/lib_20151118030154/sqoop

除了 sqoophivepigdistcpmapreduce-streaming 路径也存在于 liblib/lib_20151118030154

所以问题是:我应该把连接器罐放在哪里:第一个还是第二个?

这两条路径相对于 sqoophivepigdistcp 和 [= 的 jar 有什么不同(或目的不同) 18=] 对于 Oozie?

lib_20151118030154sub-dir 将是截至 2015 年 11 月 18 日的 ShareLibs 当前版本。版本控制允许您在不停止 Oozie 服务的情况下进行更新——查看文档 here.

换句话说:Oozie 服务在内存中保留了每个 ShareLib 中的 JAR 列表(基于启动时最新版本的内容),因此添加 JAR 不会产生影响,直到 (a) 您 stop/restart 服务或 (b) 您按照上述文档中的说明重新同步服务。