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
除了 sqoop
、hive
、pig
、distcp
和 mapreduce-streaming
路径也存在于 lib
和 lib/lib_20151118030154
。
所以问题是:我应该把连接器罐放在哪里:第一个还是第二个?
这两条路径相对于 sqoop
、hive
、pig
、distcp
和 [= 的 jar 有什么不同(或目的不同) 18=] 对于 Oozie?
lib_20151118030154
sub-dir 将是截至 2015 年 11 月 18 日的 ShareLibs 当前版本。版本控制允许您在不停止 Oozie 服务的情况下进行更新——查看文档 here.
换句话说:Oozie 服务在内存中保留了每个 ShareLib 中的 JAR 列表(基于启动时最新版本的内容),因此添加 JAR 不会产生影响,直到 (a) 您 stop/restart 服务或 (b) 您按照上述文档中的说明重新同步服务。
我已经安装了 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
除了 sqoop
、hive
、pig
、distcp
和 mapreduce-streaming
路径也存在于 lib
和 lib/lib_20151118030154
。
所以问题是:我应该把连接器罐放在哪里:第一个还是第二个?
这两条路径相对于 sqoop
、hive
、pig
、distcp
和 [= 的 jar 有什么不同(或目的不同) 18=] 对于 Oozie?
lib_20151118030154
sub-dir 将是截至 2015 年 11 月 18 日的 ShareLibs 当前版本。版本控制允许您在不停止 Oozie 服务的情况下进行更新——查看文档 here.
换句话说:Oozie 服务在内存中保留了每个 ShareLib 中的 JAR 列表(基于启动时最新版本的内容),因此添加 JAR 不会产生影响,直到 (a) 您 stop/restart 服务或 (b) 您按照上述文档中的说明重新同步服务。