gpt4 book ai didi

hadoop - 当文件大于 HDFS block 大小时获取无法寻求 java 异常

转载 作者:可可西里 更新时间:2023-11-01 15:17:37 25 4
gpt4 key购买 nike

所以当我想处理一个大于我的 hdfs block 大小 (64mb) 的文件时,出现以下异常:

    2013-05-31 01:49:46,252 WARN org.apache.hadoop.mapred.Child: Error running child
java.io.IOException: Can't seek!
at org.apache.hadoop.hdfs.HftpFileSystem$3.seek(HftpFileSystem.java:359)
at org.apache.hadoop.fs.FSDataInputStream.seek(FSDataInputStream.java:37)
at org.apache.hadoop.mapreduce.lib.input.LineRecordReader.initialize(LineRecordReader.java:76)
at org.apache.hadoop.mapred.MapTask$NewTrackingRecordReader.initialize(MapTask.java:522)
at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:763)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:370)
at org.apache.hadoop.mapred.Child$4.run(Child.java:255)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:396)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121)
at org.apache.hadoop.mapred.Child.main(Child.java:249)

我正在运行作业,只有一个路径(一个文件)作为输入。有趣的是,我实际上试图将文件分成两个较小的部分,每个部分都小于 block 大小并且它以这种方式工作..比我连接文件并尝试连接文件并且它没有再次工作.

我想我有一个配置问题,但我不知道是什么。我在 Hadoop 之上使用 HBase,HBase 似乎没有任何问题。

我将不胜感激任何关于此的想法/想法。提前致谢!

最佳答案

HDFS-2457 中所述和 HDFS-2396 , hftp 方案不支持seek 操作,所以这个错误是意料之中的。 Hftp 本质上是一种通过 HTTP 访问文件系统的协议(protocol),我不确定你为什么要使用它,但你应该改用 hdfs 而不是它肯定支持 seek 并且你不应该再有这个错误了。

关于hadoop - 当文件大于 HDFS block 大小时获取无法寻求 java 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16847932/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com