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. vmware安装Linux时无法打开xpdf

    vmware10+redhat9 在装第二张镜像文件时,出现如下提示:无法打开xpdf-2.01-8软件包...... 解决方法: vmware中,虚拟机->设置->硬件->CD/D ...

  2. Method Swizzling以及AOP编程:在运行时进行代码注入-备用

    概述 今天我们主要讨论iOS runtime中的一种黑色技术,称为Method Swizzling.字面上理解Method Swizzling可能比较晦涩难懂,毕竟不是中文,不过你可以理解为“移花接木 ...

  3. vmware workstation 10.0.1 install mac os mavericks

    由于项目当中有ios app开发,第一感觉就是mac开发环境会比较适合开发与调试(虽然linux.windows都有相应的oc开发环境). 由于我是用windows7搞.net开发的,所以其他系统接触 ...

  4. window.open || window.showModalDialog || window.showModelessDialog

    http://dwcmayday201204063551.iteye.com/blog/1621751 http://www.cnblogs.com/zhangyi85/archive/2009/09 ...

  5. GO不支持数组通过函数参数更改,有点不一样

    package main import "fmt" func modify(array []int) { array[] = fmt.Println("In modify ...

  6. 在docker以FPM-PHP运行php,慢日志导致的BUG分析

    问题描述: 最近将IOS书城容器化,切换流量后.正常的业务测试了一般,都没发现问题.线上的错误监控系统也没有报警,以为迁移工作又告一段落了,暗暗的松了一口气.紧接着,报警邮件来了,查看发现是一个苹果支 ...

  7. cp 提示 overwrite 问题

    cp 提示 overwrite 问题 copy -f 文件的时候仍然提示覆盖问题,很诧异,咨询SA,果然 cp -i 强制要求覆盖文件的时候确认,-f 也不起作用,大大的不爽[root@erpappd ...

  8. BZOJ1089: [SCOI2003]严格n元树

    1089: [SCOI2003]严格n元树 Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 762  Solved: 387[Submit][Status ...

  9. AS3排序

    package { import flash.display.Sprite; public class Sort extends Sprite { private var arr:Vector.< ...

  10. HashMap Collision Resolution

    Separate Chaining Use data structure (such as linked list) to store multiple items that hash to the ...