草庐IT

hadoop - 如何强制hadoop处理每个 map 的更多数据

我的工作进展非常缓慢,因为我认为hadoop为数据大小创建了太多maptask。我在一些网站上读到,用更少的map处理更大的数据block是有效的——有什么办法可以强制这样做吗?谢谢 最佳答案 两种可能性:增加90gb数据的block大小,将其设置为128m或更大将使您的maptask“工作更多”使用CombineFileInputFormat并将您的block组合到您认为合适的大小。第一个解决方案需要您重写数据以更改block大小,第二个解决方案可以嵌入到您的作业中。 关于hadoop

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

所以当我想处理一个大于我的hdfsblock大小(64mb)的文件时,出现以下异常:2013-05-3101:49:46,252WARNorg.apache.hadoop.mapred.Child:Errorrunningchildjava.io.IOException:Can'tseek!atorg.apache.hadoop.hdfs.HftpFileSystem$3.seek(HftpFileSystem.java:359)atorg.apache.hadoop.fs.FSDataInputStream.seek(FSDataInputStream.java:37)atorg.a

hadoop - 文件损坏时的 HDFS 行为

我在cloudera考试中找到样题,我相信答案是D。同意??问题1您使用hadoopfs-put命令将sales.txt添加到HDFS。该文件足够小,可以放入一个block中,该block被复制到集群中的三个节点。在这些节点之一发生故障后,集群何时以及如何处理复制?A.集群将不会尝试重新复制此block。B.该block将立即重新复制,并且集群上的所有其他HDFS操作将在此过程中停止。C.在管理员手动删除并重新创建文件之前,该block将保持复制不足状态。D.在NameNode根据从DataNode接收到的block报告确定其复制不足后,该文件将自动重新复制。

hadoop - 为什么 mapreduce 将压缩文件拆分为输入拆分?

所以根据我的理解,当hdfs存储一个block大小为64MB的bzip2压缩的1GB文件时,该文件将存储为16个不同的block。如果我想在这个压缩文件上运行map-reduce作业,mapreduce会尝试再次拆分文件。为什么mapreduce不自动使用hdfs中的16block,而是再次拆分文件? 最佳答案 我想我明白你的困惑来自哪里。我会尝试清理它。HDFS将您的文件分割成block。这些是文件的物理分区。MapReduce在这些block之上创建逻辑拆分。这些拆分是根据许多参数定义的,其中block边界和位置是一个重要因素。

hadoop - 我的 hdfs 总是向许多损坏的 block 报告

我有一个运行hdfs(hadoop2.6.0)的集群,但它的名称节点向我报告了一个关于丢失block的错误:Thereare102missingblocks.Thefollowingfilesmaybecorrupted:当我跳转到名称节点并读取登录(名称节点文件日志)时,我收到许多警告,例如:ErrorreportfromDatanodeRegistration(10.3.24.71,datanodeUuid=b1aa43eb-bd9c-4e1a-b919-d7c99ad0fcdf,infoPort=50075,ipcPort=50020,storageInfo=lv=-56;cid

hadoop - 压缩格式和分隔符序列

我的问题是:有没有什么标准的压缩格式可以保证压缩后的数据流中不会出现某个定界符序列?我们想设计一个二进制文件格式,包含大块的顺序数据(3D坐标+其他数据,对问题来说并不重要)。每个block都应使用标准压缩格式进行压缩,例如GZIP、ZIP、...因此,文件结构如下:FileHeaderChunkDelimiterChunk1_Headercompress(Chunk1_Data)ChunkDelimiterChunk2_Headercompress(Chunk2_Data)...用例如下:文件应该在Hadoop中拆分读取,所以我们希望能够从文件中的任意字节位置开始,并通过查找分隔符序

hadoop - Spark RDD 和 HDFS 数据 block 的区别

请帮助我理解HDFS的数据block和Spark中的RDD之间的区别。HDFS将数据集分发到集群中的多个节点作为具有相同大小的block,数据block将被复制多次并存储。RDD被创建为并行集合。Parallelized集合的元素是跨节点分布还是存储在内存中处理?和HDFS的数据block有关系吗? 最佳答案 IsthereanyrelationtoHDFS'datablocks?一般不会。他们解决不同的问题RDD是关于分配计算和处理计算失败的。HDFS用于分配存储和处理存储故障。分布是公分母,但仅此而已,故障处理策略明显不同(分别

java - Hadoop Mappers 是否仅在本地执行?

我遇到这样一种情况,文件的整个block位于一台机器上,默认复制因子为1。在这种情况下,如果我在我的集​​群上启动hadoop,我觉得我所有的映射任务将只在一台机器上运行,因为block只存在于那台机器上。这样对吗?本地映射器任务执行是一个约束还是只是一个优先级?如果是,是否可以通过将block复制到本地磁盘来配置映射器任务也在其他机器上运行?第二个问题是,即使mapper任务只在一台机器上运行,通过复制mapper的中间数据在所有其他机器上启动reducer是否正确? 最佳答案 数据本地执行只是一个优先级,而不是约束条件。如果其他

hadoop - 一个小文件是如何存储在HDFS中的

在hadoop权威指南中:以128MB的block大小存储的1MB文件使用1MB的磁盘空间,而不是128MB。这是什么意思?它是在一个128MB的block中使用1MB的大小,还是使用了1MB并且剩余的127MB被其他文件免费占用? 最佳答案 这通常是对HDFS的误解——block大小更多的是关于单个文件如何拆分/分区,而不是关于文件系统的某些保留部分。在这些方案的背后,每个block都作为普通文件(以及相关的校验和)存储在DataNodes底层文件系统中。如果您查看磁盘上的数据节点文件夹,您应该能够找到该文件(如果您知道文件的bl

java - 使用 Java API 读取 HDFS 的默认 block 大小

我想使用java程序从hdfs-site.xml中读取这个默认block大小值?任何人都可以帮忙吗?dfs.blocksize134217728 最佳答案 我发现有更好的选择,而不是从HDFS-SITEXML读取默认block大小。Configurationconf=newConfiguration();conf.set("fs.defaultFS","hdfs://0.0.0.0:8020");FileSystemfs=FileSystem.get(conf);Configurationcconf=fs.getConf();Str