我正在尝试通过oozie在hdp sandbox2.1上执行sqoop导出。当我运行oozie作业时,我得到以下java运行时异常。
'>>>现在调用sqoop命令行>>>
7598[main]warn org.apache.sqoop.tool.sqooptool-$sqoop\u conf\u 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\u conf\u dir尚未在环境中设置。无法检查其他配置。
7904[main]info org.apache.sqoop.manager.mysqlmanager-准备使用mysql流结果集。
7905[main]info org.apache.sqoop.tool.codegentool-开始代码生成
7946[main]error org.apache.sqoop.sqoop-运行sqoop时出现异常:java.lang.runtimeexception:无法加载db驱动程序类:com.mysql.jdbc.driver intercepting system.exit(1)
我已经将jdbc驱动程序文件“mysql connector java.jar”复制到了oozie的共享库文件夹中,我相信它是“/usr/lib/oozie/share/lib/sqoop/”。我已经重新启动了我的沙盒,并尝试再次使用oozie执行导出,但仍然得到相同的错误。
当我尝试仅通过sqoop执行导出时,它工作得非常好,因此我假设oozie需要自己的一组驱动程序。
我的问题是,我应该将jdbc驱动程序复制到哪个oozie目录?
如果你们认为我做错了什么或者你们需要更多的信息,请告诉我。
谢谢你抽出时间。
1条答案
按热度按时间wh6knrhe1#
通常对于oozie,hdfs上的sharelib目录是/user/oozie/share/lib/,其中“oozie”是用于启动oozie服务器的用户的名称。我不知道HDPSandbox2.1的情况是什么,但是您可以使用ps命令来解决这个问题。
对于sqoop操作所需的jar,我认为应该将jar复制到/user/oozie/share/lib/sqoop/folder。