hadoop pig不能用mkdir java抛出IO异常

问题描述 投票:0回答:1

我有一个非常简单的脚本示例来自hadoop真实世界解决方案食谱,我在amazon cloudera clustertogov04 ami上尝试它,它给了我不能mkdir的java异常?但我有足够的磁盘空间?

[ec2-user]$ df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/xvde1             8255928   3307252   4529300  43% /
tmpfs                  3757068         0   3757068   0% /dev/shm
/dev/xvdk            103212320    192116  97777324   1% /data

继承脚本,命令,错误输出

weblogs = load '/data2/weblogs/weblog_entries.txt' as
(md5:chararray,
url:chararray,
date:chararray,
time:chararray,
ip:chararray);
md5_grp = group weblogs by md5 parallel 4;
store md5_grp into '/data/weblogs/weblogs_md5_groups.bcp';


pig -x local -f pig02 2>err02

2013-06-20 19:57:29,499 [Thread-4] INFO org.apache.hadoop.mapred.Merger - 向下到最后一次合并传递,剩下1个段的总大小:299132字节2013-06-20 19 :57:29,499 [Thread-4] INFO org.apache.hadoop.mapred.LocalJobRunner - 2013-06-20 19:57:29,519 [Thread-4] WARN org.apache.hadoop.mapred.LocalJobRunner - job_local_0001 java.io .IOException:Mkdirs无法在org.apache.hadoop.fs.ChecksumFileSystem的org.apache.hadoop.fs.ChecksumFileSystem.create(ChecksumFileSystem.java:434)创建文件:/data/weblogs/weblogs_md5_groups.bcp/_temporary/_attempt_local_0001_r_000000_0 。在org.apache.hadoop.fs.FileSystem.create(FileSystem.java:805)的org.apache.hadoop.fs.FileSystem.create(FileSystem.java:786)上的.create(ChecksumFileSystem.java:420)。 apache.hadoop.fs.FileSystem.create(FileSystem.java:685)位于org.apache.pig.backend的org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigTextOutputFormat.getRecordWriter(PigTextOutputFormat.java:98)。 hadoop.executionengine.mapReduceLayer。 org.apache.hadoop.mapred.ReduceTask.runNewReducer(ReduceTask.java:582)中的PigOutputFormat.getRecordWriter(PigOutputFormat.java:84)位于org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:433)org .apache.hadoop.mapred.LocalJobRunner $ Job.run(LocalJobRunner.java:309)2013-06-20 19:57:33,176 [main] INFO org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher - job job_local_0001失败了!停止运行所有相关作业 2013-06-20 19:57:33,180 [main] INFO org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher - 100%完成 2013-06-20 19:57:33,182 [main] ERROR org.apache.pig.tools.pigstats.PigStatsUtil - 1 map reduce work(s)failed! 2013-06-20 19:57:33,182 [main] INFO org.apache.pig.tools.pigstats.SimplePigStats - 检测到本地模式。以下报告的统计数据可能不完整 2013-06-20 19:57:33,185 [main] INFO org.apache.pig.tools.pigstats.SimplePigStats - 脚本统计:

HadoopVersion PigVersion UserId StartedAt FinishedAt功能 2.0.0-cdh4.1.2 0.10.0-cdh4.1.2 ec2-user 2013-06-20 19:57:27 2013-06-20 19:57:33 GROUP_BY

失败!

Pig Stack Trace --------------- 错误2244:作业失败,hadoop不会返回任何错误消息

org.apache.pig.backend.executionengine.ExecException:ERROR 2244:作业失败,hadoop在org.apache上的org.apache.pig.tools.grunt.GruntParser.executeBatch(GruntParser.java:140)没有返回任何错误消息.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:193) org.apache.pache.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:165)org.apache.pig.tools.grunt.Grunt.exec(Grunt.java:84) 在org.apache.pig.Main.run(Main.java:430) at org.apache.pig.Main.main(Main.java:111)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)at sun.reflect.DelegatingMethodAccessorImpl .invoke(DelegatingMethodAccessorImpl.java:25)at java.lang.reflect.Method.invoke(Method.java:597)

at org.apache.hadoop.util.RunJar.main(RunJar.java:208)

hadoop apache-pig
1个回答
0
投票

看起来您的Hadoop作业无法创建您在STORE中指定的目录

您是否尝试将输出存储到其他位置,例如主目录?

另外,FYI,Pig不会将其输出保存到名为“weblogs_md5_groups.bcp”的文件中,它实际上将创建一个具有该名称的目录。

© www.soinside.com 2019 - 2024. All rights reserved.