《Hadoop》之"踽踽独行"(九)Hadoop集群的四个配置文件的属性解析

HDFS完全分布式集群搭建与配置及常见问题总结(上) 本篇描述关于HDFS完全分布式集群的搭建与配置相关步骤,还有一些常见问题,供大家参考。 阅读详情

在启动hadoop集群的守护线程时,一定会加载并运行相关的class字节码文件。通过common模块和hdfs模块里的源码可以看到,它们读取了相关的配置文件。

hadoop-common-2.7.3-sources.jar下的org.apache.hadoop.conf.Configuration源文件的部分源码:

package org.apache.hadoop.conf;  //类的全路径
public class Configuration implements Iterable<Map.Entry<String,String>>,
                                      Writable {
 static{
    //print deprecation warning if hadoop-site.xml is found in classpath
    ClassLoader cL = Thread.currentThread().getContextClassLoader();
    ........................
    addDefaultResource("core-default.xml");     //加载common模块的默认配置文件
    addDefaultResource("core-site.xml");        //加载个人配置的common配置文件
  }
}

hadoop-hdfs-2.7.3-sources.jar下的org.apache.hadoop.hdfs.HdfsConfiguration源文件的部分源码:

package org.apache.hadoop.hdfs;  //类的全路径

import org.apache.hadoop.conf.Configuration;  //引用hadoop-common-2.7.3-sources.jar里的类

public class HdfsConfiguration extends Configuration {
  static {
    addDeprecatedKeys();

    // adds the default resources
    Configuration.addDefaultResource("hdfs-default.xml");  //#加载hdfs模块的默认配置文件
    Configuration.addDefaultResource("hdfs-site.xml");     //加载个人配置的hdfs配置文件

  }
}

那么,今天,我们就来了解一下hadoop的默认配置文件(core-default.xml、hdfs-default.xml、mapred-default.xml、yarn-default.xml)里的内容

一、core-default.xml

1、hadoop.tmp.dir

打开这个文件后,有这样一个属性:hadoop.tmp.dir,默认设置的值为/tmp/hadoop-${user.name}。

<property>
  <name>hadoop.tmp.dir</name>
  <value>/tmp/hadoop-${user.name}</value>
</property>

在hadoop伪分布式集群下,经过格式化后,就会默认到/tmp/hadoop-${user.name}/下。这个路径格外的重要,很多其他路径的设置都要依赖于这个路径。我们来看看伪分布式下的内容:

/tmp/hadoop-hyxy
                   ----dfs          #与hdfs有关的文件存储位置
                        ----name
                        ----data
                   ----mapred   #与mr有关的文件存储位置

而将路径设置在/tmp下很不安全,Linux在重新启动时,很可能就删除这个路径下的文件。因此在安全分布式集群下,我们都会在etc/hadoop/core-site.xml重新设置这个路径。

2、fs.defaultFS

在来看core-default.xml中的另一个比较重要的属性:fs.defaultFS

<property>
  <name>fs.defaultFS</name>
  <value>file:///</value>
</property>

这个属性的作用就是定义hdfs文件系统的主机和端口号的。不管在是伪分布式下,还是在完全分布式下,我们都会在etc/hadoop/core-site.xml配置文件里重新定义它的值。主机名可以使用ip,也可以使用主机名称。端口号我们可以自定义,不过在hadoop1.x版本默认使用的是9000,而在hadoop2.x中默认使用的是8020。value的值可以这样设置:

<property>
  <name>fs.defaultFS</name>
  <value>hdfs://[ip|hostname]:port</value>  #配置时,请使用真实的ip、hostname、port
</property>
或者
<property>
  <name>fs.defaultFS</name>
  <value>hdfs://[ip|hostname]/</value>      #这种写法就会使用默认端口号
</property>

3、io.file.buffer.size

<!-- i/o properties -->
<property>
  <name>io.file.buffer.size</name>
  <value>4096</value>
</property>

这个属性设置的是集群在进行读写操作时,缓冲区的大小。默认是4K。

