从teradata获取数据到配置单元时,oozie中的sqoop操作出错

4jb9z9bj  于 2021-06-26  发布在  Hive
关注(0)|答案(0)|浏览(230)

我正在使用HDP2.3。在从teradata获取数据到hive时,我在oozie中的sqoop操作中遇到以下错误。
sqoop操作在我的 workflow.xml :

<sqoop xmlns="uri:oozie:sqoop-action:0.3">
        <job-tracker>${hadoop_jobTrackerURL}</job-tracker>
            <name-node>${hadoop_nameNodeURL}</name-node>
            <job-xml>lib/hive-site.xml</job-xml>

  <configuration>
        <property>
              <name>oozie.launcher.mapreduce.user.classpath.first</name>
                    <value>true</value>
        </property>
        <property>
             <name>mapred.job.queue.name</name>
                    <value>${hadoop_yarnQueueName}</value>
       </property>
  </configuration>

  <arg>import</arg>
  <arg>--connect</arg>
  <arg>jdbc:teradata://192.168.145.129/DBS_PORT=1025,DATABASE=DS_TBL_DB</arg>
  <arg>--username</arg>
  <arg>dbc</arg>
  <arg>--password</arg>
  <arg>dbc</arg>
  <arg>--driver</arg>
  <arg>com.teradata.jdbc.TeraDriver</arg>
  <arg>--query</arg>
  <arg>select * from ds_tbl_db.catalog_page WHERE $CONDITIONS</arg>
  <arg>--hive-import</arg>
  <arg>--hive-table</arg>
  <arg>catalog_page123</arg>
  <arg>--target-dir</arg>
  <arg>/user/root/db/catalog_page1234</arg>
  <arg>-m</arg>
  <arg>1</arg>
  <arg>--verbose</arg>

注:我补充道 tdgssconfig.jar & terajdbc4.jar 所有的Hive依赖性都在里面 /share/lib . 还尝试在工作流的lib文件夹中包含依赖项。
错误堆栈:
错误[main]工具.importtool(importtool。java:run(613))-运行导入作业时遇到ioexception:java.io.ioexception:无法运行程序“hive”:错误=13,在java.lang.processbuilder.start(processbuilder。java:1047)在java.lang.runtime.exec(运行时。java:617)在java.lang.runtime.exec(运行时。java:528)在org.apache.sqoop.util.executor.exec(executor。java:76)在org.apache.sqoop.hive.hiveimport.executeexternalhivescript(hiveimport。java:391)在org.apache.sqoop.hive.hiveimport.executescript(hiveimport。java:344)在org.apache.sqoop.hive.hiveimport.importable(hiveimport。java:245)在org.apache.sqoop.tool.importtool.importtable(importtool。java:514)在org.apache.sqoop.tool.importtool.run(importtool。java:605)在org.apache.sqoop.sqoop.run(sqoop。java:148)在org.apache.hadoop.util.toolrunner.run(toolrunner。java:70)在org.apache.sqoop.sqoop.runsqoop(sqoop。java:184)在org.apache.sqoop.sqoop.runtool(sqoop。java:226)在org.apache.sqoop.sqoop.runtool(sqoop。java:235)在org.apache.sqoop.sqoop.main(sqoop。java:244)在org.apache.oozie.action.hadoop.sqoopmain.runsqoopjob(sqoopmain。java:197)在org.apache.oozie.action.hadoop.sqoopmain.run(sqoopmain。java:177)在org.apache.oozie.action.hadoop.launchemain.run(launchemain。java:47)在org.apache.oozie.action.hadoop.sqoopmain.main(sqoopmain。java:46)在sun.reflect.nativemethodaccessorimpl.invoke0(本机方法)在sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl)。java:57) 在sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl。java:43)在java.lang.reflect.method.invoke(方法。java:606)在org.apache.oozie.action.hadoop.launchermapper.map(launchermapper。java:236)在org.apache.hadoop.mapred.maprunner.run(maprunner。java:54)在org.apache.hadoop.mapred.maptask.runoldmapper(maptask。java:453)在org.apache.hadoop.mapred.maptask.run(maptask。java:343)在org.apache.hadoop.mapred.yarnchild$2.run(yarnchild。java:164)位于javax.security.auth.subject.doas(subject)的java.security.accesscontroller.doprivileged(本机方法)。java:415)在org.apache.hadoop.security.usergroupinformation.doas(usergroupinformation。java:1657)在org.apache.hadoop.mapred.yarnchild.main(yarnchild。java:158)原因:java.io.ioexception:error=13,java.lang.unixprocess的java.lang.unixprocess.forkandexec(本机方法)的权限被拒绝。java:186)在java.lang.processimpl.start(processimpl。java:130)在java.lang.processbuilder.start(processbuilder。java:1028) ... 还有31个

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题