草庐IT

collisions_block

全部标签

hadoop - HDFS Block相关问题

我有2个问题可以帮助我理解HDFS如何在block的上下文中工作。1。您使用hadoopfs-put命令写入一个300MB的文件,HDFSblock大小为64MB。在此命令完成写入此文件的200MB后,其他用户会看到什么尝试访问此文件时?一个。当他们尝试访问此文件时,他们会看到Hadoop抛出ConcurrentFileAccessException。B.他们会看到文件的当前状态,直到命令写入的最后一位。C.他们会通过最后一个完成的block看到文件的当前状态。D.在整个文件写入并关闭之前,他们看不到任何内容。如我所见,因为文件被分成block,当每个block放入HDFS时它变得可用

hadoop - pig 脚本对 10 block 训练数据进行采样,pig 脚本被卡住了

背景我有一个数据高度不平衡的二元分类任务。具体来说,有标签0的数据比标签1的数据多得多。为了解决这个问题,我计划进行子采样标签0的数据与标签1的数据的大小大致匹配。我在pig脚本中做了这个。代替只采样一block训练数据,我这样做了10次以生成10个数据block来训练10个分类器类似于装袋以减少方差。示例pig脚本-----------------------------------generatetrainingchunki-----------------------------------subsamplingdatawithlabel0labelZeroTrainingDat

hadoop - HDFS 重复出现错误 : Under-Replicated Blocks

我们的Hadoop集群每天都报告有“复制不足的block”。它通过ClouderaManager进行管理。健康警告的一个例子是:!Under-ReplicatedBlocksConcerning:767underreplicatedblocksinthecluster.3,115totalblocksinthecluster.Percentageunderreplicatedblocks:24.62%.Warningthreshold:10.00%.我一直在运行修复问题的命令,但第二天早上警告又回来了,有时没有添加任何新数据。暂时成功的命令之一是hdfsdfs-setrep-R2/*我

hadoop - 集群重启后 HDFS 显示 0 个 block

我已经设置了一个用于测试/学术建议的小型集群,我有3个节点,其中一个节点同时充当名称节点和数据节点(以及辅助名称节点)。我已经上传了60GB的文件(大约650万个文件)并且上传开始变得非常慢,所以我在网上看到我可以停止主机上的辅助名称节点服务,目前它没有效果在任何事情上。在我重新启动所有3台计算机后,我的两个数据节点显示0个block(尽管在Web界面中显示磁盘使用情况),即使两个名称节点服务都在运行。有问题的节点之一也是运行名称节点的节点,所以我猜这不是网络问题。关于如何让这些block再次被识别的任何想法?(无需重新开始,大约需要两周时间才能全部上传)更新半小时后,再次重启后,日志

hadoop - HDFS 上的文件 block

Hadoop是否保证同一文件的不同block将存储在集群中的不同机器上?显然复制的block将在不同的机器上。 最佳答案 没有。如果您查看HDFSArchitectureGuide,您将看到(在图表中)文件part-1的复制因子为3,并且由标记为2、4和5的三个block组成。请注意block2和5在一种情况下在同一个数据节点上。 关于hadoop-HDFS上的文件block,我们在StackOverflow上找到一个类似的问题: https://stacko

hadoop - 带 block 压缩的序列文件

我需要启用带有block压缩数据的序列文件。下面是将存储为SequenceFile的表格。createtablelip_data_quality(buyer_idbigint,total_chkoutbigint,total_errpdsbigint)partitionedby(dtstring)rowformatdelimitedfieldsterminatedby'\t'storedassequencefilelocation'/apps/hdmi-technology/b_apdpds/lip-data-quality';在上表中,我通过启用这些命令以压缩格式获取数据-setma

hadoop - Hadoop 数据节点/名称节点实际可以处理多少 block /对象?

我在伪分布式模式下运行Hadoop1.2.1,在同一个虚拟机上同时拥有名称节点和数据节点。数据节点有4个卷。我正在做一些关于在Hadoop中使用非常小的block大小(4k、8k等)的测试。复制因子设置为1。当将block大小设置为8k时,我可以使用以下方法将64MB文件复制到hdfs:bin/hadoopfs-putmy64mbfile.尽管在运行命令时我多次遇到以下异常:13/08/2910:50:47WARNhdfs.DFSClient:NotReplicatedYetExceptionsleeping/user/myuser/my64mbfileretriesleft413/0

hadoop - 是否有可能知道当前正在使用 map 功能的输入数据 block 的序列号?

我是Hadoop的新手,在这里我有以下问题:(1)据我了解,原始输入文件被分成几个block并分布在网络上。map功能是否总是在整个block上执行?是否可以对单个block中的数据执行多个映射函数?(2)有什么方法可以从映射函数中获知映射器当前正在处理原始输入文本的哪一部分?例如,我想为从输入文本的第一个block开始的每个block获取序列号之类的东西。(3)是否可以将输入文本拆分为每个block都有预定义的字数?如果可能,那么如何?如有任何帮助,我们将不胜感激。 最佳答案 据我了解,原始输入文件被分成几个block并分布在网络

hadoop - 如果 InputSplit 大小与 Block 大小不同会怎样?

假设存储在HDFS中时,block大小是默认的64MB。现在我将InputSplit大小更改为128MB。其中一个数据节点在本地只存储了1个信息block。JobTracker给它一个映射器。它如何在128MB大小的拆分上运行map()? 最佳答案 128MB文件,block大小为64MB-->默认值-->2个Map任务128MB文件,block大小为64MB-->最小分割大小128MB-->1个Map任务你可以这样做,但你会失去局部性。默认拆分算法坚持的原因block边界是这样的,即每个任务单独处理一个block,并且调度程序可以

hadoop - 在 hadoop 中查找文件的第一个 block

我正在将一个500Mb或更大的视频文件存储在hdfs中。由于它大于block大小,它将被分发。我必须先收集或处理第一个数据block(这里是视频文件),因为它只包含序列头。我该怎么做,或者如何在hadoop中找到文件的第一个数据block? 最佳答案 如果你想读取第一个block,你可以从FileSystem中获取一个InputStream并读取字节直到它达到你预定的数量(例如block大小64mb将是64*1024*1024字节)。这是一个例子(虽然64mb是很多数据。如果你认为你需要的数据远在64mb之前,只需更改bytesLe