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()的区别

hadoop配置文件的加载机制的更多相关文章

  1. hadoop配置文件的加载机制 分类: A1_HADOOP 2015-01-21 11:29 839人阅读 评论(0) 收藏

    hadoop通过Configuration类来保存配置信息 1.通过Configuration.addResource()来加载配置文件 2.通过Configuration.get***()来获取配置 ...

  2. Spring Boot 2.4 配置文件将加载机制大变化

    Spring Boot 2.4.0.M2 刚刚发布,它对 application.properties 和 application.yml 文件的加载方式进行重构.如果应用程序仅使用单个 applic ...

  3. Spring Boot 2.4.0正式发布,全新的配置文件加载机制(不向下兼容)

    千里之行,始于足下.关注公众号[BAT的乌托邦],有Spring技术栈.MyBatis.JVM.中间件等小而美的原创专栏供以免费学习.分享.成长,拒绝浅尝辄止.本文已被 https://www.you ...

  4. Java实现配置加载机制

    前言 现如今几乎大多数Java应用,例如我们耳熟能详的tomcat, struts2, netty…等等数都数不过来的软件,要满足通用性,都会提供配置文件供使用者定制功能. 甚至有一些例如Netty这 ...

  5. Crystal框架配置参数加载机制详解?

    前言 定义 配置参数定义的形式 配置参数文件定义在哪里? 配置参数加载的优先级 如何使用配置参数? 最佳实践 Jar项目中如何定义配置参数? War项目中如何定义或重载Jar包中的配置参数? 开发人员 ...

  6. Android 的 so 文件加载机制

    本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 最近碰到一些 so 文件问题,顺便将相关知识点梳理一下. 提问 本文的结论是跟着 System.loadlibrary() 一层层源 ...

  7. MyBatis --- 映射关系【一对一、一对多、多对多】,懒加载机制

    映射(多.一)对一的关联关系 1)若只想得到关联对象的id属性,不用关联数据表 2)若希望得到关联对象的其他属性,要关联其数据表 举例: 员工与部门的映射关系为:多对一 1.创建表 员工表 确定其外键 ...

  8. Spring中ApplicationContext加载机制和配置初始化

    Spring中ApplicationContext加载机制.        加载器目前有两种选择:ContextLoaderListener和ContextLoaderServlet.        ...

  9. 插件化框架解读之so 文件加载机制(四)

    阿里P7移动互联网架构师进阶视频(每日更新中)免费学习请点击:https://space.bilibili.com/474380680 提问 本文的结论是跟着 System.loadlibrary() ...

随机推荐

  1. ECSTORE2.0 下载 (变量标签)

    条目 用途 备注 coupon.mc.use_times 优惠券可用次数 - security.guest.enabled 是否支持非会员购物 - site.version version的最后修改时 ...

  2. dedecms _ 当前位置问题的代码

    {dede:field name='position' runphp='yes'} $tc=" > "; $tf=split($tc,@me); $tn=count($tf) ...

  3. html meta标签属性用法集合

    1.<meta name="generator" contect="">用以说明生成工具(如Microsoft FrontPage 4.0)等: 2 ...

  4. python生成html文件浏览器中文显示乱码问题

    近来在网上采集数据,想把采集下来的数据整合成html的形式保存.以便其他的平台产品可以直接读取html显示或者根据html标签提取数据. def output_html(self): try: fou ...

  5. Repeater绑定数据库

    前台: <table width="> <tr> <td class="tr1"> <asp:Label Text=" ...

  6. ubuntu soft install

    1.Mysql 安装就三个命令 mysql服务端 sudo apt-get install mysql-server mysql客户端 sudo apt-get install mysql-clien ...

  7. frame嵌套的学习

    iframe嵌套的学习 具体代码<br /> window.onload=function(){<br /> var voteid=window.parent.parent.d ...

  8. 最近写的页面,含有大量的ajax

    <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %><%@ taglib ur ...

  9. list排序成员函数对string对象与char*对象排序的差别

    对list容器中的对象排序,不能使用sort()算法,只能采用其自身的排序函数sort().因为,算法sort()只支持随机存取的容器的排序,如vector等. 对基本数据对象list排序:成员函数s ...

  10. linux 版本家族

    1. 简单的说,在桌面系统上,可分为Debian和RedHat两大分支,然后Debian这一分支到现在比较火的是Ubuntu, RedHat比较火的是Fedora.贴一下它们的版本历史:  fedor ...