HDFS配置文件内容解释
配置概述
hadoop-env.sh
一个可由hadoop脚本调用的bourne shell文件,它制定hadoop要用的JDK环境变量、守护进程JDK选项、pid文件和log文件夹
core-site.xml
指定与hadoop守护进程和客户端相关参数的xml文件
hdfs-site.xml
指定HDFS守护进程和客户端要用的参数的xml文件
mapred-site.xml
制定MapReduce守护进程和客户端要用的参数xml文件
log4j.properties
包含所有日志配置信息的java属性文件
master(可选的)
在新行中列出运行NameNode的机器,只会被start-*.sh类的辅助脚本使用
slaves(可选的)
在新行中列出运行DataNode/tasktracker进程对的服务器名,只会被start-*.sh类的辅助脚本使用
dfs.include
在新行中列出允许连接NameNode的服务器名
dfs.exclude
在新行中列出不允许连接NameNode的服务器名
识别和定位
fs.defaule.name(core-site.xml)
定义客户端所使用的默认文件系统的URL。默认值为file:/// 这意味着客户访问的是本地Linux文件系统。
但是生产集群HDFS时,希望这个参数来替代 hdfs://hostname:port 这里hostname和port分别代表NameNode守护程序所在的机器和监听的端口。
同时还有这两个作用:通知NameNode需要绑定的IP地址、端口号。
指定DataNode心跳需要发送的目标机器端口。
用到该参数的结点 namenode datanode secondnamenode jt tt 客户端。
dfs.name.dir
定义了一个用逗号分隔的不同的本地文件路径,NameNode要在这些路径上保存一个HDFS文件元数据的备份。
元数据很重要,建议定义两个内部硬盘和一个低延迟的高可靠性的NFS挂载。
元数据的完整备份在不同的文件路径都会保存,因此硬盘不需要选择RAID。也有的管理员使用了RAID并放弃定义多个路径。
使用者 NameNode
dfs.data.dir
定义了DataNode在哪儿存放HDFS数据块,用逗号作为分隔符,但是不会在每个指定的路径都做镜像数据,在分配数据块空间时,DataNode会议轮询的方式,在所有的磁盘驱动器间均衡处理。
物理磁盘的丢失影响并不大,因为所有数据都会在集群的其他机器上备份。
使用者 DataNode
fs.checkpoint.dir
次NameNode在checkpoint操作时,使用这些路径文件来保存元数据,如果提供多个路径会有多个镜像。
优化与调整
io.file.buffer.size(core-site.xml)
设置缓存的大小。
较大的缓存可以提供更高效的数据传输,意味着更大的内存消耗和延迟。
参数设置为系统页面大小的倍数,以byte为单位。默认值4KB。
可以设置为64KB(65536byte)
参考值:65536 使用者:客户端、守护进程
dfs.balance.bandwidthPerSec
HDFS平衡器检测集群中使用过度或者使用不足的DataNode,并在这些DataNode之间移动数据块保证负载均衡。
参数定义了每个DataNode平衡操作所允许的最大使用带宽,单位byte
参数在守护进程启动时就读入,不能在平衡器运行时修改。
使用者:DataNode
dfs.block.size
定义了所有新建文件的默认数据块大小。参数的设置不会影响系统中已经存在的文件。
单位byte 默认值:67 108 864 即64MB。//现在不确定是多少
对很多用例而言,134 217 728(128MB)更合适。
数据块大小会显著影响MapReduce作业的效率
使用者:客户端
dfs.DataNode.du.reserved
定义了每个dfs.data.dir定义的磁盘空间需要保留的大小
单位byte,默认0,参考值:10 737 418 240(10GB)
使用者:DataNode
dfs.NameNode.handler.count
NameNode有一个工作线程池用来处理客户端的远程过程调用以及集群守护进程的调用。
处理程序(工作线程)数量越多意味着要更大的池子来处理来自不同DataNode的并发心跳以及客户端并发的元数据操作。
对大集群或者有大量客户端的集群,增大该参数。
默认值10;
设置值的原则是将其设为集群大小的自然对数乘以20,即20*logN, N为集群大小。
使用者:NameNode
dfs.DataNode.failed.volumes.tolerated
当DataNode的任何一个本地磁盘出现故障,默认整个DataNode失效。
该承诺书定义了整个DataNode声明失效前允许多少个磁盘出现故障。
使用者:DataNode
dfs.hosts
含有DataNode主机名表,确认允许连接并加入集群的DataNode,其他的DataNode不允许加入。
格式:换行符分隔主机名或者IP地址
使用者:NameNode
dfs.host.exclude
类似于dfs.hosts,把指定节点排除在外。
使用者:NameNode
fs.trash.interval
回收站功能。当功能被启用,文件被移动到用户HDFS主目录的名为.Trash目录下,来保留被删除文件而不是立即删除。
参考值:1440(24小时),使用者:NameNode、客户端
HDFS配置文件内容解释的更多相关文章
- linux 里 /etc/passwd 、/etc/shadow和/etc/group 文件内容解释
•/etc/passwd文件用于存放用户账户信息,每行代表一个账户,每个账户的各项信息用冒号分割,例如: root:x:::root:/root:/bin/bash username:password ...
- my.cnf 配置文件参数解释
my.cnf 配置文件参数解释: #*** client options 相关选项 ***# #以下选项会被MySQL客户端应用读取.注意只有MySQL附带的客户端应用程序保证可以读取这段内容.如果你 ...
- 分布式文件存储FastDFS(七)FastDFS配置文件具体解释
配置FastDFS时.改动配置文件是非常重要的一个步骤,理解配置文件里每一项的意义更加重要,所以我參考了大神的帖子,整理了配置文件的解释.原帖例如以下:http://bbs.chinaunix.net ...
- [置顶] HDFS文件内容追加(Append)
HDFS设计之处并不支持给文件追加内容,这样的设计是有其背景的(如果想了解更多关于HDFS的append的曲折实现,可以参考<File Appends in HDFS>:http://bl ...
- 【HDFS API编程】查看HDFS文件内容、创建文件并写入内容、更改文件名
首先,重点重复重复再重复: /** * 使用Java API操作HDFS文件系统 * 关键点: * 1)创建 Configuration * 2)获取 FileSystem * 3)...剩下的就是 ...
- java读取配置文件内容
利用com.typesafe.config包实现 <dependency> <groupId>com.typesafe</groupId> <artifact ...
- CSharp读取json配置文件内容
步骤 读取配置文件转换成字符串,代码如下 string contents = System.IO.File.ReadAllText("config.json"); 注意:该语句会抛 ...
- Python+selenium之读取配置文件内容
Python+selenium之读取配置文件内容 Python支持很多配置文件的读写,此例子中介绍一种配置文件的读取数据,叫ini文件,python中有一个类ConfigParser支持读ini文件. ...
- Linux下查看进程的命令输出的内容解释
Linux下查看进程的命令输出的内容解释 ps (process status) ps -e 或者ps -A (-e和-A完全一样) PID TTY TIME ...
随机推荐
- 基于toyix的进程和轻权进程的学习
我们在平时的计算机课上学习过进程,知道程序的执行的背后其实就是进程在进行一些操作.大家都知道打开windows的任务管理器可以看到正在运行的进程,当程序卡死时,可以在任务管理器里强制关闭相关程序的进程 ...
- Hadoop开发遇到的问题之reduce卡住
遇到的问题描述:在hadoop上面执行程序,程序运行之后能够正常执行.一切似乎都是正常的,然而过了一段时间之后程序便开始阻塞直到程序超时退出(如下). 14/08/19 21:17:51 INFO m ...
- SDN,NFV
CAPEX,capital expenditures 投资成本OPEX,Operating Expense 运营费用space & power consumption 图解NFV与SDN关系
- Web 前端利器Emmet 的HTML用法总结
在tutsplus那里看到一篇文章介绍Emmet 的用法,形象的gif图片一目了然,本来想翻译过来的(虽然翻译用法倒不是很难),但搜索发现已经有国人翻译过了,遂直接拿来转载在这里. Emmet 简介 ...
- 解决方案--java执行cmd命令ProcessBuilder--出错Exception in thread "main" java.io.IOException: Cannot run program "dir d:\": CreateProcess error=2(xjl456852原创)
当我尝试在java中通过ProcessBuilder运行window的cmd命令时出现错误: public static void main(String [] args) throws IOExce ...
- J2EE基础总结(1)——J2EE入门
J2EE诞生的背景 在传统的开发模式(单层应用结构)下.应用普遍存在下面致命缺点: - 数据.页面和业务逻辑在一个逻辑层次中.功能紧密耦合. - 代码重用性极低,可维护性差. - 应用耦合度高,全然没 ...
- [Regex Expression] Find Sets of Characters
Regular Expression Character Classes define a group of characters we can use in conjunction with qua ...
- 为iPhone6 设计自适应布局(一)
译者的话:本文是自适应布局的巩固篇,所以对布局约束的添加操作步骤等没有详细的说明.如果看着吃力的话请先移步Swift自适应布局(Adaptive Layout)教程. Apple从iOS6加入了Aut ...
- 实现简单的django上传文件
本文用django实现上传文件并保存到指定路径下,没有使用forms和models,步骤如下: 1.在模板中使用form表单,因为这个表单使用于上传文件的,所以method属性必须设置为post,而且 ...
- Hacker(22)----解除系统中的密码
Win7系统中,用户可以设置BIOS密码以及系统登录密码,这些密码都有各自的用途.但对黑客而言,完全可以采用不同的方式绕过这些密码.下面介绍黑客如如何接触这些密码. 一.解除BIOS密码 BIOS密码 ...