core-default.xml内的其余的属性,可以自行查看,这里不做讲解了。

二、hdfs-default.xml

1、dfs.namenode.name.dir

<property>
  <name>dfs.namenode.name.dir</name>
  <value>file://${hadoop.tmp.dir}/dfs/name</value>
</property>

我们可以借助有道翻译,将每个属性的描述翻译一下,而这个属性,有道是这样翻译的:确定DFS名称节点应该在本地文件系统的何处存储名称表(fsimage)。如果这是一个以逗号分隔的目录列表,那么name表将复制到所有目录中,以实现冗余。这样的解释应该很清楚了吧,而且用到了core-default.xml/core-site.xml里的属性hadoop.tmp.dir。当然我们可以在etc/hadoop/hdfs-site.xml进行指定设置。

2、dfs.datanode.data.dir

<property>
  <name>dfs.datanode.data.dir</name>
  <value>file://${hadoop.tmp.dir}/dfs/data</value>
</property>

用于定义DFS数据节点应将其块存储在本地文件系统的何处。如果这是一个以逗号分隔的目录列表,那么数据将存储在所有命名的目录中,通常存储在不同的设备上。对于HDFS存储策略,应该用相应的存储类型([SSD]/[DISK]/[ARCHIVE]/[RAM_DISK])标记目录。如果目录没有显式标记存储类型,则默认存储类型为磁盘。如果本地文件系统权限允许,将创建不存在的目录。

可以在etc/hadoop/hdfs-site.xml进行指定设置。

3、dfs.replication

<property>
  <name>dfs.replication</name>
  <value>3</value>
</property>

DFS上的数据库的副本数,缺省值是3。可以在创建文件时进行指定,如果没有指定,就使用缺省值。

4、dfs.blocksize

<property>
  <name>dfs.blocksize</name>
  <value>134217728</value>
</property>

文件系统中的块大小,以字节为单位,如134217728表示128 MB。你也可以使用以下后缀(不区分大小写):k,m,g,t,p,e以指定大小(例如128k, 512m, 1g等)。

5、dfs.namenode.http-address

<property>
  <name>dfs.namenode.http-address</name>
  <value>0.0.0.0:50070</value>
</property>

dfs namenode web ui使用的监听地址和基本端口。可以在etc/hadoop/hdfs-site.xml进行指定设置。

6、dfs.webhdfs.enabled

<property>
   <name>dfs.webhdfs.enabled</name> 
   <value>true</value>      
</property>

 在namenode和datanode中启用WebHDFS (REST API)。false表示不启用。

hdfs-default.xml配置文件内的其他属性,可以自行查看,这里就不一一介绍了。

三、mapred-default.xml

当我们使用mapreduce程序时,hadoop集群就会读取该配置文件里的配置信息,我们来看几个比较重要的属性

1、mapreduce.framework.name

<property>
  <name>mapreduce.framework.name</name>
  <value>local</value>
</property>

这个属性用于指定执行MapReduce作业的运行时框架。属性值可以是local,classic或yarn。我们可以在etc/hadoop/mapred-site.xml里来重新指定值。不过呢,在etc/hadoop/目录下没有mapred-site.xml文件,倒是有一个mapred-site.xml.template样板。我们可以复制一份,将名称改为mapred-site.xml。

2、mapreduce.jobhistory.address

<property>
  <name>mapreduce.jobhistory.address</name>
  <value>0.0.0.0:10020</value>
</property>

指定了查看运行完mapreduce程序的服务器的IPC协议的主机名和端口号。可以通过mapred-site.xml进行设置

3、mapreduce.jobhistory.webapp.address

<property>
  <name>mapreduce.jobhistory.webapp.address</name>
  <value>0.0.0.0:19888</value>
  <description>MapReduce JobHistory Server Web UI host:port</description>
</property>

指定了使用webui查看mapreduce程序的主机名和端口号。可以通过mapred-site.xml进行设置。

mapred-default.xml配置文件内的其他属性,可以自行查看,这里就不一一介绍了。

四、yarn-default.xml

