Hadoop配置文件详解

Hadoop有多个配置文件,这里列举最重要的几个,都在$HADOOP_HOME/etc/hadoop目录下。配置目录可以被重新安置在文件系统的其他地方($HADOOP_HOME的外面,以便于升级),只要启动守护进程时使用--config选项(或等价的,使用HADOOP_CONF_DIR环境变量集)说明这个目录在本地文件系统的位置就可以了。

文件名称 格式 描述
hadoop-env.sh Bash脚本
脚本中要用到的环境变量,以运行Hadoop
mapred-env.sh Bash脚本
脚本中要用到的环境变量,以运行MapReduce(覆盖hadoop-env.sh中设置的变量)
yarn-env.sh Bash脚本
脚本中要用到的环境变量,以运行YARN(覆盖hadoop-env.sh中设置的变量)
core-site.xml Hadoop配置XML
Hadoop Core的配置项,例如HDFS、MapReduce和YARN常用的I/O设置等
hdfs-site.xml Hadoop配置XML
Hadoop守护进程的配置项,包括namenode、辅助namenode和datanode等
mapred-site.xml Hadoop配置XML
MapReduce守护进程的配置项,包括作业历史服务器
yarn-site.xml Hadoop配置XML
YARN守护进程的配置项,包括资源管理器、web应用代理服务器和节点管理器
slaves 纯文本
运行datanode和节点管理器的机器列表(每行一个)
hadoop-metrics2.properties Java属性
控制如何在Hadoop上发布度量的属性
log4j.properties Java属性
系统日志文件、namenode审计日志、任务JVM进程的任务日志的属性
hadoop-policy.xml Hadoop配置XML
安全模式下运行Hadoop时的访问控制列表的配置项

1、hadoop-env.sh

属性 含义
JAVA_HOME
需要设置Hadoop系统的Java安装的位置。方法一是在hadoop-env.sh文件中设置JAVA_HOME项;方法二是在shell中设置JAVA_HOME环境变量。相比之下,方法一更好,因为只需操作一次就能够保证整个集群使用同一版本的Java。
HADOOP_HEAPSIZE
为各个守护进程分配的内存,单位为MB,如果不设置默认值是1000。
HADOOP_LOG_DIR
系统日志文件存放目录,默认在$HADOOP_HOME/logs。建议修改默认设置,使之独立于Hadoop的安装目录,这样即使Hadoop升级之后安装路径发生变化,也不会影响日志文件的位置。
HADOOP_SSH_OPTS
设置SSH选项。

2、mapred-env.sh

属性 含义

3、yarn-env.sh

属性 含义

4、core-site.xml

Hadoop Core的配置项,例如HDFS、MapReduce和YARN常用的I/O设置等。

属性 含义
fs.defaultFS
描述集群中NameNode节点的URI(包括协议、主机名称、端口号),其主机是NameNode的主机名称或IP地址,端口是NameNode监听RPC的端口,如果没有指定,默认是8020。集群里面的每一台机器都需要知道NameNode的地址,DataNode会先在NameNode上注册,这样它们的数据才可以被使用。独立的客户端程序通过这个URI跟DataNode交互,以取得文件的块列表。
样例:hdfs://master:9000

5、hdfs-site.xml

属性 含义
dfs.namenode.name.dir
以逗号分隔的目录名称,是NameNode存储永久性的元数据的目录列表。NameNode在列表上的各个目录中均存放相同的元数据文件。
例如:file:/data/hadoop/dfs/name
dfs.datanode.data.dir
以逗号分隔的目录名称,是DataNode存放数据块的目录列表。各个数据块分别存放在某一个目录中。
例如:file:/data/hadoop/dfs/data
dfs.namenode.checkpoint.dir
以逗号分隔的目录名称,是辅助NameNode存放检查点的目录列表。在所列每个目录中均存放一份检查点文件的副本。

6、mapred-site.xml

属性 含义

7、yarn-site.xml

属性 含义
yarn.resourcemanager.hostname
运行资源管理器的机器主机名,默认值为0.0.0.0。
例如:10.200.4.117
yarn.resourcemanager.address
运行资源管理器的PRC服务器的主机名和端口。
例如:10.200.4.117:8032
yarn.nodemanager.local-dirs
逗号分隔的目录名称,是YARN容器本地临时存储空间。当应用结束时,数据被清除。最好将这些目录分散到所有本地磁盘,以提升磁盘I/O操作的效率。通常情况下,YARN本地存储会使用与DataNode数据块存储相同的磁盘和分区(但是不同的目录)。
yarn.nodemanager.aux-services
逗号分隔的服务名称,是节点管理器运行的附加服务列表。每项服务由属性yarn.nodemanager.auxservices.servicename.class所定义的类实现。默认情况下,不指定附加服务。
yarn.nodemanager.resource.memorymb
节点管理器运行的容器可以分配到的物理内存容量(单位是MB)。默认值是8192。
yarn.nodemanager.vmem-pmem-ratio
容器所占的虚拟内存和物理内存之比。该值指示了虚拟内存的使用可以超过所分配内存的量。默认值是2.1。
yarn.nodemanager.resource.cpuvcores
节点管理器运行的容器可以分配到的CPU核数目。

8、slaves

属性 含义

9、hadoop-metrics2.properties

属性 含义

10、log4j.properties

属性 含义

11、hadoop-policy.xml

属性 含义

你可能感兴趣的:(hadoop)