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配置文件加载机制

    hadoop配置文件加载机制 @(HADOOP)[hadoop] hadoop通过Configuration类来保存配置信息 1.通过Configuration.addResource()来加载配置文 ...

  2. Spring Boot 配置文件的加载优先级

    1. 前言 今天突发奇想,如果Spring Boot的配置文件同时存在application.properties和application.yaml,于是便测试了一波.结果测出来优先级的顺序为 pro ...

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

    转自:http://liuwei1578.blog.163.com/blog/static/495803642007116111923195/ Spring中ApplicationContext加载机 ...

  4. lombok中的@Data注解与MyBatis的懒加载机制冲突解决

    使用@Data注解与mybatis的懒加载机制实现一对一关系查询时,发现怎么配置都无效,就是一下都查出来了,根本没有懒加载 1.application.yml配置文件配置如下: # mybatis 配 ...

  5. Skywalking-13:Skywalking模块加载机制

    模块加载机制 基本概述 Module 是 Skywalking 在 OAP 提供的一种管理功能特性的机制.通过 Module 机制,可以方便的定义模块,并且可以提供多种实现,在配置文件中任意选择实现. ...

  6. Mybatis懒加载机制

    懒加载会按需要是否执行关联查询语句.如果用到了关联查询语句的信息,就需要执行关联查询,否则就只执行主查询 1.在mybatis的全局配置文件中加入两个属性: <settings><s ...

  7. Spring的加载机制导致不同SpringBoot启动方式下@Value注解失效

    问题参考链接:https://blog.csdn.net/u011958281/article/details/81531676 背景: 项目使用application.yml文件自定义参数,我在配置 ...

  8. Node.js学习笔记——模块加载机制及npm指令详解

    文章目录 二.模块化 1.模块化的基本概念 2.Node.js 中的模块化 Node.js 中模块的分类 加载模块 Node.js 中的模块作用域 向外共享模块作用域中的成员 Node.js 中的模块 ...

  9. Node.js(一、Node.js基础、模块加载机制、包等)

    Node.js(一.Node.js基础.模块加载机制.包等) 1.Node.js基础 1.1.Node是什么 1.2.Node环境安装失败解决方法 1.2.1.Node环境搭建 1.2.2.错误代码2 ...

最新文章

  1. IDEA配置GitHub和Gitee
  2. mc幻想乡java_我的世界1.7.2幻想乡整合版下载_我的世界1.7.2东方幻想乡下载_游戏之家...
  3. 微型计算机硬件技术基础答案,计算机硬件技术基础_万晓冬_习题
  4. Linux root用户无法打开Chrome或则chromium(kali)
  5. 如何进行聚类可视化_如何使用matplotlib包进行数据可视化
  6. (第2部分,共3部分):有关性能调优,Java中的JVM,GC,Mechanical Sympathy等的文章和视频的摘要...
  7. 【转载】Java程序设计入门 (二)
  8. mysql数据库binlog日志截断报错,导致mysql主从同步失败故障排查
  9. ubuntu server 14.04/16.x 开启 root ssh 登录
  10. 最全的Vim操作快捷键
  11. 大米云主机首批优秀体验师新鲜出炉——软件服务篇
  12. 双三次插值及Matlab实现
  13. 海康SDK语音转发实现(ubuntu)
  14. C语言有哪些冷知识?
  15. 书家必备——容易寫錯用錯的繁體字一百例
  16. 优化 MT4 性能让你的MT4更加流畅
  17. 2019 初入IT十年(下)---- 视线所及只剩生活
  18. excel空白单元格自动填充上一单元格内容
  19. 用智能手机让台式机连接无线
  20. QTextEdit和QTextDocument(一)

热门文章

  1. 18行代码AC-Leecode 299. 猜数字游戏——Leecode每日一题系列
  2. 【题意+分析】1067 Sort with Swap(0, i) (25 分)_24行代码AC
  3. Dev C++ 无法调试问题的解决——小白也能看懂!
  4. C语言 满分代码:L1-043 阅览室 (20分)(解题报告)
  5. 风险评估资产重要性识别_如何有效的进行风险评估?
  6. hyperion高光谱参数_收藏!光纤光谱仪在激光领域的典型应用
  7. DataInputStream与DataOutputStream类
  8. php点击按钮变文字,点击按钮文字变成input框,点击保存变成文字的实现
  9. md5会重复吗_自媒体平台视频重复审查机制,如何避免自己做的视频和别人的重复...
  10. python里的关键字有哪些_Python 中的关键字有哪些?