如果在hadoop下指定使用了yarn,那么一定会读取yarn-default.xml这个配置文件。一起来看看里面的属性吧

1、yarn.nodemanager.aux-services

<property>
    <name>yarn.nodemanager.aux-services</name>
    <value></value>
    <!--<value>mapreduce_shuffle</value>-->
</property>

这个属性用于指定在进行mapreduce作业时,yarn使用mapreduce_shuffle混洗技术。这个混洗技术是hadoop的一个核心技术,非常重要。可以在yarn-site.xml里进行设置。

2、yarn.nodemanager.aux-services.mapreduce_shuffle.class

用于指定混洗技术对应的字节码文件。

 <property>
    <name>yarn.nodemanager.aux-services.mapreduce_shuffle.class</name>
    <value>org.apache.hadoop.mapred.ShuffleHandler</value>
 </property>

3、yarn.resourcemanager.hostname

用于指定resourcemanager的主机名

<property>
    <name>yarn.resourcemanager.hostname</name>
    <value>0.0.0.0</value>
</property> 

4、yarn.resourcemanager.address

用于指定在RM中的应用程序管理器接口的地址

<property>
    <name>yarn.resourcemanager.address</name>
    <value>${yarn.resourcemanager.hostname}:8032</value>
</property>

5、yarn.resourcemanager.scheduler.address

用于指定调度程序接口的地址。

<property>
    <name>yarn.resourcemanager.scheduler.address</name>
    <value>${yarn.resourcemanager.hostname}:8030</value>
</property>

6、yarn.resourcemanager.resource-tracker.address

用于指定rm下的resource-tracker的地址

 <property>
    <name>yarn.resourcemanager.resource-tracker.address</name>
    <value>${yarn.resourcemanager.hostname}:8031</value>
  </property>

7、yarn.resourcemanager.admin.address

用于指定RM管理界面的地址。

 <property>
    <name>yarn.resourcemanager.admin.address</name>
    <value>${yarn.resourcemanager.hostname}:8033</value>
 </property>

8、yarn.resourcemanager.webapp.address

用于指定RM的web访问的地址

<property>
    <description>The http address of the RM web application.</description>
    <name>yarn.resourcemanager.webapp.address</name>
    <value>${yarn.resourcemanager.hostname}:8088</value>
  </property>

这些属性我们都可以在etc/hadoop/yarn-site.xml里进行重新设置。yarn-default.xml默认配置文件里其他的属性,就不一一介绍了,可以自己查看哦。

------------------------------------如有疑问,敬请留言----------------------------------------------

 

【hadoop】一 hdsf开启restful API访问文件系统 之 webHDFS 以及 remoteException问题 hdfs开启resutful API 有两种方式 一 : web HDFS 是hdfs文件系统自带的 二 :httpFS 非自带需要额外下载包安装 web HDFS 与 httpFS 使用区别 有HA时,因namenode 的地址动态分配,不方便随时修改,推荐使用httpFS; web HDFS 自带,在高并发、大数据文件下比httpFS性能好,因为httpFS是帮忙代理转发数据流都会集中通过ht... 阅读详情

相关推荐

Hadoop常见配置文件及用处

mapred-site.xml:配置 MapReduce 的属性,例如作业跟踪器和任务跟踪器的地址、作业优先级、输出压缩等。yarn-site.xml:配置 YARN 的属性,例如资源管理器和节点管理器的地址、内存和 CPU 的分配、日志聚合等。core-site.xml:配置 Hadoop 的基本属性,例如 HDFS 的默认文件系统、I/O 和记录日志等设置。hdfs-site.xml:配置 HDFS 的属性,例如数据块大小、副本数量、名字节点和数据节点的地址、缓存等。

优快云 精品推荐 2884

HDFS的fs.defaultFS的端口

查看所有正在使用的端口: netstat -ntlp 在hadoop2的HDFS中fs.defaultFS在core-site.xml 中配置,默认端口是8020,但是由于其接收Client连接的RPC端口,所以如果在hdfs-site.xml中配置了RPC端口9000,所以fs.defaultFS端口变为9000 如图查看:netstat -lent | grep 9000 端口 ...

