hadoop通过Configuration类来保存配置信息
1、通过Configuration.addResource()来加载配置文件
2、通过Configuration.get***()来获取配置属性
1、创建一个新的Configuration实例时,会加载core-default.xml与core-site.xml,若还有其它配置,则调用addResource()继续添加。
package org.jediael.hadoopdemo;
import org.apache.hadoop.conf.Configuration;
public class ConfigurationDemo {
public static void main(String[] args){
Configuration conf = new Configuration();
//conf.addResource("/opt/jediael/hadoop-1.2.1/conf/core-site.xml");
Configuration.addDefaultResource("mapred-default.xml");
//System.out.println(conf.get("fs.default.name"));
System.out.println(conf.get("hadoop.tmp.dir"));
System.out.println(conf.get("io.sort.mb"));
}
}
输出结果为:
www:Downloads liaoliuqing$ hadoop jar hdemo.jar org.jediael.hadoopdemo.ConfigurationDemo
hdfs://localhost:9000
/opt/tmp
null
2、可以通过Configuration.addDefaultResource()加载CLASSPATH下的内容,主要用于加载hdfs-default.xml hdfs-site.xml mapred-default.xm mapred-site.xml
package org.jediael.hadoopdemo;
import org.apache.hadoop.conf.Configuration;
public class ConfigurationDemo {
public static void main(String[] args){
Configuration conf = new Configuration();
//conf.addResource("/opt/jediael/hadoop-1.2.1/conf/core-site.xml");
Configuration.addDefaultResource("mapred-default.xml");
System.out.println(conf.get("fs.default.name"));
System.out.println(conf.get("hadoop.tmp.dir"));
System.out.println(conf.get("io.sort.mb"));
}
}
输出结果为:
www:Downloads liaoliuqing$ hadoop jar hdemo.jar org.jediael.hadoopdemo.ConfigurationDemo
hdfs://localhost:9000
/opt/tmp
100
若color.xml位于$HADOOP_HOME/conf
package org.jediael.hadoopdemo;
import org.apache.hadoop.conf.Configuration;
public class ConfigurationDemo {
public static void main(String[] args){
Configuration conf = new Configuration();
//conf.addResource("/opt/jediael/hadoop-1.2.1/conf/color.xml");
Configuration.addDefaultResource("color.xml");
Configuration.addDefaultResource("mapred-default.xml");
System.out.println(conf.get("fs.default.name"));
System.out.println(conf.get("hadoop.tmp.dir"));
System.out.println(conf.get("io.sort.mb"));
System.out.println(conf.get("color"));
}
}
输出结果为:
www:Downloads liaoliuqing$ hadoop jar hdemo.jar org.jediael.hadoopdemo.ConfigurationDemo
hdfs://localhost:9000
/opt/tmp
100
yellow
若color.xml不位于$HADOOP_HOME/conf,则color的输出值为null。
3、conf.addResource()与Configuration.addDefaultResource()的区别
相关文章
- mapreduce中的MapTask工作机制(Hadoop)
- Struts2框架之配置文件的加载顺序与修改struts2的访问后缀
- WPF中自定义的DataTemplate中的控件,在Window_Loaded事件中加载机制初探
- IDEA中的maven工程老是加载不到类路径下的配置文件
- 关于idea使用c3p0连接MySQL数据库无法加载配置文件的问题
- eclipse中创建的spring-boot项目在启动时指定加载那一个配置文件的设置
- 关于springboot集成apollo加载配置文件application.properties的简便方式
- 解决eclipse创建spring boot项目加载不到application.properties配置文件的问题
- java 项目在linux服务器上用shell脚本启动的配置文件加载
- Apache 加载配置文件不重启 - 北国的雨