Hadoop高级课程:配置文件介绍
最新学讯:近期OCP认证正在报名中,因考试人员较多请尽快报名获取最近考试时间,报名费用请联系在线老师,甲骨文官方认证,报名从速!
我要咨询Hadoop高级课程:配置文件介绍,在Hadoop中,Common、HDFS和MapReduce各有对应的配置文件,用于保存对应模块中可配置的参数。这些配置文件均为XML格式且由两部分构成:系统默认配置文件和管理员自定义配置文件。其中,系统默认配置文件分别是core-default.xml、hdfs-default.xml和mapred-default.xml,它们包含了所有可配置属性的默认值。而管理员自定义配置文件分别是core-site.xml、hdfs-site.xml和mapred-site.xml。它们由管理员设置,主要用于定义一些新的配置属性或者覆盖系统默认配置文件中的默认值。通常这些配置一旦确定,便不能被修改(如果想修改,需重新启动Hadoop)。需要注意的是,core-default.xml和core-site.xml属于公共基础库的配置文件,默认情况下,Hadoop总会优先加载它们。
在Hadoop中,每个配置属性主要包括三个配置参数:name、value和description,分别表示属性名、属性值和属性描述。其中,属性描述仅仅用来帮助用户理解属性的含义,Hadoop内部并不会使用它的值。此外,Hadoop为配置文件添加了两个新的特性:final参数和变量扩展。
final参数:如果管理员不想让用户程序修改某些属性的属性值,可将该属性的final参数置为true,比如:
mapred.map.tasks.speculative.execution true true
管理员一般在XXX-site.xml配置文件中为某些属性添加final参数,以防止用户在应用程序中修改这些属性的属性值。
变量扩展:当读取配置文件时,如果某个属性存在对其他属性的引用,则Hadoop首先会查找引用的属性是否为下列两种属性之一。如果是,则进行扩展。
其他已经定义的属性。
Java中System.getProperties()函数可获取属性。
比如,如果一个配置文件中包含以下配置参数:
- <property>
- <name>Hadoop.tmp.dir</name>
- <value>/tmp/hadoop-${user.name}</value>
- </property>
- <property>
- <name>mapred.temp.dir</name>
- <value>${Hadoop.tmp.dir}/mapred/temp</value>
- </property>
Hadoop.tmp.dir /tmp/hadoop-${user.name} mapred.temp.dir ${Hadoop.tmp.dir}/mapred/temp
则当用户想要获取属性mapred.temp.dir的值时,Hadoop会将Hadoop.tmp.dir解析成该配置文件中另外一个属性的值,而user.name则被替换成系统属性user.name的值。