摘要:
hadoop fsck -locations [/path] 打印文件实际副本数/文件块信息等 path要用绝对路径http://namenodeIP地址:50070/ 从浏览器中浏览文件http://namenodeIP地址:50030/ 从浏览器中查看MapReduce任务hadoop fs -getmerge<src> <localdst> [addnl] 将hdfs中目标文件夹中的文件块合并后存在本地路径localdst,addnl可选,用于指定在每个文件之后添加一个换行符 阅读全文
摘要:
首先 dfs.replication这个参数是个client参数,即node level参数。需要在每台datanode上设置。其实默认为3个副本已经够用了,设置太多也没什么用。一个文件,上传到hdfs上时指定的是几个副本就是几个。以后你修改了副本数,对已经上传了的文件也不会起作用。可以再上传文件的同时指定创建的副本数hadoop dfs -D dfs.replication=1 -put 70M logs/2可以通过命令来更改已经上传的文件的副本数:hadoop fs -setrep -R 3 /查看当前hdfs的副本数hadoop fsck -locationsFSCK started b 阅读全文
摘要:
我在这里主要说明一下Hadoop的replication policies。我们知道当我们要write data到datanode时,首先要通过namenode确定文件是否已经存在,若不存在则DataStreamer会请求namenode确定新分配的block的位置,然后就行write。具体namenode如何确定选择哪个datanode存储数据呢?这里namenode会参考可靠性,读写的带宽等因素来确定。具体如下说明:假设replica factor=3,Hadoop会将第一个replica放到client node里,这里node是随机选择的,当然hadoop还是想不要选择过于busy过于 阅读全文
摘要:
failed task可理解为自杀,也就是task本身出了问题而自杀;killed task可理解为是他杀,也就是jobtracker认为这个任务的执行是多余的,所以把任务直接杀掉。起初用hadoop的时候经常在一个complete的job中看到几个failed 或者是 killed task,还经常好奇为什么有的时候task的失败不会影响到整个job的失败,而有的时候就会使整个job的失败,到底failed和killed task对整个job的影响是什么?failed taskfailed task出现的原因可分为以下几种情况:1 child task失败,比如map/reduce任务中抛出 阅读全文