通过了解hadoop各配置文件的含义,帮助理解job提交到yarn集群失败时的相关排查、以及job提交时相关配置参考。


文章目录

  • 一、(只读)默认配置文件
  • 二、可配置文件
  • 1. core-site.xml
  • 2. hdfs-site.xml
  • 3. yarn-site.xml
  • 4. mapred-site.xml


Hadoop 配置文件分两类:默认配置文件和可配置文件,一般可配置文件生效的优先级大于默认的配置文件。

一、(只读)默认配置文件

默认的配置文件存放在 Hadoop 的 jar 包中的位置

[core-default.xml]        hadoop-common-3.1.3.jar/core-default.xml
[hdfs-default.xml]        hadoop-hdfs-3.1.3.jar/hdfs-default.xml
[yarn-default.xml]        hadoop-yarn-common-3.1.3.jar/yarn-default.xml
[mapred-default.xml]      hadoop-mapreduce-client-core-3.1.3.jar/mapred-default.xml

 

二、可配置文件

hadoop-env.sh 、 core-site.xml、hdfs-site.xml 、yarn-site.xml、mapred-site.xml主要的五个配置文件存放在$HADOOP_HOME/etc/hadoop这个路径上,用户可以根据项目需求重新进行修改配置。

配置

说明

hadoop-env.sh

定义hadoop运行环境的相关配置,比如:JAVA_HOME环境变量、hadoop的JVM指定特定的选项、指定日志文件所在的目录路径、master和slave文件的位置等.

core-site.xml

定义系统级别的参数,如HDFS URL、Hadoop的临时目录、用于rack-aware集群中的配置文件的配置等。优先级高于core-default.xml。

hdfs-site.xml

HDFS的相关设定,如文件副本的个数、块大小及是否使用强制权限等。优先级高于hdfs-default.xml。

yarn-site.xml

Yarn的相关配置

mapred-site.xml

如reduce任务的默认个数、任务所能够使用内存的默认上下限等;优先级高于mapred-default.xml

注意:Hadoop2.x和Hadoop3.x的自定义配置文件有一些改变
Hadoop2.x:core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml、slaves
Hadoop3.x:core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml、workers

1. core-site.xml

核心全局配置文件

配置

说明

hadoop.tmp.dir



例子:/usr/local/data/hadoop/tmp



fs.defaultFS


例子:hdfs://hadoop-alone:9000


io.file.buffer.size


例子:4096


ha.zookeeper.quorum


hadoop1:2181,hadoop2:2181,hadoop3:2181


 

2. hdfs-site.xml

配置

说明

dfs.replication

副本数量。例子:3

dfs.blocksize

块大小。例子:268435456

dfs.namenode.name.dir


例子:file://${hadoop.tmp.dir}/dfs/name


dfs.datanode.data.dir


例子:file://${hadoop.tmp.dir}/dfs/data


dfs.namenode.http-address

nn服务器server;0.0.0.0:50070

dfs.namenode.secondary.http-address

snn服务器server;0.0.0.0:50090

dfs.permissions

false

dfs.permissions.enabled

false

dfs.nameservices


例子:hadoop-cluster1


 

3. yarn-site.xml

配置

说明

yarn.resourcemanager.hostname

RM的hostname

yarn.resourcemanager.address


${yarn.resourcemanager.hostname}:8032


yarn.resourcemanager.scheduler.address


${yarn.resourcemanager.hostname}:8030


yarn.resourcemanager.webapp.address


${yarn.resourcemanager.hostname}:8088


yarn.resourcemanager.webapp.https.address


${yarn.resourcemanager.hostname}:8090


yarn.resourcemanager.resource-tracker.address


${yarn.resourcemanager.hostname}:8031


yarn.scheduler.minimum-allocation-mb

可申请的最少内存资源,以MB为单位;例子:1024

yarn.scheduler.maximum-allocation-mb

可申请的最大内存资源,以MB为单位;例子:8192

yarn.nodemanager.resource.memory-mb

NM总的可用物理内存,以MB为单位。一旦设置,不可动态修改;例子:8192

yarn.nodemanager.resource.cpu-vcores

可分配的CPU个数;例子:8

yarn.nodemanager.aux-services


例子:mapreduce_shuffle


 

4. mapred-site.xml

配置

说明

mapreduce.framework.name

配置资源调度框架;例子yarn