我在从 http://www.cloudera.com/content/cloudera-content/cloudera-docs/DemoVMs/Cloudera-QuickStart-VM/cloudera_quickstart_vm.html 下载的 Cloudera QuickStart VM 中遇到错误.
我正在尝试 Tom White 的 Hadoop:权威指南 中的玩具示例,名为 map_temp.pig
,它“按年份查找最高温度”。
我创建了一个名为 temps.txt
的文件,其中每一行都包含(年份、温度、质量)条目:
1950 0 1
1950 22 1
1950 -11 1
1949 111 1
使用书中的示例代码,我在 Grunt 终端中输入了以下 Pig 代码:
records = LOAD '/home/cloudera/Desktop/temps.txt'
AS (year:chararray, temperature:int, quality:int);
DUMP records;
在我输入 DUMP records;
后,我得到了错误:
2014-05-22 11:33:34,286 [main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 1066: Unable to open iterator for alias records. Backend error : org.apache.hadoop.yarn.exceptions.ApplicationNotFoundException: Application with id 'application_1400775973236_0006' doesn't exist in RM.
…
Details at logfile: /home/cloudera/Desktop/pig_1400782722689.log
我试图通过 Google 搜索找出导致错误的原因:https://www.google.com/search?q=%22application+with+id%22+%22doesn%27t+exist +in+RM%22
.
那里的结果没有帮助。例如,http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr-troubleshoot-error-vpc.html提到这个错误并说“要解决这个问题,您必须配置一个包含 DHCP 选项集的 VPC,其参数设置为以下值...”
亚马逊建议的修复似乎不是问题,因为我没有使用 AWS。
编辑:
我认为 HDFS 文件路径是正确的。
[cloudera@localhost Desktop]$ ls
Eclipse.desktop gnome-terminal.desktop max_temp.pig temps.txt
[cloudera@localhost Desktop]$ pwd
/home/cloudera/Desktop
最佳答案
在您的错误之前还有另一个异常:
org.apache.pig.backend.executionengine.ExecException: ERROR 2118: Input path does not exist: hdfs://localhost.localdomain:8020/home/cloudera/Desktop/temps.txt
at org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigInputFormat.getSplits(PigInputFormat.java:288)
您的文件在 HDFS 中吗?你检查文件路径了吗?
关于hadoop - "Doesn' t 存在于 RM"Pig 后端错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23818362/