当我执行一个sqoop作业时,它抛出一个filenotfoundexception错误,如下所示
18/05/29 06:18:59 info orm.compilationmanager:正在写入jar文件:/tmp/sqoop hduser/compile/0ce66d1f09ce960a71c165855afbe42c/queryresult.jar 18/05/29 06:18:59 info mapreduce.importjobbase:开始查询导入。18/05/29 06:18:59信息配置。弃用:mapred.job.tracker已弃用。相反,请使用mapreduce.jobtracker.address 18/05/29 06:18:59警告util.nativecodeloader:无法为您的平台加载本机hadoop库。。。在适用的情况下使用内置java类18/05/29 06:18:59 info configuration.deprecation:mapred.jar已被否决。相反,请使用mapreduce.job.jar 18/05/29 06:19:01 info configuration.deprecation:mapred.job.tracker已弃用。相反,请使用mapreduce.jobtracker.address 18/05/29 06:19:01 info configuration.deprecation:mapred.map.tasks。相反,请使用mapreduce.job.maps 18/05/29 06:19:01 info configuration.deprecation:session.id已弃用。相反,请使用dfs.metrics.session-id 18/05/29 06:19:01 info jvm.jvmmetrics:使用processname=jobtracker初始化jvm度量,sessionid=18/05/29 06:19:01 info mapreduce.jobsubmitter:清理临时区域文件:/app/hadoop/tmp/mapred/staging/hduser1354549662/.staging/job\u local1354549662\u 0001 18/05/29 06:19:01错误工具。importtool:运行导入作业时遇到ioexception:java.io.filenotfoundexception:文件不存在:hdfs://svn-server:54310/home/hduser/sqoop-1.4.6.bin\uhadoop-2.0.4-alpha/lib/postgresql-9.2-1002-jdbc4.jar位于org.apache.hadoop.hdfs.distributedfilesystem$18.docall(distributedfilesystem)。java:1122)在org.apache.hadoop.hdfs.distributedfilesystem$18.docall(distributedfilesystem)。java:1114)在org.apache.hadoop.fs.filesystemlinkresolver.resolve(filesystemlinkresolver。java:81)在org.apache.hadoop.hdfs.distributedfilesystem.getfilestatus(distributedfilesystem)。java:1114)位于org.apache.hadoop.mapreduce.filecache.clientdistributedcachemanager.getfilestatus(clientdistributedcachemanager)。java:288)在org.apache.hadoop.mapreduce.filecache.clientdistributedcachemanager.getfilestatus(clientdistributedcachemanager)。java:224)位于org.apache.hadoop.mapreduce.filecache.clientdistributedcachemanager.determinetimestamps(clientdistributedcachemanager)。java:99)在org.apache.hadoop.mapreduce.filecache.clientdistributedcachemanager.determinetimestampsandcachevisibilities(clientdistributedcachemanager)。java:57)在org.apache.hadoop.mapreduce.jobsubmitter.copyandconfigurefiles(jobsubmitter。java:269)在org.apache.hadoop.mapreduce.jobsubmitter.copyandconfigurefiles(jobsubmitter。java:390)在org.apache.hadoop.mapreduce.jobsubmitter.submitjobinternal(jobsubmitter。java:483)在org.apache.hadoop.mapreduce.job$10.run(job。java:1296)在org.apache.hadoop.mapreduce.job$10.run(job。java:1293)位于javax.security.auth.subject.doas(subject)的java.security.accesscontroller.doprivileged(本机方法)。java:415)在org.apache.hadoop.security.usergroupinformation.doas(用户组信息。java:1628)在org.apache.hadoop.mapreduce.job.submit(作业。java:1293)在org.apache.hadoop.mapreduce.job.waitforcompletion(作业。java:1314)在org.apache.sqoop.mapreduce.importjobbase.dosubmitjob(importjobbase。java:196)在org.apache.sqoop.mapreduce.importjobbase.runjob(importjobbase。java:169)在org.apache.sqoop.mapreduce.importjobbase.runimport(importjobbase。java:266)在org.apache.sqoop.manager.sqlmanager.importquery(sqlmanager。java:729)在org.apache.sqoop.tool.importtool.importtable(importtool。java:499)在org.apache.sqoop.tool.importtool.run(importtool。java:605)在org.apache.sqoop.tool.jobtool.execjob(jobtool。java:228)在org.apache.sqoop.tool.jobtool.run(jobtool。java:283)在org.apache.sqoop.sqoop.run(sqoop。java:143)在org.apache.hadoop.util.toolrunner.run(toolrunner。java:70)在org.apache.sqoop.sqoop.runsqoop(sqoop。java:179)在org.apache.sqoop.sqoop.runtool(sqoop。java:218)在org.apache.sqoop.sqoop.runtool(sqoop。java:227)在org.apache.sqoop.sqoop.main(sqoop。java:236) 它应该在本地查找jar和其他依赖项
sqoop/lib` 但它在hdfs中的文件路径与本地sqoop lib路径相同。根据项目要求,我需要sqoop查看我的本地库。我怎样才能做到这一点?谢谢。
1条答案
按热度按时间siotufzp1#
是否为sqoop in.bashrc文件设置了sqoop\u home和path环境变量
如果没有,请添加
六、巴什尔
包括以下行
保存文件并执行以下命令
来源~/.bashrc
希望这对你有帮助!!!