草庐IT

memory_block

全部标签

hadoop - 什么是 Hadoop block 抽象。需要更多详细信息

我正在阅读Hadoop权威指南,但没有弄清以下概念。block抽象,有人可以详细说明一下吗。使抽象单元成为block而不是文件可以简化存储子系统。a.)block的抽象单元是什么?b.)如何制作抽象单元?c.)它如何简化存储子系统? 最佳答案 HDFSblock抽象:HDFSblock大小为64MB-128MB(通常),与其他文件系统不同,小于block大小的文件不会占用完整block大小的内存。block大小保持很大,因此与数据传输速率相比,进行磁盘寻道的时间更少。为什么要阻止抽象:文件可以大于单个磁盘文件系统元数据不需要与每个b

apache-spark - 文件大于 HDFS 中的 block 大小

众所周知,写入大于HDFSblock大小的单个文件并不是最佳选择,许多非常小的文件也是如此。但是,当在spark中执行repartition('myColumn)操作时,它将为每个项目创建一个分区(假设是一天),其中包含所有记录(作为单个文件),这些记录可能是几GB大小(假设20GB),而HDFSblock大小配置为256MB。文件太大真的不好吗?当读回文件时(假设它是一个可拆分文件,如parquet或带有gzip或zlib压缩的orc)spark正在为每个文件创建>>1任务,即这是否意味着我不需要担心指定maxRecordsPerFile/文件大小大于HDFSblock大小?

hadoop - 无法在 FOREACH block 内调用 PIG 宏

我无法从foreach中调用宏,例如DEFINEvalid_attribute(id,attribute)RETURNSresult{data=LOAD'/user/sathish/sessAttr'AS(id:chararray,browser_version:chararray);filtered_data=FILTERdataBYid=='$id'AND$attributeisNOTnull;$result=foreachfiltered_datagenerate$attribute;};ip=load'/user/sathish/macros/inputParams'AS(id

hadoop - HDFS 中的 block 复制限制

我目前正在重建具有区域服务器和数据节点的服务器。当我关闭一个数据节点时,10分钟后,它所拥有的block将在其他数据节点之间重新复制,这是应该的。我们有10个数据节点,因此在重新复制block时我看到网络流量很大。但是,我发现每台服务器的流量大约只有500-600mbps(所有机器都有千兆位接口(interface)),所以它绝对不受网络限制。我试图弄清楚是什么限制了数据节点发送和接收block的速度。每个数据节点有六个7200rpmsata驱动器,在此期间IO使用率非常低,每个驱动器的峰值仅为20-30%。hdfs是否内置了限制block复制速度的限制?

Hadoop 损坏 block

我正在使用hadoop0.20.append和hbase0.90.0。我将少量数据上传到Hbase,然后出于评估目的杀死了HMaster和Namenode。在此之后,我向Hbase添加了更多数据,我可以在hbaseshell中看到它们。现在,当我启动Namenode时,我遇到了问题。日志显示名称节点处于安全模式,我无法添加或删除处于安全模式的内容。也是刚跑的时候./bin/hadoopfsck/我明白了,............Status:HEALTHYTotalsize:12034B(Totalopenfilessize:4762B)Totaldirs:22Totalfiles:1

hadoop - yarn : How to make Yarn utilize more memory and vcores

我们有一个由Yarn管理并运行hadoop的5节点集群1Masternamenode8vcoresand24GBmemory4个数据节点,每个节点8个vcores和24GB内存当我在ui上查看Yarn配置时,如下图中突出显示的那样,它仅使用16GB和6个vcores我们的应用程序正在使用所有16gb,因此想要增加内存,因为它可用(24-2gbforos所以可用是22gb)我需要在哪里配置这个22gb而不是16gb?根据研究发现yarn-site.xml可能是这个地方所以继续更新它并重新启动yarn但它仍然显示16gb如果社区中的任何专家能提供帮助,我们将不胜感激,因为我们是Yarn的新

hadoop - 为什么 MapReduce 映射内存大于集群上的 block 大小?

下面是HadoopYarn中的观察结果:a)对于每个InputSplit或block,都会触发一个新的映射。b)集群的典型block大小为128MB。c)在大多数集群中,MapReduce.map.memory.mb将配置为大于1GB。事实上,Cloudera建议的block大小是128MB,而MapReduce.map.memory.mb是1GB当block大小只有128MB时,为什么我们需要分配1GB给映射内存(MapReduce.map.memory.mb)?理想情况下,最多128MB应该可以满足需要。为什么我们为map内存提供的block大小甚至超过block大小?

hadoop - java.io.IOException : Cannot obtain block length for LocatedBlock 异常

我正在使用HDP2.1。对于集群。我遇到了以下异常,因此MapReduce作业失败了。实际上,我们经常使用来自Flume的数据创建表,这是ver。1.4.我检查了mapper试图读取的数据文件,但我找不到任何内容。2014-11-2800:08:28,696WARN[main]org.apache.hadoop.metrics2.impl.MetricsConfig:Cannotlocateconfiguration:triedhadoop-metrics2-maptask.properties,hadoop-metrics2.properties2014-11-2800:08:28,

hadoop - Hadoop HDFS中 block 的概念

我对Hadoop中的block有一些疑问。我读到Hadoop使用HDFS,它会创建特定大小的block。第一个问题block是否物理存在于普通文件系统(如NTFS)的硬盘上,即我们可以看到托管文件系统(NTFS)上的block,还是只能使用hadoop命令才能看到?第二个问题hadoop是否在运行任务之前创建block,即只要有文件,block就从一开始就存在,或者hadoop仅在运行任务时创建block。第三个问题block是在拆分之前确定和创建的(即InputFormat类的getSplits方法)而不考虑拆分次数,还是在拆分之后根据拆分次数确定和创建block?第四个问题运行任务

hadoop - 修改HDFS的 block 放置策略

我想修改HDFS的默认block放置策略以适合我的应用程序。例如,我有两个文件file1(128MB)和file2(128MB)。block大小为64MB,每个文件将被分成两个block。我想确保file1和file2的block1都放在同一个数据节点上。如果可能的话,我还想确保副本也放在同一组数据节点上。问题1。这可能吗?如果可以,需要修改源码中的哪些类?问题2。copyFromLocal等命令如何映射到hadoop源代码中的函数? 最佳答案 block放置策略的默认行为可以通过扩展BlockPlacementPolicy来修改。