杜海的博客 1万+

告别黑盒:深入解析西部数据UFS芯片的44个SMART健康参数(附高通XBL读取源码)

本文深入解析西部数据UFS芯片的44个SMART健康参数,结合高通XBL启动加载层源码,提供了一套完整的健康状态诊断方法论。从SCSI命令层封装到数据结构映射,详细介绍了如何在高通平台早期启动阶段捕获UFS健康状态,帮助工程师实现预测性维护。

weixin_30600197的博客 427

Hadoop --- HDFS配置与操作

hadoop的配置文件存放目录在 {HADOOP_HOME}/etc/hadoop 下, 与 hdfs相关的配置:新增属性信息: fs.defaultFSfs.defaultFS表示指定集群的文件系统类型是分布式文件系统(HDFS),datanode心跳发送到nameNode的地址。

zhoushimiao1990的博客 2923

[VisionPro] CogPMAlignTool 工具详解

[VisionPro] [CogPMAlignTool] [模板匹配]

weixin_43163656的博客 1万+

【软件介绍】RVC本地部署使用方法

【摘要】RVC是一款功能强大的开源语音转换工具,具有实时处理、多音效选择、高质量音频处理等特点。文章详细介绍了RVC的安装与使用方法:1)配置Python环境;2)根据电脑系统选择对应安装包解压;3)启动程序进入浏览器操作界面。重点讲解了声音克隆的关键步骤:建议使用短音频素材,选择合适训练方法(推荐pm或rmvpe),设置100次训练轮数,生成的模型文件存入weights文件夹。最后通过上传音频即可实现声音克隆。操作过程需注意保持程序运行状态,并提供了相关资源下载地址。

心动的那一刻,记忆便盛开了花 2979

《Hadoop》之"踽踽独行"(十)快速搭建一个Hadoop完全分布式集群

截止到今天,我已经在博客中给大家介绍了hadoop的本地模式、伪分布式搭建,并且在《Hadoop》之"踽踽独行"(四)中也总结了在CentOS6.5平台上搭建的hadoop2.7.3集群的步骤。在那篇文章中,会涉及到一些原理,比如节点之间的SSH无密码登录,时间同步,防火墙设置以及在多节点之间的文件传输等等。当然,那样的集群搭建很适合理解搭建原理。 现在呢,hadoop集群的搭建原理,我们也知道...

从明老师的博客 1106

kali破解wifi之airmon-ng 工具利用

......

qq_42378173的博客 1万+

《Hadoop》之"踽踽独行"(八)Hadoop集群的启动脚本整理及守护线程源码

在上一章的伪分布式集群搭建中,我们使用start-dfs.sh脚本启动了集群环境,并且上传了一个文件到HDFS上,还使用了mapreduce程序对HDFS上的这个文件进行了单词统计。今天我们就来简单了解一下启动脚本的相关内容和HDFS的一些重要的默认配置属性。 一、启动脚本 hadoop的脚本/指令目录,就两个,一个是bin/,一个是sbin/。现在,就来看看几个比较重要的脚本/指令。 1、...

从明老师的博客 2163

