草庐IT

hadoop - HDFS block 拆分

我的Hadoop知识只有4周。我正在使用带有Hadoop的沙箱。根据理论,当一个文件被复制到HDFS文件系统时,它会被分割成128MB的block。然后每个block将被复制到不同的数据节点,然后复制到数据节点。问题:当我将数据文件(~500MB)从本地文件系统复制到HDFS(put命令)时,整个文件仍然存在于HDFS(-ls命令)中。我期待看到128MBblock。我在这里做错了什么?如果假设,我设法在HDFS中拆分和分发数据文件,有没有办法合并原始文件并将其检索回本地文件系统? 最佳答案 您不会看到来自-ls命令的各个block

hadoop - 文件是否分成 block 存储在HDFS中?

据我所知,HDFS中的block系统是底层文件系统之上的逻辑分区。但是当我发出cat时如何检索文件?命令。假设我有一个1GB的文件。我的默认HDFSblock大小为64MB。我发出以下命令:hadoop-fscopyFromLocalmy1GBfile.dbinput/data/以上命令复制文件my1GBfile.db从我的本地机器到HDFS:中的输入/数据目录我有16个block要复制和复制(1GB/64MB~16)。如果我有8datanodes,单个数据节点可能没有所有block来重组文件。当我发出以下命令时hadoop-fscatinput/data/my1GBfile.db|h

hadoop - 多个文件是否存储在一个 block 中?

当我将许多小文件存储到HDFS时,它们会存储在一个block中吗?在我看来,根据这个讨论,这些小文件应该存储在一个block中:HDFSblocksizeVsactualfilesize 最佳答案 引自Hadoop-权威指南:HDFSstoressmallfilesinefficiently,sinceeachfileisstoredinablock,andblockmetadataisheldinmemorybythenamenode.Thus,alargenumberofsmallfilescaneatupalotofmemor

hadoop - dncp_block_verification 日志文件在 HDFS 中增加大小

我们使用的是clouderaCDH5.3。我面临一个问题,其中“/dfs/dn/current/Bp-12345-IpAddress-123456789/dncp-block-verification.log.curr”和“dncp-vlock-verification.log.prev”的大小不断增加到数小时内结核病。我读了一些博客,他们提到这是一个HDFS错误。此问题的临时解决方案是停止数据节点服务并删除这些文件。但是我们观察到日志文件在两个数据节点上的大小都增加了(即使在删除它后在同一个节点上)。因此,它需要持续监测。有没有人可以永久解决这个问题? 最

hadoop - HDFS Client 在写入时如何知道 block 大小?

HDFS客户端在HDFS集群之外。当HDFSClient将文件写入hadoop时,HDFSClient将文件分成block,然后将block写入datanode。这里的问题是HDFS客户端如何知道block大小?block大小在名称节点中配置,HDFS客户端不知道block大小,那么它将如何将文件拆分为block? 最佳答案 HDFS的设计方式是将特定文件的block大小作为元数据的一部分。让我们看看这是什么意思?客户端可以告诉NameNode它将把数据放入具有特定block大小的HDFS。客户端有自己的hdfs-site.xml可

hadoop - 复制不足的 block 计数不准确,但为什么呢?

我收到关于复制不足被阻止的各种报告。我想知道是什么原因造成的。hadoopdfsadmin-metasave报告约有232,000个缺失block等待复制。我该如何解决?作业运行得很好,似乎没有数据丢失。请查看hadoopfsck/、hadoopdfsadmin-report、hadoopdfsadmin-metasave和下面的namenodewebGUI的输出:hadoopfsck/:Totalsize:6066860793495B(Totalopenfilessize:47000701003B)Totaldirs:1801Totalfiles:230828(Filescurren

hadoop - 通过 Hue 在 hadoop 中加载大型 csv 只会存储 64MB block

我使用的是Clouderaquickstartvm5.1.0-1我试图通过Hue在Hadoop中加载我的3GBcsv,到目前为止我尝试的是:-将csv加载到HDFS中,特别是加载到位于/user/hive/datasets的名为数据集的文件夹中-使用MetastoreManager将其加载到默认数据库中一切正常,这意味着我设法加载了正确的列。主要问题是当我使用Impala查询表时启动以下查询:显示表统计信息new_table我意识到大小只有64MB而不是csv的实际大小,应该是3GB。此外,如果我通过Impala进行计数(*),则行数仅为70000而实际为700万。如有任何帮助,我们将

hadoop - HDFS 下复制 block

我在我的“集群”上使用ClouderaManager免费版,所有服务都在我的单台机器上。我的机器充当数据节点、名称节点以及辅助名称节点。HDFS中与复制相关的设置,dfs.replication-1dfs.replication.min,dfs.namenode.replication.min-1dfs.replication.max-1我仍然得到复制不足的block,因此健康状况不佳,Namenode日志说,Requestedreplication3exceedsmaximum1java.io.IOException:file/tmp/.cloudera_health_monitor

streaming - 如何设置 Hadoop Streaming 作业生成的输出文件的 block 大小?

看起来这应该很简单;我的集群上有一组文件,集群默认block大小为128MB。我有一个处理它们的流作业,我希望流作业创建的输出文件使用不同的block大小,特别是16MB。我认为以下方法可行:$HADOOP_HOME/bin/hadoopjar$HADOOP_HOME/contrib/streaming/hadoop-0.20.1+152-streaming.jar-Ddfs.block.size=16777216-Dmapred.job.name='LogProcessor'-Dmapred.reduce.tasks=5-Dmapred.output.compress=true-Dm

hadoop - 区 block 链与 HDFS 有何不同,比特币挖掘与 Map reduce 或 spark 有何不同?

我正在研究区block链技术,我发现它将文件保存在多个不同的服务器上。现在根据Hadoop文档,它还在多个服务器上存储文件并在1个主节点上保留1个主副本。它还具有动物园管理员,负责维护主节点和所有辅助节点之间的数据。现在我的问题是,是否还有用于维护主副本的区block链动物园管理员,或者我的理解方式有误? 最佳答案 这些是完全不同的动物。大多数区block链全节点完全独立运行,并花时间验证交易。事实上,比特币协议(protocol)或以太坊中的每个完整节点都有整个链的完整副本——也就是说,自区block零以来发生的每笔交易。它们在共