草庐IT

block-storage

全部标签

Hadoop - 映射器输出能否超过 block 大小

我们将其中一个mapreduce作业的dfs.blocksize设置为512MB,这是一个maponly作业。但是,一些映射器输出超过512MB。例如:512.9MB。我相信,映射器block大小应该受到dfs.blocksize的限制。感谢任何输入。谢谢 最佳答案 Ibelieve,themapperblocksizeshouldberestrainedbythedfs.blocksize.这不是真的。文件可以大于block大小。在这种情况下,它们只会跨越多个block。 关于Hado

hadoop - 如何计算Hadoop Storage?

我不确定我是否计算正确,但例如我使用Hadoop默认设置并且我想计算我可以在我的集群中存储多少数据。例如,我有12个节点,每个节点分配给HDFS存储的总磁盘空间为8TB。我只计算12/8=1.5TB吗? 最佳答案 您没有包括复制因子和处理任何数据的开销。另外,如果所有磁盘都快满了,Hadoop将无法运行因此,8TB将首先除以3(未启用新的纠删码),然后除以节点数但是,从技术上讲,您无法达到100%的HDFS使用率,因为一旦您开始超过85%的使用率,服务就会开始失败,所以实际上,您的起始数字应该是7TB

hadoop - 关闭推测执行的 Wordcount : More than 1 map task per block,

在Wordcount中,您似乎可以在每个block中获得超过1个maptask,并关闭推测执行。jobtracker是否在幕后做了一些魔术来分配比InputSplits提供的更多的任务? 最佳答案 区block和拆分是两种不同的东西。如果一个block有多个拆分,您可能会为一个block获得多个映射器。 关于hadoop-关闭推测执行的Wordcount:Morethan1maptaskperblock,,我们在StackOverflow上找到一个类似的问题:

hadoop - 更改 hadoop 中的 block 大小后会发生什么

我知道如何更改hadoop中的block大小。更改block大小后会发生什么,namenode如何将perivousdatanode更改为当前大小。如果我的集群非常大,并且我在以前的数据节点上的数据节点上提交作业,那仍然不会取消对当前大小的更改。这是如何由名称节点管理的。 最佳答案 什么都没有发生。事实上,block大小是单个文件的属性。您在配置中定义的是默认值。您可以在HDFS中放置或创建文件时指定block大小。该属性作为名称节点元数据的一部分与文件的元数据一起存储。如果未指定任何内容,则使用默认值。当访问文件时,会使用文件的b

hadoop - Namenode如何决定在哪个datanode中写入一个 block

我只是想知道这个。假设我正在将一个80GB的文件复制到HDFS,并且我的block大小是64MB。现在在收集了一个block的数据后,名称节点将block写入数据节点。这是我的问题:名称节点以何种方式选择应将block写入哪个数据节点。是随机选择还是循环选择? 最佳答案 NameNode会根据负载分配因子选择datanode上的block。它将以平衡所有正在运行的数据节点上的负载的方式选择block。此外,NameNode不会收集一个block的数据并将其写入数据节点。当向NameNode发送写请求时,它会分配要写入各个数据节点的b

hadoop - 无法将 Hadoop 和 Java 包复制到 Google Cloud Storage

我正在尝试在GoogleComputeEngine上设置Hadoop集群,我一直在关注theseinstructions.在我运行之前,一切似乎都运行良好:./compute_cluster_for_hadoop.pysetup使用我创建的项目ID和存储桶名称。该脚本似乎无法访问某些内容并因403而崩溃;这是带有错误消息的输出的尾部:Uploading...kages/ca-certificates-java_20121112+nmu2_all.deb:14.57KB/14.57KBUploading...duce/tmp/deb_packages/libnspr4_4.9.2-1_a

hadoop - 我可以在 HDFS 中有不同的 block 放置策略吗?

即一个集群有多个应用程序,每个应用程序在副本位置方面有不同的要求-我可以设置它以支持这些多个应用程序吗? 最佳答案 是的,这是可能的。注意:自行承担风险。编写block放置策略极其复杂且具有风险。您的应用程序需要确定如何放置副本,这似乎是一种代码味道。想想你是否真的需要编写block放置策略。警告过您之后,如果您想知道如何完成此操作,请继续。通常,此功能用于控制群集的平衡程度。例如。由Hadoop供应商之一构建的策略之一是将block放置在磁盘使用百分比最低的磁盘上。这里有一堆资源供您查看:SO发布同样的问题:Modifyingth

hadoop - 不同 block 大小的 Hadoop

我需要做什么才能在Hadoop中拥有更小/更大的block?具体来说,我希望有更多的映射器,这样可以处理更小的数据。似乎我需要减小块大小,但我很困惑(我是Hadoop的新手)——我是否需要在将文件放在HDFS上时做一些事情,或者我是否需要指定与输入拆分大小相关的内容,或两者兼而有之?我正在共享集群,所以我无法执行全局设置,所以如果可能的话,需要在每个作业的基础上进行设置吗?我正在通过代码(稍后可能来自Oozie)运行该作业。 最佳答案 映射器运行的内容由输入拆分控制,完全取决于您如何指定它。HDFSblock大小与它无关(除了大多数

hadoop - 如何将我的数据从本地 HDFS 安全地传输到 Google Cloud Storage?

我在本地HDFS安装中有大量数据。我想将其中一些移动到GoogleCloud(云存储),但我有一些顾虑:我实际上如何移动数据?我担心在公共(public)互联网上移动它将数据从我的HDFS存储安全地移动到CloudStorage的最佳方法是什么? 最佳答案 要将数据从本地Hadoop集群移动到GoogleCloudStorage,您可能应该使用GoogleCloudStorageconnectorforHadoop.您可以按照installdirections在任何集群中安装连接器.请注意,GoogleCloudDataproc集群

hadoop - Hadoop 映射器如何处理部分溢出到下一个 block 的记录?

我正在尝试详细学习MapReduce,尤其是以下查询。众所周知,HDFS中的数据被分成block,通常Mapper一次处理一个block;我们可能会遇到record溢出到另一个block的情况;例如:数据集:“你好,你好吗”;此数据可能会溢出到两个不同的block中。block1:hello,howablock2:reyoudoing现在,如果Mapper在Block1上工作,mapper如何从block1获取已经溢出到Block2的“完整”记录?谁能帮我理解一下? 最佳答案 它适用于可以作为多个block存储在HDFS上的文件。然