【问题标题】:Reading a file using map reduce in hadoop在hadoop中使用map reduce读取文件
【发布时间】:2016-07-15 09:26:31
【问题描述】:

我正在尝试以 map reduce 形式编写 java 代码,它在 Eclipse 中运行,但是当我尝试以 map reduce 形式实现时,我收到了这个错误,请帮助我这个错误是什么意思以及如何解决这个问题

16/07/15 14:05:17 INFO Configuration.deprecation: session.id is deprecated. Instead, use dfs.metrics.session-id
16/07/15 14:05:17 INFO jvm.JvmMetrics: Initializing JVM Metrics with processName=JobTracker, sessionId=
16/07/15 14:05:17 INFO jvm.JvmMetrics: Cannot initialize JVM Metrics with processName=JobTracker, sessionId= - already initialized
16/07/15 14:05:18 WARN mapreduce.JobSubmitter: Hadoop command-line option parsing not performed. Implement the Tool interface and execute your application with ToolRunner to remedy this.
16/07/15 14:05:18 INFO mapred.FileInputFormat: Total input paths to process : 2
16/07/15 14:05:18 INFO mapreduce.JobSubmitter: Cleaning up the staging area file:/app/hadoop/tmp/mapred/staging/hadoop1148163758/.staging/job_local1148163758_0001
Exception in thread "main" java.io.IOException: Not a file: hdfs://localhost:54310/TcTest/NewTest
    at org.apache.hadoop.mapred.FileInputFormat.getSplits(FileInputFormat.java:320)
    at org.apache.hadoop.mapreduce.JobSubmitter.writeOldSplits(JobSubmitter.java:624)
    at org.apache.hadoop.mapreduce.JobSubmitter.writeSplits(JobSubmitter.java:616)
    at org.apache.hadoop.mapreduce.JobSubmitter.submitJobInternal(JobSubmitter.java:492)
    at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1296)
    at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1293)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAs(Subject.java:415)
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1628)
    at org.apache.hadoop.mapreduce.Job.submit(Job.java:1293)
    at org.apache.hadoop.mapred.JobClient$1.run(JobClient.java:562)
    at org.apache.hadoop.mapred.JobClient$1.run(JobClient.java:557)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAs(Subject.java:415)
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1628)
    at org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:557)
    at org.apache.hadoop.mapred.JobClient.submitJob(JobClient.java:548)
    at org.apache.hadoop.mapred.JobClient.runJob(JobClient.java:833)
    at TextClassification.run(TextClassification.java:38)
    at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
    at TextClassification.main(TextClassification.java:43)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
    at org.apache.hadoop.util.RunJar.main(RunJar.java:136)

【问题讨论】:

  • “我正在尝试编写java代码” 那么请把这段代码贴出来。
  • 你需要发布代码,然后只有有人可以提供帮助。

标签: java mapreduce hadoop2


【解决方案1】:

您需要提供输入文件的完整路径作为程序的参数。右键单击程序-->运行配置-->参数

在此之前,您需要从 hadoop-version/share/hadoop 文件夹中添加一些 jar 文件。关于如何在本地模式下通过 eclipse 运行 map reduce 程序的完整详细信息,您可以参考下面的博客。

https://acadgild.com/blog/running-mapreduce-in-local-mode-2/

【讨论】:

  • 我正在尝试在 hadoop 中运行该程序并遇到这些错误我该如何解决它,最重要的是为什么这些错误会显示如果你能解释它会非常有帮助。
  • 这完全取决于您编写的代码,通过查看错误很难。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-27
  • 1970-01-01
相关资源
最近更新 更多