【问题标题】:java.io.FileNotFoundException: File does not exist: hdfs://localhost:9000/home/hduser/sqoop/lib/hsqldb-1.8.0.10.jarjava.io.FileNotFoundException:文件不存在:hdfs://localhost:9000/home/hduser/sqoop/lib/hsqldb-1.8.0.10.jar
【发布时间】:2015-04-27 08:08:12
【问题描述】:

我基本上是一个 mysql 人,并且是 hadoop 的新手,并尝试通过 sqoop 并使用以下命令在我的 hadoop 系统上导入一个 mysql 表,但出现错误。我在网上搜索但没有得到任何可能的解决方案。

非常感谢您的支持。

[hduser@localhost ~]$ sqoop-import --connect jdbc:mysql://192.168.12.172:3306/test --username root -P --table users_log

错误: 15/02/25 16:26:40 ERROR tool.ImportTool:遇到 IOException 运行导入作业:java.io.FileNotFoundException:文件不存在:hdfs://localhost:9000/home/hduser/sqoop/lib/hsqldb- 1.8.0.10.jar

即使这个文件存在于同一路径,详情如下-

[hduser@localhost ~]$ ls -lh /home/hduser/sqoop/lib/
total 5.1M
-rwxr-xr-x 1 hduser hadoop 220K Aug  1  2014 ant-contrib-1.0b3.jar
-rwxr-xr-x 1 hduser hadoop  36K Aug  1  2014 ant-eclipse-1.0-jvm1.2.jar
-rwxr-xr-x 1 hduser hadoop 392K Aug  1  2014 avro-1.7.5.jar
-rwxr-xr-x 1 hduser hadoop 167K Aug  1  2014 avro-mapred-1.7.5-hadoop2.jar
-rwxr-xr-x 1 hduser hadoop 236K Aug  1  2014 commons-compress-1.4.1.jar
-rwxr-xr-x 1 hduser hadoop 107K Aug  1  2014 commons-io-1.4.jar
-rwxr-xr-x 1 hduser hadoop 691K Aug  1  2014 hsqldb-1.8.0.10.jar
-rwxr-xr-x 1 hduser hadoop 227K Aug  1  2014 jackson-core-asl-1.9.13.jar
-rwxr-xr-x 1 hduser hadoop 763K Aug  1  2014 jackson-mapper-asl-1.9.13.jar
-rwxr-xr-x 1 hduser hadoop 932K Mar 11  2014 mysql-connector-java-5.1.30-bin.jar
-rwxr-xr-x 1 hduser hadoop  29K Aug  1  2014 paranamer-2.3.jar
-rwxr-xr-x 1 hduser hadoop 1.2M Aug  1  2014 snappy-java-1.0.5.jar
-rwxr-xr-x 1 hduser hadoop  93K Aug  1  2014 xz-1.0.jar

【问题讨论】:

  • 我所做的实际上是进入hue并创建必要的文件夹并上传必要的文件。后来它不再抱怨了。

标签: java hadoop sqoop


【解决方案1】:

hdfs://localhost:9000/ 是 hadoop hdfs 地址。 您可以更改应用中的属性或在 hdfs 上上传您的 jar。

你显示你的 linux 文件系统的 ls 命令,但是 hdfs://localhost:9000/ 是 hadoop hdfs 文件系统的地址。

【讨论】:

  • 我没有使用任何应用程序,我只是从我的 linux 系统中通过 sqoop 实用程序导入一个表......根据我的假设,hadoop 也以这种方式显示了这条路径本身,如 hdfs://本地主机:9000/
  • 为您设置主路径。或“hdfs dfs -put /home/hduser/sqoop hdfs://localhost:9000/home/hduser/sqoop”
  • 出现错误“put: `hdfs://localhost:9000/home/hduser/sqoop'”:没有这样的文件或目录
  • 实际上 hsqldb-1.8.0.10.jar 文件存在于路径 /home/hduser/sqoop/lib/ 但是当我通过 hdfs dfs -ls hdfs://localhost:9000/ 检查时它显示在 hdfs://localhost:9000/user/hduser/sqoop/lib/....为什么这显示用户目录而不是 hdfs 的主页...任何线索/帮助。
【解决方案2】:

请执行以下命令来解决您的问题。它会将您的文件复制到 HDFS 系统中。

hdfs dfs -copyFromLocal /opt/hadoop/sqoop-1.4.6 hdfs://localhost:9000/opt/hadoop/sqoop-1.4.6

hdfs dfs -copyFromLocal /opt/hadoop/sqoop-1.4.6/lib hdfs://localhost:9000/opt/hadoop/sqoop-1.4.6/lib

注意:请将下面的花括号内联部分视为一行

{hdfs dfs -copyFromLocal /opt/hadoop/sqoop-1.4.6/sqoop-1.4.6.jar hdfs://localhost:9000/opt/hadoop/sqoop-1.4.6/sqoop-1.4.6。罐子}

类似地复制任何 HDFS 系统无法获取的文件。

注意:在上面的命令中 /opt/hadoop/sqoop-1.4.6 是我的系统 sqoop 安装位置

谢谢,伊库巴尔·穆斯塔法·卡基

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-09
    • 1970-01-01
    • 1970-01-01
    • 2014-12-03
    相关资源
    最近更新 更多