【问题标题】:sqoop error on import导入时出现 sqoop 错误
【发布时间】:2015-11-12 09:30:01
【问题描述】:

在运行以下命令时,我得到一个错误 -

sqoop import --connect jdbc:mysql://127.0.0.1/hadoopguide --table widgets -m 1

我不知道它为什么要在 HDFS 中寻找 avro jar 文件。

SQOOP_HADOOP_HOMESQOOP_MAPRED_HOME 设置为 Hadoop 目录。 我正在使用 Hadoop 2.6.0 和 sqoop 版本 1.4.5

15/11/12 14:56:49 INFO jvm.JvmMetrics: Initializing JVM Metrics with processName=JobTracker, sessionId=
15/11/12 14:56:49 INFO mapreduce.JobSubmitter: Cleaning up the staging area file:/tmp/hadoop-pranay/mapred/staging/pranay1505087555/.staging/job_local1505087555_0001
15/11/12 14:56:49 ERROR tool.ImportTool: Encountered IOException running import job: java.io.FileNotFoundException: File does not exist: hdfs://127.0.0.1:54310/home/<some id>/sqoop-1.4.5.bin__hadoop-2.0.4-alpha/lib/avro-1.7.5.jar
    at org.apache.hadoop.hdfs.DistributedFileSystem$18.doCall(DistributedFileSystem.java:1122)
    at org.apache.hadoop.hdfs.DistributedFileSystem$18.doCall(DistributedFileSystem.java:1114)
    at org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81)

【问题讨论】:

  • 遇到同样的错误

标签: hadoop sqoop


【解决方案1】:

确保您的 lib 文件夹包含以下所有 jar。

[root@sandbox lib]# pwd
/usr/hdp/current/sqoop-client/lib
[root@sandbox lib]# ls -l
total 6832
-rw-r--r-- 1 root root  224135 2015-03-31 21:03 ant-contrib-1.0b3.jar
-rw-r--r-- 1 root root   36427 2015-03-31 21:03 ant-eclipse-1.0-jvm1.2.jar
-rw-r--r-- 1 root root  400090 2015-03-31 21:03 avro-1.7.5.jar
-rw-r--r-- 1 root root  170228 2015-03-31 21:03 avro-mapred-1.7.5-hadoop2.jar
-rw-r--r-- 1 root root  241259 2015-03-31 21:03 commons-compress-1.4.1.jar
-rw-r--r-- 1 root root  108990 2015-03-31 21:03 commons-io-1.4.jar
-rw-r--r-- 1 root root  706015 2015-03-31 21:03 hsqldb-1.8.0.10.jar
-rw-r--r-- 1 root root  229445 2015-03-31 21:03 jackson-core-asl-1.9.13.jar
-rw-r--r-- 1 root root  770013 2015-03-31 21:03 jackson-mapper-asl-1.9.13.jar
lrwxrwxrwx 1 root root      40 2015-04-30 08:50 mysql-connector-java.jar -> /usr/share/java/mysql-connector-java.jar
-rw-r--r-- 1 root root 2714189 2015-10-17 03:09 ojdbc6.jar
-rw-r--r-- 1 root root   29532 2015-03-31 21:03 paranamer-2.3.jar
-rw-r--r-- 1 root root 1245776 2015-03-31 21:03 snappy-java-1.0.5.jar
-rw-r--r-- 1 root root   94608 2015-03-31 21:03 xz-1.0.jar

同时检查您的 hdfs 权限..
您与哪个用户一起运行 Sqoop.. 以及哪个用户对该文件夹具有权限。

这个 SO question 有更多信息.. java.io.FileNotFoundException: File does not exist: hdfs://localhost:9000/home/hduser/sqoop/lib/hsqldb-1.8.0.10.jar

【讨论】:

    【解决方案2】:
    1. 设置 HADOOP_HOME 和 SQOOP_HOME
    2. 在 hdfs 中创建相同的 $SQOOP_HOME/lib 目录。

      hdfs dfs -mkdir -p $SQOOP_HOME/lib

      如果不起作用,请使用完整路径而不是 $SQOOP_HOME

    3. 将 $SQOOP_HOME/lib 中的所有文件复制到 hdfs 中的 $SQOOP_HOME/lib 中。

      hdfs dfs -put $SQOOP_HOME/lib /$SQOOP_HOME/lib

    将丢失的 jar 下载并复制到本地和 hdfs $SQOOP_HOME/lib 目录

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-06
      • 1970-01-01
      • 1970-01-01
      • 2017-09-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多