hadoop 提高hdfs删文件效率----hadoop删除文件流程解析
前言
这段时间在用hdfs,由于要处理的文件比较多,要及时产出旧文件,但是发现hdfs的blocks数一直在上涨,经分析是hdfs写入的速度较快,而block回收较慢,所以分心了一下hadoop删文件的流程,并做了调优,希望对遇到此类问题的程序猿们有帮助。
正文
经分析与查看源码发现,hdfs删除文件的流程是这样的:
(1)java程序中的DFSClient调用delete函数,删除文件
(2)NameNode将文件从他的namespace中删除
(3)NameNode通过心跳的方式,发命令给DataNode,告诉DataNode哪些block块该删除,然后DataNode才真正将文件删除。
当然这里面还有很多详细的流程,这里暂时不解释了,通过查看源码发现,NameNode每次通过心跳发给DataNode的block块数是100, 现在调优有连个地方可以改
(1)把心跳间隔改小一点,这个在配置文件hdfs-site.xml中的dfs.heartbeat.interval 。
(2)让NameNode每次多发给DataNode一些block块,由于是看源码发现的所以就该源码了,后来发现其实可以在配置文件中陪
修改DFSConfigKeys类中的DFS_BLOCK_INVALIDATE_LIMIT_DEFAULT,重新编译hadoop,替换到集群中即可。
更简单的方法就是修改配置文件 dfs.block.invalidate.limit
参考 http://blog.csdn.net/baggioss/article/details/5674359
转载于:https://www.cnblogs.com/smileallen/p/3391473.html
hadoop 提高hdfs删文件效率----hadoop删除文件流程解析相关推荐
- Hadoop权威指南:HDFS-目录,查询文件系统,删除文件
目录 Hadoop权威指南:HDFS-目录,查询文件系统,删除文件 目录 查询文件系统 文件元数据:FileStatus 列出文件 文件模式 PathFilter对象 删除数据 Hadoop权威指南: ...
- java删不掉_java删除文件删不掉相关阅读-java删除文件删不掉文章阅读-123文学网...
U盘里面的文件有些不想要了,想要删除的时候删不掉!遇到这种问题该怎么办呢?下面是小编分享的经验,一起来看一下吧. 1.在系统中打开电脑资源管理器,先选中U盘. 2.点击鼠标右键,在菜单中选择" ...
- java 中io的删除文件_总结删除文件或文件夹的7种方法-JAVA IO基础总结第4篇
本文是Java IO总结系列篇的第4篇,前篇的访问地址如下: 如果您阅读完成,觉得此文对您有帮助,请给我点个赞,您的支持是我不竭的创作动力. 为了方便大家理解,我特意制作了本文对应的视频:总结删除文件 ...
- linux里创建文件夹、创建文件夹子文件夹、删除文件夹和文件、访问指定目录级返回上一级目录
1.新建文件夹 2.删除文件 3.访问目录 一.新建文件夹 mkdir 命令是 make directories 的缩写,用于创建新目录,此命令所有用户都可以使用. 1.mkdir xxx:创建文件夹 ...
- android 文件 删除文件夹,android 删除文件以及递归删除文件夹
Python之文件处理-递归删除特定文件 #!/usr/bin/env python # -*- coding:utf-8 -*- import os def delete_particular_fi ...
- ubuntu创建文件夹和删除文件
创建 名为docker的文件夹 : ubuntu创建文件夹mkdir name mkdir docker 删除 名为docker的文件夹 : ubuntu删除文件rm name rm docker
- java : enum、创建文件和文件夹、删除文件和文件夹、获得项目绝对路径、写入数据到excel中、java代码中两种路径符号写法、读取、写入text文件...
java : enum http://www.cnblogs.com/hyl8218/p/5088287.html 创建文件和文件夹.删除文件和文件夹 http://www.cnblogs.com/m ...
- java目录实用工具_JAVA 创建文件和文件夹,删除文件和文件夹的实用工具
package com.file; import java.io.File; import java.io.IOException; //创建新文件和目录 public class CCRDFile ...
- c# 删除文件,清理删除文件
c# 删除程序占用的文件,清理删除文件,彻底删除文件,解除文件占用 文件打开时,以共享读写模式打开 FileStream inputStream = new FileStream(name, File ...
最新文章
- 常用开源协议介绍以及开源软件规范列表
- spring之DelegatingFilterProxy
- eclipse里面M2_REPO引用(Maven2安装总结)
- UGUI的优点新UI系统四 开源
- [教程]发一个iPhone收发邮件设置(163、126邮箱)
- oracle 拉文件进ubuntu,ubuntu 18-20 安装oracle java 打开jnlp文件
- cocos creator 方法数组_Creator | 优化三剑客之内存!
- jQuery.bind事件 详解
- ffmpeg转码文件输出rtsp流
- 详解Mysql执行计划explain
- 考考你、智商题 小明借爸爸500元 又借妈妈500元 买双鞋 970元 还剩30元 还给爸爸10元...
- 银河麒麟高级服务器操作系统V10下载安装及安装docker
- android的随机之魂
- 支付宝称:已支持微信转账,结果被骂惨了...
- HCIA网络课程第一周作业
- 杰理之上下文件夹播放上文件夹从最后一首播放【篇】
- ntpd服务状态及日志查询方式
- 菜鸟应用发布 全民跨入APP2.0时代
- 不可抗力条款_否则,如果条款
- Composer入门教程 - 基本用法