前端开发 - 完美解决video.js和flv.js视频同时播放数量限制的问题,即浏览器针对同一域名的请求限制问题(解决flv.js/video.js在页面播放最多不超过6个问题、浏览器并发请求限制数

flv.js,video.js,vue,reactive,uniapp,前端开发,flv视频同时播放有限制怎么办,浏览器限制多个视频同时播放怎么办,使用flv.js在前端播放,最多只能播放6个视频,突破浏览器域名并发限制,如何解决flvjs与videojs视频播放同时播放数量限制,video.js 一个页面同时播放多个视频的实例代码,解决网页视频最大只能播放6路的问题,浏览器只能播放6路http-flv流的解决方法,一个浏览器播放5个或者6个flv的视频就不能播放了,video.js 无法在页面同时播放多个

✅ 精选推荐文章 4995

我的GIT练习ONE

Git 是一个分布式版本控制及源代码管理工具;Git 可以为你的项目保存若干快照,以此来对整个项目进行版本管理每一次的练习,都是对自身知识的巩固,以及对自身知识的一个测试。

是个非常热爱生活、乐观、奋斗、努力的逗比青年 8871

《Hadoop》之"踽踽独行"(七)Hadoop的伪分布式集群搭建

在上一章我给大家介绍了Hadoop的单节点集群本地模式的搭建,在这一章中,我们来了解一下Hadoop伪分布式集群的搭建与用途。 一、Hadoop伪分布式集群(pseudo distributed cluster) 1、简介 hadoop的pseudo distributed cluster(伪分布式集群),就是在一台主机上模拟多个主机。即hadoop的守护程序在本地计算机(这个指的是Linu...

从明老师的博客 822

42、使用mmrotate中k3det进行旋转目标检测,并进行mnn部署和ncnn部署

基本思想:仍然是身份证分割,并进行ncnn和mnn的c++的部署开发

sxj731533730 5711

《Hadoop》之"踽踽独行"(六)Hadoop的单节点集群设置

在《Hadoop》之"踽踽独行"(五)这一篇中,我们对Hadoop进行了简单的概述。接下来,我们就来了解一下Hadoop集群的安装。而Hadoop的安装模式有以下三种,我们一一来了解一下 单节点上的本地模式(独立模式) :Local(Standalone)Mode 单节点的伪分布模式:Pseudo-Distributed Mode 多节点的安全分布式集群模式:Fully-Distribute...

从明老师的博客 527

基于 YOLOv26 的金属表面缺陷检测系统:智能视觉质检方案

摘要: 基于YOLOv26的金属表面缺陷检测系统采用深度学习技术,实现对划痕、裂纹、腐蚀等8类常见缺陷的自动化检测。系统通过数据增强预处理和YOLOv26模型的高精度识别能力,具备多类别分类、实时推理和强鲁棒性特点,适用于不同金属材质与光照条件。架构包含数据采集、预处理、YOLOv26检测和后处理模块,代码实现采用PyTorch框架,支持训练数据增强与标准化处理,为工业质检提供高效智能解决方案。

一键难忘的博客 589

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

《Hadoop》之"踽踽独行"(四)CentOS 6.5搭建hadoop2.7.3集群环境

在VMware虚拟软件中,我们要如何模拟hadoop集群搭建呢?我来整理一下思路,希望对大家有所帮助!! 1.        安装centos6.5主机 2.        关闭防火墙和selinux 3.        配置网络 4.        时间同步 5.        ssh无密码登录设置 6.        安装jdk 7.        安装hadoop 8.        启...

从明老师的博客 3028

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

《Hadoop》之"踽踽独行"(三)物联网概述

在上一章《Hadoop》之“踽踽独行”(二)中,我们介绍了云计算的相关概念,在这一章里,我们来介绍一下物联网的概念,及其大数据,云计算和物联网三者的区别与联系。 一、物联网 1、物联网的概念 物联网是物物相连的互联网,是互联网的延伸,它利用局部网络或互联网等通信技术把传感器、控制器、机器、人员和物等通过新的方式连在一起,形成人与物、物与物相连,实现信息化和远程管理控制。 从技术架构上来看,...

从明老师的博客 8228

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

《Hadoop》之"踽踽独行"(五)Hadoop简介及其Hadoop生态系统

一、Hadoop出现的原因 现在的我们,生活在数据大爆炸的年代。国际数据公司已经预测在2020年,全球的数据总量将达到44ZB,经过单位换算后,至少在440亿TB以上,也就是说,全球每人一块1TB的硬盘都存储不下。 一些数据集的大小更远远超过了1TB,也就是说,数据的存储是一个要解决的问题。同时,硬盘技术也面临一个技术瓶颈,就是硬盘的传输速度(读数据的速度)的提升远远低于硬盘容量的提升。我们看...

从明老师的博客 962

《Hadoop》之"踽踽独行"(二)云计算概述

在《Hadoop》之“踽踽独行”(一)大数据概述的那一章中,我们对大数据的相关概念做了详细的解说。而云计算、物联网与大数据代表了IT领域最新的技术发展趋势,三者相辅相成,既有联系又有区别。为了更好地理解三者之间的紧密关系,下面也简要介绍云计算(物联网的概念的在下一章介绍)。 1、云计算概念 云是网络、互联网的一种比喻说法。过去在图像中往往用云来表示电信网,后来也用来表示互联网和底层基础设施的抽...

从明老师的博客 722

《Hadoop》"呶呶不休"(五)Windows10下的Eclipse搭建Hadoop2.7.3开发环境

在这一章里,我们来学习如何在Windows操作系统下,搭建Hadoop2.7.3集群的Eclipse开发环境。 一、准备工作 1、安装Hadoop2.7.3集群 我们使用VMware工具安装多台Linux系统,然后在Linux系统上搭建我们所需要的Hadoop2.7.3完全分布式集群。具体步骤可以参考我写的《Hadoop》之"踽踽独行"(十)快速搭建一个Hadoop完全分布式集群或者是另一篇...

从明老师的博客 754

《Hadoop》之"踽踽独行"(一)大数据概述

一、大数据时代 大数据时代的悄然来临,让信息技术的发展发生了巨大变化,并深刻影响着社会生产和人民生活的方方面面。每个国家都高度重视大数据技术的研究和产业发展,纷纷把大数据上升为国家战略加以重点推进。企业和教育机构也纷纷加大技术,资金和人员投入力度,以期在“第三次信息化浪潮”中占得先机,引领市场。 1、三次信息化浪潮 第一次信息化浪潮 1980年前后,个人计算机的普及,使得计算机走入企业和...

从明老师的博客 2990

SDCC 2017优秀专题线上展第一站:大数据技术实战峰会首解密

SDCC始创于2007年,十年长空,历久弥新——2016年,SDCC已分别在上海、深圳、成都、杭州、北京五地举办系列峰会,广受当地开发者欢迎。其中,北京作为年度收官之作,聚焦最前沿技术成果,汇聚年度最强实践案例,为中国软件开发者们呈献了一份年度技术实战解析全景图。 精彩从未止步,就在3月19日,为期三日的SDCC 2017首站于上海圆满收官(PPT下载),以绝对干货的技术分享赢得...

博客 825

Hadoop配置文件详解

Hadoop配置文件详解

黑伴白的博客 7232

Hadoop各个配置文件的作用

core-site.xml  其中 fs.defaultFS 配置的地址就是java代码访问的时候的路径,需要配置在java代码中代码中要用IP:9000不能用localhost &lt;configuration&gt; &lt;property&gt; &lt;!-- 这个属性用来指定namenode的hdfs协议的文件系统通信地址,可以指定一个主机+端...

lockie的博客 6935

hadoop-fs.defaultFS

在java代码中配置hadoop需要调用 conf.set方法。此方法中要求传入name和value //源码 public void set(String name, String value) { set(name, value, null); } //配置代码 Configuration conf = new Configuration(); conf.set("fs:defaultFS","hdfs://node01:8020"); 此name和value实际上在 core-s.

a3125504x的博客 8567

Hadoop webHDFS设置和使用说明

1.配置 namenode的hdfs-site.xml是必须将dfs.webhdfs.enabled属性设置为true,否则就不能使用webhdfs的LISTSTATUS、LISTFILESTATUS等需要列出文件、文件夹状态的命令,因为这些信息都是由namenode来保存的。 在namenode和一台datanode中向/etc/hadoop/conf/hdfs-site.xml中添

专注于互联网架构技术,努力成为一名架构师 2万+
上一篇: 《Hadoop》之"踽踽独行"(八)Hadoop集群的启动脚本整理及守护线程源码
下一篇: 《Hadoop》之"踽踽独行"(十)快速搭建一个Hadoop完全分布式集群
从明老师
博客等级 码龄8年 263粉丝 57原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值