在DN的hadoop-site.xml中配置了选项:
<property>
<name>dfs.datanode.du.reserved</name>
<value>1024</value>
</property>
这样是为了保证每个磁盘写入点能预留1K的空间来,而不是让DN将每个磁盘写入点写满,以导致M/R写local文件是发生磁盘空间不够而失败,甚至启动DN时也有可能失败(DN在启动时会初使化本地临时目录)。但是最近发现,这个配置选项并没有生效,还是有很多DN上的磁盘被写满了。究其代码,就发现了问题:
long getCapacity() throws IOException {
- if (reserved > usage.getCapacity()) {
- return 0;
- }
-
- return usage.getCapacity()-reserved;
+ long remaining = usage.getCapacity() - reserved;
+ return remaining > 0 ? remaining : 0;
}
long getAvailable() throws IOException {
long remaining = getCapacity()-getDfsUsed();
- long available = usage.getAvailable();
+ long available = usage.getAvailable() - reserved;
if (remaining>available) {
remaining = available;
}
return (remaining > 0) ? remaining : 0;
}
前一个修改是为了避免getCapacity() 被调用两次,该bug也是hadoop jira的一个close掉的bug。
后一个修改就是该bug所在。在比较remaining和available这两个变量的时候,remaining其实是减过reserved的,但available却没有,这样就导致计算磁盘剩余空间的时候出现问题,所以让available也减一下,这样就合理了。
-HADOOP-0.19.2
分享到:
相关推荐
9001 dfs.namenode.rpc-address,DataNode会连接这个端口 50070 dfs.namenode.http-address 50470 dfs.namenode.https-address 50100 dfs.namenode.backup.address 50105 dfs.namenode.backup.http-address 50090 ...
hadoop调试工具hadoop.dll和hadoop.exp和winutils.exe 64位
hadoop2.6.0 hadoop.dll包括winutils.exe
hadoop的hadoop.dll和winutils.exe下载
hadoop-2.7.3.tar.gz 下载 目前相对比较稳定的版本 hadoop tar 包下载hadoop-2.7.3.tar.gz 下载 hadoop tar 包下载
log4j:WARN No appenders could be found for logger (org.apache.hadoop.metrics2.lib.MutableMetricsFactory). log4j:WARN Please initialize the log4j system properly. log4j:WARN See ...
hadoop2.7.2windows工具winutils.exe和hadoop.dll hadoop.exp libwinutils.lib等
经本人亲自测试,本地可用,hadoop-eclipse-plugin-2.7.4.jar放到eclipse的插件目录,hadoop.dll 请放到system32目录,eclipse版本我本地下载的是Oxygen.1a Release (4.7.1a)。
hadoop-3.2.4.tar.gz
Hadoop3.3.0在windows下部署开发环境或者远程开发hadoop集群,对应的 hadoop.dll和winutils.exe以及整个bin目录 ,以及安装方法 亲测可用,有什么问题可以在评论描述
org.apache.hadoop.io.nativeio.NativeIO$Windows.createDirectoryWithMode0(Ljava/lang/String;I)V 解决方案:下载本资源解压将hadoop.dll和winutils.exe文件复制到hadoop2.7.3的bin目录下即可解决。
hadoop2.6 hadoop.dll winutils.exe d
hadoop2.7.3的hadoop.dll和winutils.exe,哈哈哈哈哈哈哈
ambari-2.7.5 编译过程中四个大包下载很慢,所以需要提前下载,包含:hbase-2.0.2.3.1.4.0-315-bin.tar.gz ,hadoop-3.1.1.3.1.4.0-315.tar.gz , grafana-6.4.2.linux-amd64.tar.gz ,phoenix-5.0.0.3.1.4.0-315....
hadoop.dll winutils.exe hadoop的插件亲测可以使用,望各位放心下载
HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,而MapReduce则为海量的数据提供了计算 ...
文档为PPT,与百度文库里的Hadoop大数据开发基础为一套,里面内容相对比较基础~可做基础学习资料PPT。 【实例截图】 【核心代码】 Hadoop大数据开发基础-PPT课件 └── 37066-Hadoop大数据开发基础-PPT课件 ├── ...
Hadoop 是一种分析和处理大数据的软件平台,是一个用 Java 语言实现的 Apache 的开源软件框架,在大量计算机组成的集群中实现了对海量数据的分布式计算。 Hadoop 采用 MapReduce 分布式计算框架,根据 GFS 原理开发...
hadoop3.3.0.dll&winutil工具连接 Apache Hadoop 3.3.0 incorporates a number of significant enhancements over the previous major release line (hadoop-3.2). Overview Users are encouraged to read the full...
Window10 Eclipse下开发Hadoop2.7.3资源共享,亲测可用。