Hadoop DataNode与DFSClient交互
2015-12-02 10:25
811 查看
<property> <name>dfs.datanode.shared.file.descriptor.paths</name> <value>/dev/shm,/tmp</value> <description> A comma-separated list of paths to use when creating file descriptors that will be shared between the DataNode and the DFSClient. Typically we use /dev/shm, so that the file descriptors will not be written to disk. Systems that don't have /dev/shm will fall back to /tmp by default. </description> </property>
/dev/shm/是linux下一个非常有用的目录,因为这个目录不在硬盘上,而是在内存里。因此在linux下,就不需要大费周折去建ramdisk,直接使用/dev/shm/就可达到很好的优化效果。 /dev /shm/需要注意的一个是容量问题,在linux下,它默认最大为内存的一半大小,使用df -h命令可以看到。但它并不会真正的占用这块内存,如果/dev/shm/下没有任何文件,它占用的内存实际上就是0字节;如果它最大为1G,里头放有 100M文件,那剩余的900M仍然可为其它应用程序所使用,但它所占用的100M内存,是绝不会被系统回收重新划分的,否则谁还敢往里头存文件呢?
默认系统就会加载/dev/shm ,它就是所谓的tmpfs,有人说跟ramdisk(虚拟磁盘),但不一样。象虚拟磁盘一样,tmpfs 可以使用您的 RAM,但它也可以使用您的交换分区来存储。而且传统的虚拟磁盘是个块设备,并需要一个 mkfs 之类的命令才能真正地使用它,tmpfs 是一个文件系统,而不是块设备;您只是安装它,它就可以使用了。
tmpfs有以下优势:
1,动态文件系统的大小。
2,tmpfs 的另一个主要的好处是它闪电般的速度。因为典型的 tmpfs 文件系统会完全驻留在 RAM 中,读写几乎可以是瞬间的。
3,tmpfs 数据在重新启动之后不会保留,因为虚拟内存本质上就是易失的。所以有必要做一些脚本做诸如加载,绑定的操作。
相关文章推荐
- Nodejs-connect 中间件
- Delete Node in a Linked List 删除链表的一个节点
- 项目中部署Grunt
- 【leetcode】Count Complete Tree Nodes (Java)
- node.js初学(一)
- 搭建一个简单的Nodejs服务器
- Nodejs 0.10.x 之Query String模块
- leetcode Delete Node in a Linked List--重要
- Eclipse下Nodejs项目配置详细步骤
- LeetCode 19 : Remove Nth Node From End of List (Java)
- window安装node.js express注意事项
- DataNode启动流程
- NameNode格式过程
- 安装node_modules文件遇到的问题:更改代理
- 【02】Node.js 安装配置(OK)
- Node.js Tools for Visual Studio
- websocket nodejs
- [LeetCode]Remove Nth Node From End of List
- Leetcode #237 Delete Node in a Linked List
- 使用 AngularJS & NodeJS 实现基于 token 的认证应用