大数据:Sqoop-Export Error

时间:2015-10-01 16:03:35

标签: hadoop cloudera sqoop

我对这个世界很陌生。在使用sqoop运行export命令时,我收到以下错误“输入路径不存在:hdfs://quickstart.cloudera:8020 / home / cloudera / Test5 ”。我检查了路径/home/cloudera/Test5,文件存在于路径中。从sqoop配置的core-site.xml文件中可以看到hdfs路径的详细信息,当我通过文件浏览器测试它时只需打开IE并输入hdfs://quickstart.cloudera:8020/home/cloudera/Test5,消息就会显示为“无法连接”。我不知道该属性的正确参数值。请帮我解决这个问题。

请在下面找到属性文件参数和错误详情。

参数文件

<name>fs.defaultFS</name>
<value>hdfs://quickstart.cloudera:8020</value>

错误

[cloudera@quickstart hadoop-conf]$ sqoop export --connect jdbc:sqlserver://10.34.83.177:54815 --username hadoop --password xxxxxx --table hadoop_sanjeeb3 --export-dir /home/cloudera/Test5 -mapreduce-job-name sqoop_export_job -m 1
Warning: /usr/lib/sqoop/../accumulo does not exist! Accumulo imports will fail.
Please set $ACCUMULO_HOME to the root of your Accumulo installation.
15/10/01 08:42:47 INFO sqoop.Sqoop: Running Sqoop version: 1.4.5-cdh5.4.2
15/10/01 08:42:47 WARN tool.BaseSqoopTool: Setting your password on the command-line is insecure. Consider using -P instead.
15/10/01 08:42:48 INFO manager.SqlManager: Using default fetchSize of 1000
15/10/01 08:42:48 INFO tool.CodeGenTool: Beginning code generation
15/10/01 08:42:49 INFO manager.SqlManager: Executing SQL statement: SELECT t.* FROM [hadoop_sanjeeb3] AS t WHERE 1=0
15/10/01 08:42:49 INFO orm.CompilationManager: HADOOP_MAPRED_HOME is /usr/lib/hadoop-mapreduce
Note: /tmp/sqoop-cloudera/compile/aa9c9fd9f69b76202be29508561f22ff/hadoop_sanjeeb3.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
15/10/01 08:42:51 INFO orm.CompilationManager: Writing jar file: /tmp/sqoop-cloudera/compile/aa9c9fd9f69b76202be29508561f22ff/hadoop_sanjeeb3.jar
15/10/01 08:42:51 INFO mapreduce.ExportJobBase: Beginning export of hadoop_sanjeeb3
15/10/01 08:42:51 INFO Configuration.deprecation: mapred.job.tracker is deprecated. Instead, use mapreduce.jobtracker.address
15/10/01 08:42:51 INFO Configuration.deprecation: mapred.jar is deprecated. Instead, use mapreduce.job.jar
15/10/01 08:42:54 WARN mapreduce.ExportJobBase: Input path hdfs://quickstart.cloudera:8020/home/cloudera/Test5 does not exist
15/10/01 08:42:54 INFO Configuration.deprecation: mapred.reduce.tasks.speculative.execution is deprecated. Instead, use mapreduce.reduce.speculative
15/10/01 08:42:54 INFO Configuration.deprecation: mapred.map.tasks.speculative.execution is deprecated. Instead, use mapreduce.map.speculative
15/10/01 08:42:54 INFO Configuration.deprecation: mapred.map.tasks is deprecated. Instead, use mapreduce.job.maps
15/10/01 08:42:54 INFO client.RMProxy: Connecting to ResourceManager at /0.0.0.0:8032
15/10/01 08:42:58 INFO mapreduce.JobSubmitter: Cleaning up the staging area /tmp/hadoop-yarn/staging/cloudera/.staging/job_1443557935828_0011
15/10/01 08:42:58 WARN security.UserGroupInformation: PriviledgedActionException as:cloudera (auth:SIMPLE) cause:org.apache.hadoop.mapreduce.lib.input.InvalidInputException: Input path does not exist: hdfs://quickstart.cloudera:8020/home/cloudera/Test5
15/10/01 08:42:58 ERROR tool.ExportTool: Encountered IOException running export job: org.apache.hadoop.mapreduce.lib.input.InvalidInputException: Input path does not exist: hdfs://quickstart.cloudera:8020/home/cloudera/Test5

问候 - Sanjeeb

2 个答案:

答案 0 :(得分:2)

好像你在本地文件系统和hadoop文件系统之间有一些混淆。您尝试使用sqoop导出的文件应存在于hdfs中。目录位置/ home / cloudera / Test似乎存在于本地文件系统中。

执行下面给出的命令并确认您提到的位置存在于hdfs中。

hadoop fs -ls /home/cloudera/Test5

如果这是错误,则表示该目录在hdfs中不存在。您无法使用简单的 ls 命令浏览hdfs,您必须使用 hadoop 命令。如果要使用浏览器浏览hdfs目录,请打开namenode web ui(http://namenode-host:50070),然后您可以选择浏览文件和目录。 您无法使用浏览器使用hdfs://quickstart.cloudera:8020 / home / cloudera / Test5等网址浏览hdfs文件系统。您可以使用webhdfs进行类似的操作。

确保该文件存在于hdfs中并再次触发该命令。它会工作。

注意:通常我们永远不会在hdfs中保留像/ home / cloudera这样的用户目录。结构将类似于/ user / {username}。默认情况下,hdfs将/ user / {username}视为hdfs中的主目录。其中{username}将是linux中当前登录的用户

答案 1 :(得分:0)

该文件可能位于本地文件系统中,但不在hadoop分布式文件系统(HDFS)中。您可以通过

将本地文件系统中的本地文件添加到HDFS
  hadoop fs -put <local_file_path> <HDFS_diresctory> 

命令。您应该以HDFS用户身份进行操作。