1、Hadoop配置文件
文件名称 | 格式 | 描述 |
---|
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时访问控制列表的配置项 |
2、HDFS守护进程的关键属性
配置文件名 | 属性名称 | 类型 | 默认值 | 说明 |
---|
core-site.xml | fs.defaultFS | URL | file:/// | 默认文件系统,URL定义主机名称和namenode的RPC服务器工作端口号,默认值是8020 |
hdfs-site.xml | dfs.namenode.name.dir | 以逗号分割的目录名称 | file://${hadoop.tmp.dir}/dfs/name | namenode存储永久性的元数据的目录列表。namenode在列表上的各个目录中均存放相同的元数据文件 |
hdfs-site.xml | dfs.datanode.data.dir | 以逗号分割的目录名称 | file://${hadoop.tmp.dir}/dfs/data | datanode存放数据块的目录列表,各个数据块分别存放于某一个目录中 |
hdfs-site.xml | dfs.namenode.checkpoint.dir | 以逗号分割的目录名称 | file://${hadoop.tmp.dir}/dfs/namesecondary | 辅助namenode存放检查点的目录列表。在所列每个目录中均匀存放一份检查点文件的副本 |
3、YARN守护进程的关键属性
配置文件名 | 属性名称 | 类型 | 默认值 | 说明 |
---|
yarn-site.xml | yarn.resourcemanager.hostname | 主机名 | 0.0.0.0 | 运行资源管理器的机器主机名。一下缩写为${y.rm.hostname} |
yarn-site.xml | yarn.resourcemanager.address | 主机名和端口号 | ${y.rm.hostname}:8032 | 运行资源管理器的RPC服务器的主机名和端口 |
yarn-site.xml | yarn.nodemanager.local-dirs | 逗号分割的目录名称 | ${hadoop.tmp.dir}/nm-local-dir | 目录列表,节点管理器允许容器将中间数据存于其中。当应用结束时,数据被清除 |
yarn-site.xml | yarn.nodemanager.aux-services | 逗号分割的目录名称 | | 节点管理器允行的附加服务列表,每项服务由属性yarn.nodemanager.auxservices.servicename.class所定义的类实现。默认情况下,不指定附加服务 |
yarn-site.xml | yarn.nodemanager.resource.memorymb | int | 8192 | 节点管理器运行的容器可以分配到的物理内存容量(单位是MB) |
yarn-site.xml | yarn.nodemanager.vmem-pmem-ratio | float | 2.1 | 容器所占的虚拟内存和物理内存之比。该值指示了虚拟内存的使用可以超过所分配内存的量 |
yarn-site.xml | yarn.nodemanager.cpuvcores | int | 8 | 节点管理器运行的容器可以分配到CPU核数目 |
4、MapReduce作业内存属性(由客户端设置)
属性名称 | 类型 | 默认值 | 说明 |
---|
mapreduce.map.memory.mb | int | 1024 | map容器所用的内存容量 |
mapreduce.reduce.memory.mb | int | 1024 | reduce容器所用的内存容量 |
mapred.child.java.opts | String | -Xmx200m | JVM选项,用于启动运行map和reduce任务的容器进程。除了用于设置内存,该属性还包括JVM属性设置,以支持调试 |
mapreduce.map.java.opts | String | -Xmx200m | JVM选项,针对运行map任务的子进程 |
mapreduce.reduce.java.opts | string | -Xmx200m | JVM选项,针对运行reduce任务的子进程 |
注:
YARN调度器会指定一个最小和最大内存分配量。默认情况下,最小内存分配量是1024MB(由yarn.scheduler.minimum-allocation-mb设置),默认情况下,最大内存分配量是8192MB(由yarn.scheduler.maximum-allocation-mb设置)
容器还需要满足对虚拟内存的限制。如果容器所使用的虚拟内存超出预定系数和所分配的物理内存的乘积,则节点管理器也会终止进程。
5、Hadoop守护进程的地址和端口
a、RPC服务器的属性
属性名称 | 默认值 | 说明 |
---|
fs.defaultFS | file:/// | 设为一个HDFS的URL时,该属性描述namenode的RPC服务器地址和端口。如何不指定,则默认端口号是8020 |
dfs.namenode.rpc-bind-host | | namenode的RPC服务器将绑定的地址。如果没有设置(默认情况),绑定地址由fs.defaultFS决定。可以设为0.0.0.0,使得namenode可以监听所有接口 |
dfs.datanode.ipc.address | 0.0.0.0:50020 | datanode的RPC服务器地址和端口 |
apreduce.jobhistory.address | 0.0.0.0:10020 | 作业历史服务器的RPC服务器地址和端口,客户端(一般在集群外部)用于查询作业历史 |
mapreduce.jobhistory.bind-host | | 作业历史服务器的RPC和HTTP服务器将绑定的地址 |
yarn.resourcemanager.hostname | 0.0.0.0 | 资源管理器运行所在的机器主机名。以下缩写为${y.rm.hostname} |
yarn.resourcemanager.bind-host | | 资源管理器的RPC和HTTP服务器将绑定的地址 |
yarn.resourcemanager.address | ${y.rm.hostname}:8032 | 资源管理器的RPC服务器地址和端口。客户端(一般在集群外部)通过它与资源管理器通信 |
yarn.resourcemanager.admin.address | ${y.rm.hostname}:8033 | 资源管理器的admin RPC服务器地址和端口。admin客户端(由yarnrmadmin调用,一般在集群外部)借此与资源管理器通信 |
yarn.resourcemanager.scheduler.address | ${y.rm.hostname}:8030 | 资源管理器的调度器RPC服务器地址和端口。application master(在集群内)借此与资源管理器通信 |
yarn.resourcemanager.resourcetracker.address | ${y.rm.hostname}:8031 | 资源管理器的resource tracker的RPC服务器地址和端口。节点管理器(在集群内部)借此与资源管理器通信 |
yarn.nodemanager.hostname | 0.0.0.0 | 节点管理器运行所在的机器的主机名。以下缩写为${y.nm.hostname} |
yarn.nodemanager.bind-host | | 节点管理器的RPC和HTTP服务器将绑定的地址 |
yarn.nodemanager.address | ${y.rm.hostname}:0 | 节点管理器的RPC服务器地址和端口。application master(在机器内部)借此与节点管理器通信 |
yarn.nodemanager.localizer.address | ${y.rm.hostname}:8040 | 节点管理器的localizer的RPC服务器地址和端口 |
b、HTTP服务器的属性
属性名称 | 默认值 | 说明 |
---|
dfs.namenode.http-address | 0.0.0.0:50070 | namenode的HTTP服务器地址和端口 |
dfs.namenode.http-bind-host | | namenode的HTTP服务器将绑定的地址 |
dfs.namenode.secondary.http-address | 0.0.0.0:50090 | 辅助namenode的HTTP服务器地址和端口 |
dfs.datanode.http.address | 0.0.0.0:50075 | datanode的HTTP服务器地址和端口。注意,属性名和namenode的属性名不一样 |
mapreduce.jobhistory.webapp.address | 0.0.0.0:19888 | MapReduce作业历史服务器地址和端口,该属性在mapred-site.xml文件中设置 |
mapreduce.shuffle.port | 13562 | Shuffle句柄的HTTP端口号。为map输出结果服务,但不是用户可访问的Web UI。该属性在mapred-site.xml文件中设置 |
yarn.resourcemanager.webapp.address | ${y.rm.hostname}:8088 | 资源管理器的HTTP服务器地址和端口 |
yarn.nodemanager.webapp.address | ${y.rm.hostname}:8042 | 节点管理器的HTTP服务器地址和端口 |
yarn.web-proxy.address | | Web应用代理服务器的HTTP服务器地址和端口。如果该属性没有设置(默认情况),Web应用代理服务器将在资源管理器进程中运行 |