文章目录
一、etc/hadoop/core-site.xml
参数 | value | 描述 |
---|---|---|
fs.defaultFS | 名称节点 URI | hdfs://host:port 主机:端口 |
io.file.buffer.size | 131072 | 序列文件中使用的读/写缓冲区的大小。 |
二、etc/hadoop/hdfs-site.xml
1、NameNode的配置:
参数 | value | 描述 |
---|---|---|
dfs.namenode.name.dir | 本地文件系统上的路径,其中 NameNode 永久存储命名空间和事务日志。 | 如果这是以逗号分隔的目录列表,则在所有目录中复制名称表,以实现冗余。 |
dfs.hosts / dfs.hosts.exclude | 允许/排除的数据节点列表。 | 如有必要,请使用这些文件来控制允许的数据节点列表。 |
dfs.blocksize | 268435456 | HDFS 块大小为 256MB,适用于大型文件系统。 |
dfs.namenode.handler.count | 100 | 更多 NameNode 服务器线程来处理来自大量 DataNode 的 RPC。 |
2、DataNode的配置:
参数 | value | 描述 |
---|---|---|
dfs.datanode.data.dir | DataNode 的本地文件系统上以逗号分隔的路径列表,它应该在其中存储其块。 | 如果这是以逗号分隔的目录列表,则数据将存储在所有命名目录中,通常存储在不同的设备上。 |
三、etc/hadoop/yarn-site.xml
1、ResourceManager 和 NodeManager 的配置:
参数 | value | 描述 |
---|---|---|
yarn.acl.enable | true/false | 是否启用 ACL?默认为false。 |
yarn.admin.acl | 管理员 ACL | ACL 用于在群集上设置管理员。ACL 适用于逗号分隔用户空间逗号分隔组。默认为 * 的特殊值**,**这意味着任何人。空间的特殊价值意味着没有人可以进入。 |
yarn.log-aggregation-enable | false | 启用或禁用日志聚合的配置 |
2、ResourceManager的配置:
参数 | value | 描述 |
---|---|---|
yarn.resourcemanager.address | ResourceManager 主机:端口,供客户端提交作业。 | host:port(主机:端口)如果已设置,则覆盖 |
yarn.resourcemanager.scheduler.address | ResourceManager host:port,供 ApplicationMasters 与 Scheduler 通信以获取资源。 | host:port(主机:端口)如果已设置,则覆盖yarn.resourcemanager.hostname 中设置的主机名 。 |
yarn.resourcemanager.resource-tracker.address | ResourceManager host:nodeManagers 的 port。 | host:port(主机:端口)如果已设置,则覆盖yarn.resourcemanager.hostname 中设置的主机名 。 |
yarn.resourcemanager.admin.address | ResourceManager 主机:用于管理命令的端口。 | host:port(主机:端口)如果已设置,则覆盖yarn.resourcemanager.hostname 中设置的主机名 。 |
yarn.resourcemanager.webapp.address | ResourceManager web-ui host:port. | host:port(主机:端口)如果已设置,则覆盖yarn.resourcemanager.hostname 中设置的主机名 。 |
yarn.resourcemanager.hostname | ResourceManager 主机。 | host可以设置单个主机名来代替设置所有yarn.resourcemanager*地址 资源。结果为资源管理器组件生成默认端口。 |
yarn.resourcemanager.scheduler.class | ResourceManager 调度程序类。 | CapacityScheduler( 推荐),FairScheduler( 也推荐)或FifoScheduler。 使用完全限定的类名,例如org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler 。 |
yarn.scheduler.minimum-allocation-mb | 在ResourceManager 中分配给每个容器请求的最小内存限制。 | 以 MB 为单位 |
yarn.scheduler.maximum-allocation-mb | 在ResourceManager 中分配给每个容器请求的最大内存限制。 | 以 MB 为单位 |
yarn.resourcemanager.nodes.include-path / yarn.resourcemanager.nodes.exclude-path | 允许/排除的节点管理器列表。 | 如有必要,请使用这些文件来控制允许的节点管理器列表。 |
3、NodeManager 的配置:
参数 | value | 描述 |
---|---|---|
yarn.nodemanager.resource.memory-mb | 资源,即给定NodeManager的可用物理内存,以 MB 为单位 | 定义NodeManager上可供正在运行的容器使用的总可用资源 |
yarn.nodemanager.vmem-pmem-ratio | 任务的虚拟内存使用率可能超过物理内存的最大比率 | 每个任务的虚拟内存使用率可能会超过其物理内存限制。节点管理器上的任务使用的虚拟内存总量可能会超过其物理内存使用率。 |
yarn.nodemanager.local-dirs | 写入中间数据的本地文件系统上以逗号分隔的路径列表。 | 多个路径有助于传播磁盘 I/O。 |
yarn.nodemanager.log-dirs | 写入日志的本地文件系统上以逗号分隔的路径列表。 | 多个路径有助于传播磁盘 I/O。 |
yarn.nodemanager.log.retain-seconds | 10800 | 在 NodeManager 上保留日志文件的默认时间(以秒为单位) 仅在禁用日志聚合时适用。 |
yarn.nodemanager.remote-app-log-dir | logs | HDFS 目录,应用程序日志在应用程序完成时在其中移动。需要设置适当的权限。仅当启用了日志聚合时才适用。 |
yarn.nodemanager.remote-app-log-dir-sendix | logs | 远程日志目录的后缀。日志将聚合到 y a r n . n o d e m a n a g e r . r e m o t e − a p p − l o g − d i r / {yarn.nodemanager.remote-app-log-dir}/ yarn.nodemanager.remote−app−log−dir/{user}/${thisParam} 仅当启用了 log-aggregation 时才适用。 |
yarn.nodemanager.aux-services | mapreduce_shuffle | 需要为 Map Reduce 应用程序设置的随机播放服务。 |
yarn.nodemanager.env-whitelist | 容器从 NodeManagers 继承的环境属性 | 对于 mapreduce 应用程序,除了默认值之外,还应添加HADOOP_MAPRED_HOME。依赖资源JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME |
4、History Server的配置(需要移动到其他位置):
参数 | value | 描述 |
---|---|---|
yarn.log-aggregation.retain-seconds | -1 | 在删除聚合日志之前,要保留它们多长时间。-1 禁用。请注意,将其设置得太小,您将向名称节点发送垃圾邮件。 |
yarn.log-aggregation.retain-check-interval-seconds | -1 | 检查聚合日志保留期之间的时间。如果设置为 0 或负值,则该值将计算为聚合日志保留时间的十分之一。请注意,将其设置得太小,您将向名称节点发送垃圾邮件。 |
四、etc/hadoop/mapred-site.xml
1、MapReduce 应用程序的配置:
参数 | value | 描述 |
---|---|---|
mapreduce.framework.name | yarn | 执行框架设置为Hadoop YARN。 |
mapreduce.map.memory.mb | 1536 | 地图的资源限制更大。 |
mapreduce.map.java.opts | 1024M | 映射的子 jvm 的堆大小更大。 |
mapreduce.reduce.memory.mb | 3072 | 更大的资源限制以减少。 |
mapreduce.reduce.java.opts | 2560M | 对于 reduce 的子 jvms,堆大小更大。 |
mapreduce.task.io.sort.mb | 512 | 更高的内存限制,同时对数据进行排序以提高效率。 |
mapreduce.task.io.sort.factor | 100 | 对文件进行排序时,一次合并了更多流。 |
mapreduce.reduce.shuffle.parallelcopies | 50 | reduce 运行的并行副本数越多,即可从大量地图中获取输出。 |
2、MapReduce JobHistory Server 的配置:
参数 | value | 描述 |
---|---|---|
mapreduce.jobhistory.address | 地图还原作业历史服务器host:port(主机:端口) | 默认端口为 10020。 |
mapreduce.jobhistory.webapp.address | MapReduce的JobHistory Server 网络地址host:port | 默认端口为 19888。 |
mapreduce.jobhistory.intermediate-done-dir | /mr-history/tmp | 由 MapReduce 作业写入历史文件的目录。 |
mapreduce.jobhistory.done-dir | /mr-history/done | 历史记录文件由 MR 作业历史记录服务器管理的目录。 |
五、etc/hadoop/yarn-site.xml
参数 | value | 描述 |
---|---|---|
yarn.nodemanager.health-checker.script.path | 节点运行状况脚本 | 用于检查节点运行状况的脚本。 |
yarn.nodemanager.health-checker.script.opts | 节点运行状况脚本选项 | 用于检查节点运行状况的脚本选项。 |
yarn.nodemanager.health-checker.interval-ms | 节点运行状况脚本间隔 | 运行运行状况脚本的时间间隔。 |
yarn.nodemanager.health-checker.script.timeout-ms | 节点运行状况脚本超时间隔 | 运行状况脚本执行超时。 |