我有Hadoop2.7.1。并决定在一个数据节点上释放几个演出。我更改了该节点上的hdfs-site.xml(定义为dfs.datanode.du.reserved)并重新启动了datanode进程。Hadoop数据节点摘要页面开始显示节点可用空间降为零,但我仍然没有注意到任何数据移动。我能做些什么来将数据block重新定位到现在不受限制的另一个节点。 最佳答案 我找到了适合我的命令:$hadoop/bin/hdfsbalancer 关于hadoop-保留更改后如何重新分配数据block
众所周知,当一个文本文件从本地复制到HDFS时,该文件被分割成固定大小的128MB。例如,当我将一个256MB的文本文件复制到HDFS时,将有2个block(256/128)包含“拆分”文件。谁能告诉我Hadoop2.7.1源代码中的哪个java/jar文件具有将文件拆分为block的功能,以及哪个java/jar文件将block写入数据节点的目录.帮我追踪这段代码。我只找到了在FileInputFormat.java中找到的对block进行逻辑输入拆分的那个,这不是我需要的。我需要用于拆分物理文件的java文件。 最佳答案 将数据
我想知道block是如何创建的。它是在文件系统上默认创建64MBblock还是根据文件传输事件创建假设我已经设置了一个10节点集群设置。我在所有节点上安装hadoop。现在如何创建block。一旦我启动hdfs服务,该block就会在linux系统上创建。它是否创建了4kblock的物理64MBblock?(基本block大小)。或当我移动一个大小为128MB的文件时,将创建两个block。block创建是否在两个节点中并行发生?哪个组件会实际将文件拆分成block?我只是hadoop的初学者,因此提出这些问题以获得清晰的理解 最佳答案
我使用pySpark编写parquet文件。我想更改该文件的hdfsblock大小。我这样设置block大小,但它不起作用:sc._jsc.hadoopConfiguration().set("dfs.block.size","128m")这是否必须在启动pySpark作业之前设置?如果可以,怎么做。 最佳答案 尝试通过sc._jsc.hadoopConfiguration()和SparkContext设置它frompysparkimportSparkConf,SparkContextconf=(SparkConf().setMas
关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭5年前。Improvethisquestion我想知道谁将为hadoop中的block创建blockID,无论是HDFS客户端还是名称节点。请告诉我。
我已经将一个文件放入HDFS,我想确切地知道它是如何分散在DFS中的(哪些数据block在哪些数据节点中)。尝试了fsck,但当我指定我放入DFS中的数据文件的名称时,出现“无效路径”错误。有什么想法吗? 最佳答案 尝试hdfsfsck/path/to/file-files-blocks-locations这将打印出文件每个block的位置。NamenodeWebUI也会提供这些信息。在Utilities-->Browsethefilesystem下,选择要查看block信息的文件。 关
我不想使用数据blockAPI,因为我们遇到了一些问题。我想在Java1.7、Spark1.6.2中将DF转换为RDD,并将RDD转换为文本文件我希望将我的数据框保存为文本文件,因为我知道如果我们使用Java1.8,下面的代码就可以工作df.rdd.map(row=>row.mkString("\t")).coalesce(1).saveAsTextFile("outputDirRdd")但是我试图将上面相同的代码放入Java1.7中,但我无法获得正确的语法并使用下面的代码。df.toJavaRDD().map(newFunction(){public???call(??input)t
我试图理解Namenode,我引用了在线资料并引用了Hadoop:权威指南一书。我知道Namenode有这样的概念:“编辑日志”、“fsimage”,我可以在我的Namenode中看到以下文件。======================================================================-rw-rw-r--1vevaan24vevaan241048576Nov2322:53edits_0000000000000000001-0000000000000000001-rw-r--r--1rootroot1048576Nov2323:42edit
我试图从HDFS和/或文件系统中读取一些文件,但我得到了这个异常Driverstacktrace:][unreadblockdata]]org.apache.spark.SparkException:Jobabortedduetostagefailure:Task0instage0.0failed4times,mostrecentfailure:Losttask0.3instage0.0(TID6,C-4073.CM.ES,executor1):java.lang.IllegalStateException:unreadblockdataatjava.io.ObjectInputStr
我的问题是我有一个文本文件,其中有100个单词,用空格分隔,我需要做一个单词计数程序。那么,当我的名称节点将文件拆分为HDFSblock时,我们如何确保拆分仅在单词末尾完成?即,如果我将文本文件中的第50个单词作为Hadoop,如果将其拆分为64MBblock时,当前block的存储可能在单词Hadoop的中心达到64MB,因此一个block包含'had'和其他block中的另一个'oop'。抱歉,如果这个问题听起来很愚蠢,但请提供答案。谢谢。 最佳答案 你的答案是输入拆分。因为HDFS不知道文件的内容。在将数据存储到多个block