hadoop配置文件加载机制

@(HADOOP)[hadoop]

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. 异常信息配置文件已被另一个程序更改_抢先目睹:SpringBoot2.4配置文件加载机制大变化

    翻译: 冷冷.如梦技术 原文链接:spring.io/blog/2020/0- Spring Boot 2.4.0.M2 刚刚发布,它对 application.properties 和 applic ...

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

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

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

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

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

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

  5. Mybatis懒加载机制

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

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

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

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

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

  8. 33-viper 配置文件加载

    配置文件加载: 主流的配置文件格式:toml.yaml.json.xml.ini(conf.properties) 配置的来源:文本文件.环境变量.配置中心(携程开源的apollo配置中心.nacos ...

  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. 第四天上午 休闲假日
  2. 【iOS数据持久化】归档解档(NSKeyedArchiver/ NSKeyedUnarchiver)
  3. Python运维开发基础01-语法基础【转】
  4. vue 可视化布局工具_GitDataV一款Github的'大数据可视化平台'
  5. 如果可能我们还是做好基础的事情吧
  6. vue如何取消下拉框按回车自动下拉_Web自动化测试 | Select下拉框
  7. 寄存器是中央处理器内的组成部分
  8. android 监听 h5 window,H5嵌入APP后,通过window.WebViewJavascriptBridge原生APP与H5之间交互...
  9. 海明码知识透析--网工必备
  10. 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---41
  11. 3U VPX板卡设计
  12. HTTP状态码:415
  13. 操作系统国产化,你支持吗?鸿蒙OS万物互联!
  14. [图像特征匹配]SIFT、SURF、ORB算法笔记以及代码实现
  15. web 前端签名插件_signature_pad插件实现电子签名功能
  16. 看老程序员如何用Python的SimPy库简化复杂的编程模型的
  17. c/c++位操作简介--移位、位与、位或、异或
  18. Qt显示PDF之四pdfium封装
  19. 动态生成的dom为什么绑定事件会失效,以及如何解决
  20. 数据库 之数据库设计浅知识 -- 设计概述、概念结构设计(E-R模型概述)、逻辑结构设计(函数依赖和范式)、物理结构设计

热门文章

  1. 【已解决】Errors during downloading metadata for repository ‘appstream‘: - Status code: 404 for
  2. C语言简洁代码:1006 换个格式输出整数 (15分)
  3. include指令与动作的区别【贴心,简洁】
  4. 【最详细】数据结构(C语言版 第2版)第二章课后习题答案 严蔚敏 等 编著
  5. 为什么delete表,还会占磁盘空间?
  6. (*长期更新)软考网络工程师学习笔记——Linux操作系统中的vi/vim 编辑器详解
  7. python整商运算符_python中的运算符
  8. DNS攻击的主要方式
  9. STM32开启定时器就立即进Update中断问题探索
  10. Mysql中文乱码问题解决