草庐IT

Non-blocking

全部标签

java - 重启的namenode遭受 block 报告 Storm

当我们基于hadoopv2.4.1的standbynamenode故障重启时,发现namenode退出safemode后忙得无法及时响应。我们扔了好几堆,它们看起来都是这样的,Thread212(IPCServerhandler148on8020):State:WAITINGBlockedcount:66Waitedcount:598Waitingonjava.util.concurrent.locks.ReentrantLock$FairSync@60ea5634Stack:sun.misc.Unsafe.park(NativeMethod)java.util.concurrent.

hadoop - MapReduce:将 Reducer 的结果分组为固定大小的 block

我正在使用MapReduce框架。假设这是输入列表[A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z]我的Mapper产生以下输出:现在Reducer的输出通常是这样的:但是我想做的是这样的:我想将每个键的输出组合成3个block,然后生成最终的Reducer输出。所以我希望我的Reducer输出看起来像这样:任何帮助将不胜感激,因为两天以来我一直被困在这个问题上。我无法弄清楚最后一部分,即如何将输出分组为3个block。P.S.如果block大小小于3(就像在最后一个键的示例中一样)那么它很好,但不应超过3。

java - 输入 block 的哪个副本在映射器中处理?

我为用Java编写的MapReduce作业创建了一个简单的I/O监控系统。因此,在工作的map阶段,我想记录有关已处理数据位置的信息。Map阶段的MapReduce作业处理由HDFS中的多个文件block组成的输入拆分。该block有多个(通常是3个)副本。在读取Mapper时是否可以知道这些block的哪些副本被使用了?换句话说,我能否获得Mapper从中读取的本地文件系统中特定文件的完整路径? 最佳答案 在HDFS中,block被复制,名称节点没有任何关于哪个是副本的信息。它使用一个block来根据特定机器中的网络延迟和负载执行

hadoop - Cloudera Imala - 它是否支持存储过程/函数或 SQL block ?

ClouderaImala是否支持存储过程/函数或像PL/SQL这样的SQLblock?我要构建一些需要多个sql语句的逻辑。还有其他方法可以实现吗? 最佳答案 Impala只提供SQL。您需要使用一些编程语言或工具来构建应用程序-SQL本身不能使用。PL/SQL是传统的数据库编程语言,它运行在嵌入数据库的PL/SQL引擎中。它减少了应用程序服务器和数据库服务器之间的开销,因为PL/SQL引擎嵌入在数据库中。然而,存储是网络安装的,数据仍然必须到达数据库服务器。在大数据技术的情况下,这样做并没有太大好处。即使您使用Java,它也会在

hadoop - block 级别的 HDFS 压缩

HDFS的一个大问题是压缩:如果压缩文件,则必须处理可拆分压缩。为什么HDFS要求您压缩整个文件,而不是在HDFSblock级别实现压缩?这将解决问题:一个64MB的block在单个block中读取或写入,它足够大以进行压缩,并且不会干扰操作或需要可拆分压缩。有这方面的任何实现吗? 最佳答案 我在这里推测,但我可以看到几个问题。HDFS包含一个名为localshort-circuitreads的功能.这允许数据节点打开block文件,验证安全性,然后将文件描述符传递给在同一节点上运行的应用程序。这完全绕过了通过HTTP或其他方式从H

hadoop - 名称节点 block 管理

假设我有一个50mb的文件,我的默认HDFSblock大小是64mb。所以在存储了这个50mb的文件之后,我们剩下14mb的block大小可以用来存储其他文件。现在namenode跟踪HDFS中存在的文件的block信息。所以在这种情况下,将有2条记录指向同一个block,一条用于50mb文件,一条用于14mb文件。我的问题是名称节点如何跟踪这2个记录并提供有关文件的元数据信息,因为这2个文件将指向同一个block。 最佳答案 你假设每个block有多个文件是错误的。一个block只能存储一个文件,但一个文件可以存储在多个block

hadoop - HDFS 中的默认 block 大小不是最小文件大小吗?

HDFS的默认block大小为60MB。那么,这是否意味着HDFS中的文件的最小大小为60MB?即如果我们创建/复制一个大小小于60MB(比如5字节)的文件,那么我的假设是HDFS中的文件的实际大小是1个block,即60MB。但是,当我将一个5字节的文件复制到HDFS时,当我看到文件的大小时(通过ls命令)我仍然看到该文件的大小为5字节。不应该是60MB吗?或者ls命令显示文件中数据的大小而不是HDFS上文件的block大小? 最佳答案 hdfsblock的默认大小并不意味着它将使用我们指定的所有空间,即60MB。如果数据大于60

hadoop - 重启后 HDFS block 损坏

我在ubuntu16.10上安装了Hadoop一切正常:我能够在HDFS中上传输入文件并执行map-reduce操作。但是当我重新启动我的PC时,所有HDFSblock都已损坏并且NameNode以安全模式启动所以我必须1)退出安全模式2)删除所有损坏的blockhdfsfsck-delete3)重新上传输入文件然后它可以正常工作,直到下次重新启动。有人可以帮我解决这个问题吗?谢谢 最佳答案 我解决了我的问题。我使用此链接检查我的配置文件http://www.bogotobogo.com/Hadoop/BigData_hadoop_

hadoop - HDFS 不复制 block

我最近安装了Hadoop(Cloudera)。我得到一个错误,我在复制block下(在ClouderaManager中,它是安装的gui)。所以当我跑的时候hdfsdfsadmin-report我明白了ConfiguredCapacity:555730632704(517.56GB)PresentCapacity:524592504832(488.56GB)DFSRemaining:524592193536(488.56GB)DFSUsed:311296(304KB)DFSUsed%:0.00%Underreplicatedblocks:5Blockswithcorruptreplic

hadoop - 我可以访问映射器中的完整 block 吗?

通常记录读取器将一行一行地传递给映射器或n行。可以在映射器中访问完整block吗?这意味着记录阅读器将完整block提供给映射器而不是逐行?这种方法有意义吗?谢谢 最佳答案 需要注意的是,splitsize默认不等于blocksize。要做你想做的事,你需要实现自定义InputFormat更确切地说是方法getSplits(JobContextcontext)。并使InputSplit大小等于block大小。 关于hadoop-我可以访问映射器中的完整block吗?,我们在StackOv