【Hadoop】yarn-site.xml配置文件详解

🍁 博主 "开着拖拉机回家"带您 Go to New World.✨🍁

🦄 个人主页——🎐开着拖拉机回家_Linux,Java基础学习,大数据运维-CSDN博客 🎐✨🍁

🪁🍁 希望本文能够给您带来一定的帮助🌸文章粗浅,敬请批评指正!🍁🐥

🪁🍁🪁🍁🪁🍁🪁🍁 🪁🍁🪁🍁🪁🍁🪁 🪁🍁🪁🍁🪁🍁🪁🍁🪁🍁🪁🍁

感谢点赞和关注 ,每天进步一点点!加油!

目录

1 版本信息 

2 yarn-site.xml配置详解


1 版本信息 


2 yarn-site.xml配置详解


<--  允许跨域访问的来源,如果有多个,用逗号(,)分隔 -->
    <property>
              <name>hadoop.http.cross-origin.allowed-origins</name>
              <value>*</value>
    </property>

<--  客户端认证方式 kerberos -->

    <property>
      <name>hadoop.registry.client.auth</name>
      <value>kerberos</value>
    </property>
    
<-- 与 DNS 侦听器应绑定到的网络接口关联的地址。 -->
    <property>
              <name>hadoop.registry.dns.bind-address</name>
              <value>0.0.0.0</value>
    </property>
<-- YARN Registry DNS的默认端口53 -->
    <property>
      <name>hadoop.registry.dns.bind-port</name>
      <value>53</value>
      <hidden>true</hidden>
    </property>
<-- YARN 注册DNS开启 -->
    <property>
      <name>hadoop.registry.dns.enabled</name>
      <value>true</value>
    </property>
<-- 区域 IP 范围关联的网络掩码。 如果指定,则用于确定可能的 IP 范围并提供适当的反向区域名称 -->
    <property>
      <name>hadoop.registry.dns.zone-mask</name>
      <value>255.255.255.0</value>
    </property>
<-- 配置ZK -->
    <property>
      <name>hadoop.registry.zk.quorum</name>
      <value>hdp101:2181,hdp102:2181,hdp103:2181</value>
    </property>
<-- 是否启用ACL权限控制 -->
    <property>
      <name>yarn.acl.enable</name>
      <value>false</value>
    </property>
<-- yarn用户是YARN集群管理员的 ACL -->
    <property>
      <name>yarn.admin.acl</name>
      <value>activity_analyzer,yarn</value>
    </property>
<-- 适用于YARN应用程序的CLASSPATH -->
    <property>
      <name>yarn.application.classpath</name>
      <value>$HADOOP_CONF_DIR,/usr/hdp/3.1.4.0-315/hadoop/*,/usr/hdp/3.1.4.0-315/hadoop/lib/*,/usr/hdp/current/hadoop-hdfs-client/*,/usr/hdp/current/hadoop-hdfs-client/lib/*,/usr/hdp/current/hadoop-yarn-client/*,/usr/hdp/current/hadoop-yarn-client/lib/*</value>
    </property>
<-- 定义client连接到nodemanager的最大超时时间 -->
    <property>
      <name>yarn.client.nodemanager-connect.max-wait-ms</name>
      <value>60000</value>
    </property>
<-- 每次尝试连接到NM之间的时间间隔 -->
    <property>
      <name>yarn.client.nodemanager-connect.retry-interval-ms</name>
      <value>10000</value>
    </property>
<--  这会为YARN守护程序配置HTTP端点。支持以下值: - HTTP_ONLY:仅在http上提供服务 - HTTPS_ONLY:仅在https上提供服务 -->
    <property>
      <name>yarn.http.policy</name>
      <value>HTTP_ONLY</value>
    </property>
<-- 是否启用日志聚合。日志聚合收集每个容器的日志,并在应用程序完成后将这些日志移动到文件系统,例如HDFS。用户可以配置“yarn.nodemanager.remote-app-log-dir”和“yarn.nodemanager.remote-app-log-dir-suffix”属性以确定这些日志的移动位置。用户可以通过应用程序时间线服务器访问日志。 -->
    <property>
      <name>yarn.log-aggregation-enable</name>
      <value>true</value>
    </property>
<-- 在删除聚合日志之前保留多长时间。-1禁用。小心设置这个太小,你会浪费 name node 。在删除聚合日志之前保留多长时间。-1禁用。小心设置这个值,你会浪费 NameNode HDP 默认一个月删除一次 -->
    <property>
      <name>yarn.log-aggregation.retain-seconds</name>
      <value>2592000</value>
    </property>
<-- 日志聚合服务器的URL -->
    <property>
      <name>yarn.log.server.url</name>
      <value>http://hdp102:19888/jobhistory/logs</value>
    </property>
<-- 日志聚合服务器WEB服务的URL -->
    <property>
      <name>yarn.log.server.web-service.url</name>
      <value>http://hdp102:8188/ws/v1/applicationhistory</value>
    </property>
<-- 节点标签功能 -->
    <property>
      <name>yarn.node-labels.enabled</name>
      <value>false</value>
    </property>
<-- 用于FileSystem节点标签存储的重试策略。策略由N对休眠时间(以毫秒为单位)和重试次数“s1,n1,s2,n2,...”指定。 -->
    <property>
      <name>yarn.node-labels.fs-store.retry-policy-spec</name>
      <value>2000, 500</value>
    </property>
<-- NodeLabelManager的URI。默认值为本地文件系统中的 /system -->
    <property>
      <name>yarn.node-labels.fs-store.root-dir</name>
      <value>/system/yarn/node-labels</value>
    </property>
<-- NodeManager 中容器管理的地址 -->
    <property>
      <name>yarn.nodemanager.address</name>
      <value>0.0.0.0:45454</value>
    </property>
<-- 从NodeManger 环境转发到容器的环境变量 -->
    <property>
      <name>yarn.nodemanager.admin-env</name>
      <value>MALLOC_ARENA_MAX=$MALLOC_ARENA_MAX</value>
    </property>
<-- 以逗号分割的服务列表 -->
    <property>
      <name>yarn.nodemanager.aux-services</name>
      <value>mapreduce_shuffle,spark2_shuffle,timeline_collector</value>
    </property>
<-- Map Reduce运行需要设置的shuffle服务 -->
    <property>
      <name>yarn.nodemanager.aux-services.mapreduce_shuffle.class</name>
      <value>org.apache.hadoop.mapred.ShuffleHandler</value>
    </property>
<-- NodeManager中辅助服务对应的类 -->
    <property>
      <name>yarn.nodemanager.aux-services.spark2_shuffle.class</name>
      <value>org.apache.spark.network.yarn.YarnShuffleService</value>
    </property>
<-- NodeManager中辅助服务对应的类 -->
    <property>
      <name>yarn.nodemanager.aux-services.spark_shuffle.class</name>
      <value>org.apache.spark.network.yarn.YarnShuffleService</value>
    </property>
<-- 服务器将绑定到的实际地址。如果设置了此可选地址,则RPC和webapp服务器将分别绑定到此地址和yarn.nodemanager.address和yarn.nodemanager.webapp.address中指定的端口。这对于通过设置为0.0.0.0使NM监听所有接口非常有用。 -->
    <property>
      <name>yarn.nodemanager.bind-host</name>
      <value>0.0.0.0</value>
    </property>
<-- 执行容器的 类 -->
    <property>
      <name>yarn.nodemanager.container-executor.class</name>
      <value>org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor</value>
    </property>
<-- 完成后取消注册容器指标的延迟时间 -->
    <property>
      <name>yarn.nodemanager.container-metrics.unregister-delay-ms</name>
      <value>60000</value>
    </property>
<-- 监视容器的频率,默认 3s  -->
    <property>
      <name>yarn.nodemanager.container-monitor.interval-ms</name>
      <value>3000</value>
    </property>
<-- 应用程序在nodemanager的DeletionService删除应用程序的本地化文件目录和日志目录之前完成的秒数。要诊断YARN应用程序问题,请将此属性的值设置得足够大(例如,设置为600 = 10分钟)以允许检查这些目录。更改属性的值后,必须重新启动nodemanager才能使其生效。YARN应用程序工作目录的根目录可以使用yarn.nodemanager.local-dirs属性进行配置(见下文),YARN应用程序日志目录的根目录可以使用yarn.nodemanager.log-dirs 属性进行配置(另请参见下面)。-->
    <property>
      <name>yarn.nodemanager.delete.debug-delay-sec</name>
      <value>0</value>
    </property>
<-- 磁盘空间利用率的最大百分比,在此之后磁盘被标记为坏。值的范围为0.0到100.0。如果该值大于或等于100,则nodemanager将检查是否有完整磁盘。这适用于yarn.nodemanager.local-dirs和yarn.nodemanager.log-dirs。 -->
    <property>
      <name>yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage</name>
      <value>90</value>
    </property>
<-- 磁盘上必须使用的最小空间。这适用于yarn.nodemanager.local-dirs和yarn.nodemanager.log-dirs -->
    <property>
      <name>yarn.nodemanager.disk-health-checker.min-free-space-per-disk-mb</name>
      <value>1000</value>
    </property>
<-- nodemanager启动新容器的最佳磁盘数量的最小比例。这对应于yarn.nodemanager.local-dirs和yarn.nodemanager.log-dirs。
即如果可用的健康local-dirs(或log-dirs)数量较少,则不会在此节点上启动新容器。 -->

    <property>
      <name>yarn.nodemanager.disk-health-checker.min-healthy-disks</name>
      <value>0.25</value>
    </property>
<-- 节点运行状态检查时间间隔 -->
    <property>
      <name>yarn.nodemanager.health-checker.interval-ms</name>
      <value>135000</value>
    </property>
<-- 健康检测脚本运行超时时间,默认为20分钟,运行时间超过该时间则认为不健康 -->
    <property>
      <name>yarn.nodemanager.health-checker.script.timeout-ms</name>
      <value>60000</value>
    </property>
<--     标志确定应用程序是应以严格的资源限制运行,还是允许在需要时使用备用资源。例如,打开标志将限制应用程序仅使用其CPU份额,即使该节点具有备用CPU周期。默认值为false,即使用可用资源。请注意,打开此标志可能会降低群集上的作业吞吐量。 -->
    <property>
      <name>yarn.nodemanager.linux-container-executor.cgroups.strict-resource-usage</name>
      <value>false</value>
    </property>
<-- yarn.nodemanager.linux-container-executor 应用运行的UNIX组 -->
    <property>
      <name>yarn.nodemanager.linux-container-executor.group</name>
      <value>hadoop</value>
    </property>
<-- 决定了LCE在非安全的集群上使用的两种模式的哪一种。 设置为true,则将以yarn.nodemanager.linux-container-executor.nonsecure-mode.local-user中指定的用户启动所有容器 -->
    <property>
      <name>yarn.nodemanager.linux-container-executor.nonsecure-mode.limit-users</name>
      <value>true</value>
    </property>
<-- 存储本地化文件的目录列表 -->
    <property>
      <name>yarn.nodemanager.local-dirs</name>
      <value>/hadoop/yarn/local</value>
    </property>
<-- 用于压缩聚合日志文件的压缩类型 -->
    <property>
      <name>yarn.nodemanager.log-aggregation.compression-type</name>
      <value>gz</value>
    </property>
<-- 每个application进行聚合的日志的最大个数 -->
    <property>
      <name>yarn.nodemanager.log-aggregation.num-log-files-per-app</name>
      <value>30</value>
    </property>
<-- 定义NodeManager 唤醒上载日志文件的频率 ,设置此配置可以在应用程序运行时定期上载日志-->
    <property>
      <name>yarn.nodemanager.log-aggregation.roll-monitoring-interval-seconds</name>
      <value>3600</value>
    </property>
<-- 存储容器日志的地方  -->
    <property>
      <name>yarn.nodemanager.log-dirs</name>
      <value>/hadoop/yarn/log</value>
    </property>
<-- 保留用户日志的时间  -->
    <property>
      <name>yarn.nodemanager.log.retain-seconds</name>
      <value>604800</value>
    </property>
<-- 启用恢复时节点管理器将在其中存储状态的本地文件系统目录  -->
    <property>
      <name>yarn.nodemanager.recovery.dir</name>
      <value>/var/log/hadoop-yarn/nodemanager/recovery-state</value>
    </property>
<-- 启动后启用节点管理器以进行恢复 -->
    <property>
      <name>yarn.nodemanager.recovery.enabled</name>
      <value>true</value>
    </property>
<-- NodeManager 是否在监督下进行,支持恢复并在监督下运行的节点管理器将不会尝试清理清理容器,因为她它会立即重新启动并恢复容器 -->
    <property>
      <name>yarn.nodemanager.recovery.supervised</name>
      <value>true</value>
    </property>
<--  将日志聚合到的位置 HDFS路径 -->
    <property>
      <name>yarn.nodemanager.remote-app-log-dir</name>
      <value>/app-logs</value>
    </property>
<--  远程日志目录前缀  -->
    <property>
      <name>yarn.nodemanager.remote-app-log-dir-suffix</name>
      <value>logs</value>
    </property>
<-- 可以为容器分配的 vcores 数。在为容器分配资源时,RM调度程序使用它。 这不用在限制 YARN容器使用的CPU数量。如果设置为 -1 且 yarn.nodemanager.resource.detect-hardware-capabilites  为 true,则在Windows和 Linux的情况下会自动从硬件确定。在其他情况下,默认情况下,vcores的数量为8  --> 
    <property>
      <name>yarn.nodemanager.resource.cpu-vcores</name>
      <value>6</value>
    </property>
<-- 可以为容器分配的物理内存量(MB)。如果设置为-1且yarn.nodemanager.resource.detect-hardware-capabilities为true,则会自动计算(如果是Windows和Linux)。在其他情况下,默认值为8192MB。  --> 
    <property>
      <name>yarn.nodemanager.resource.memory-mb</name>
      <value>8192</value>
    </property>
<-- 可以为容器分配的CPU百分比。此设置运行用户限制YARN容器使用的CPU数量。目前仅在使用cgroup的Linux上运行。默认是使用100%的CPU。 -->
    <property>
      <name>yarn.nodemanager.resource.percentage-physical-cpu-limit</name>
      <value>80</value>
    </property>
<-- 逗号分隔的使用LinuxContainerExecutor时允许的运行时列表。允许的值是default和docker-->
    <property>
      <name>yarn.nodemanager.runtime.linux.allowed-runtimes</name>
      <value>default,docker</value>
    </property>
<-- 使用DockerContainerRuntime 启动容器时允许的网络集 -->
    <property>
      <name>yarn.nodemanager.runtime.linux.docker.allowed-container-networks</name>
      <value>host,none,bridge</value>
    </property>
<-- 此配置设置确定在启动时分配给docker容器的功能。虽然从docker的角度来看这些可能不区分大小写,但最好保持这些大写。要在没有任何功能的情况下运行,请将此值设置为“none”或“NONE”-->
    <property>
      <name>yarn.nodemanager.runtime.linux.docker.capabilities</name>
      <value>
     CHOWN,DAC_OVERRIDE,FSETID,FOWNER,MKNOD,NET_RAW,SETGID,SETUID,SETFCAP,
      SETPCAP,NET_BIND_SERVICE,SYS_CHROOT,KILL,AUDIT_WRITE</value>
    </property>
<-- 在请求中未指定网络时使用DockerContainerRuntime启动容器时使用的网络。该网络必须是(可配置的)允许的容器网络之一。 -->
    <property>
      <name>yarn.nodemanager.runtime.linux.docker.default-container-network</name>
      <value>host</value>
    </property>
<-- 此配置设置确定允许谁在此群集上运行特权docker容器。请特别小心使用。 -->
    <property>
      <name>yarn.nodemanager.runtime.linux.docker.privileged-containers.acl</name>
      <value></value>
    </property>
<-- 在请求中未指定网络时使用DockerContainerRuntime启动容器时使用的网络。该网络必须是(可配置的)允许的容器网络之一。 -->
    <property>
              <name>yarn.nodemanager.runtime.linux.docker.privileged-containers.allowed</name>
      <value>false</value>
    </property>
<-- 是否将对容器强制实施虚拟内存限制。 -->
    <property>
      <name>yarn.nodemanager.vmem-check-enabled</name>
      <value>false</value>
    </property>
<-- 设置容器的内存限制时虚拟内存与物理内存之间的比率。容器分配以物理内存表示,允许虚拟内存使用量超过此分配。 -->
    <property>
      <name>yarn.nodemanager.vmem-pmem-ratio</name>
      <value>2.1</value>
    </property>
<-- 标记以在NM中启用跨源(CORS)支持。此标志需要将CORS过滤器初始化程序添加到core-site.xml中的过滤器初始化程序列表中。 -->
    <property>
      <name>yarn.nodemanager.webapp.cross-origin.enabled</name>
      <value>true</value>
    </property>
<-- ResourceManager 管理应用程序管理器的界面的地址  -->
    <property>
      <name>yarn.resourcemanager.address</name>
      <value>hdp101:8050</value>
    </property>
<-- RM管理界面的地址 -->
    <property>
              <name>yarn.resourcemanager.admin.address</name>
              <value>hdp101:8141</value>
    </property>
<-- 最大应用程序尝试次数。它是所有应用程序的全局设置,每个应用程序都可以通过API指定其各自的最大应用程序尝试次数,但是单数应用程序的重试次数不能超过全局上限,默认数量设置为2,以允许至少一次重试ApplicationMaster,AM创建重试次数可通过 ResourceManager 日志得知-->
    <property>
              <name>yarn.resourcemanager.am.max-attempts</name>
              <value>2</value>
    </property>
<-- 服务器将绑定到的实际地址 , 0.0.0.0 使RM监听所有接口非常有用 -->
    <property>
      <name>yarn.resourcemanager.bind-host</name>
      <value>0.0.0.0</value>
    </property>
<-- 等待与 ResourceManager 建立连接的最大等待时间 -->
    <property>
              <name>yarn.resourcemanager.connect.max-wait.ms</name>
              <value>900000</value>
    </property>
<-- 多久尝试连接一次 ResourceManager -->
    <property>
              <name>yarn.resourcemanager.connect.retry-interval.ms</name>
              <value>30000</value>
    </property>
<-- 标记以允许将每个用户的应用程序显示为管理员配置 -->
    <property>
              <name>yarn.resourcemanager.display.per-user-apps</name>
              <value>true</value>
    </property>
<-- HDFS客户端重试策略规范 -->
    <property>
              <name>yarn.resourcemanager.fs.state-store.retry-policy-spec</name>
              <value>2000, 500</value>
    </property>

<-- 启用RM高可用性 -->
    <property>
      <name>yarn.resourcemanager.ha.enabled</name>
      <value>true</value>
    </property>

<-- RM逻辑id列表,以逗号分割,比如:rm1,rm2 -->

  <property>
      <name>yarn.resourcemanager.ha.rm-ids</name>
      <value>rm1,rm2</value>
    </property>
<-- RM所在的主机 -->
    <property>
      <name>yarn.resourcemanager.hostname.rm1</name>
      <value>hdp101</value>
    </property>

    <property>
      <name>yarn.resourcemanager.hostname.rm2</name>
      <value>hdp102</value>
    </property>
<-- 是否为队列启用队列内抢占。默认值true -- >
    <property>
      <name>yarn.resourcemanager.monitor.capacity.preemption.intra-queue-preemption.enabled</name>
      <value>true</value>
    </property>
<-- 两次调用该策略之间的时间间隔 -->
    <property>
      <name>yarn.resourcemanager.monitor.capacity.preemption.monitoring_interval</name>
      <value>15000</value>
    </property>
<-- 在为每个队列计算了抢占目标之后,可以应用此因子来减慢资源抢占(例如,“从队列A中退回5 GB”)。例如,如果需要5 GB,则在第一个周期中,抢占将收回1 GB(5 GB的20%),在下一个周期中收回0.8 GB(其余4 GB的20%),在0.64 GB(其余3.2 GB的20%)中抢占。 GB),依此类推。您可以增加此值以加快资源回收。此参数的建议值为1.0,这意味着一个循环中将抢占100%的目标容量。 -->
    <property>
     <name>yarn.resourcemanager.monitor.capacity.preemption.natural_termination_factor</name>
      <value>1</value>
    </property>
<-- 单回合中可抢占的最大资源百分比。您可以使用此值来限制从集群回收Containers的速度。计算完所需的总抢占后,策略会将其重新扩展到此限制。应将其设置为(memory-of-one-NodeManager)/(total-cluster-memory)。例如,如果一个NodeManager拥有32 GB,并且群集总资源为100 GB,则total_preemption_per_round应设置为32/100 = 0.32。默认值为0.1(10%)。我地笔记本每个 NM 512M,yarn的总资源为1525.76M  512/1525.76=0.33 -->
    <property>
      <name>yarn.resourcemanager.monitor.capacity.preemption.total_preemption_per_round</name>
      <value>0.33</value>
    </property>
<-- 要排除的节点文件的路径 -->
    <property>
      <name>yarn.resourcemanager.nodes.exclude-path</name>
      <value>/etc/hadoop/conf/yarn.exclude</value>
    </property>
<-- 直接使用调度器作为处理器 -->
    <property>
      <name>yarn.resourcemanager.placement-constraints.handler</name>
      <value>scheduler</value>
    </property>
<-- 启动后启用RM 恢复状态,如果为true 则必须指定 yarn.resourcemanager. store.class -->
    <property>
      <name>yarn.resourcemanager.recovery.enabled</name>
      <value>true</value>
    </property>

<-- ResourceManager 对NodeManager暴露的地址.。NodeManager通过该地址向RM汇报心跳,领取任务等 -->

    <property>
      <name>yarn.resourcemanager.resource-tracker.address</name>
      <value>hdp101:8025</value>
    </property>
<-- 调度程序接口的地址 -->
    <property>
      <name>yarn.resourcemanager.scheduler.address</name>
      <value>hdp101:8030</value>
    </property>
<-- 资源调度程序的类 -->
    <property>
      <name>yarn.resourcemanager.scheduler.class</name>
      <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler</value>
    </property>
<-- 启用一组影响调度程序的定期监视器(在 yarn.resourcemanager.scheduler.monitor.policies中指定)-->
    <property>
      <name>yarn.resourcemanager.scheduler.monitor.enable</name>
      <value>true</value>
    </property>
<-- zk保存的已完成任务的最大数量,RM状态存储保留的最大已完成应用程序数,默认情况下,它等于$ {yarn.resourcemanager.max-completed-applications}。这可确保保存在状态存储中的应用程序与RM内存中记住的应用程序一致。任何大于$ {yarn.resourcemanager.max-completed-applications}的值都将重置为$ {yarn.resourcemanager.max-completed-applications}。请注意,此值会影响RM恢复性能。通常,值越小表示RM恢复的性能越好。-->
    <property>
      <name>yarn.resourcemanager.state-store.max-completed-applications</name>
      <value>${yarn.resourcemanager.max-completed-applications}</value>
    </property>
<-- 应用信息保存的方式。如果使用org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore,则隐式隔离存储; 这意味着单个ResourceManager可以在任何时间点使用商店。 -->
    <property>
      <name>yarn.resourcemanager.store.class</name>
      <value>org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore</value>
    </property>
<-- 发送yarn系统指标数据的工作线程数 -->
    <property>
      <name>yarn.resourcemanager.system-metrics-publisher.dispatcher.pool-size</name>
      <value>10</value>
    </property>
<-- 系统指标数据收集开启 -->
    <property>
      <name>yarn.resourcemanager.system-metrics-publisher.enabled</name>
      <value>true</value>
    </property>
<-- RM web页面访问地址 -->
    <property>
      <name>yarn.resourcemanager.webapp.address.rm1</name>
      <value>hdp101:8088</value>
    </property>

    <property>
      <name>yarn.resourcemanager.webapp.address.rm2</name>
      <value>hdp10w:8088</value>
    </property>
<-- 用作持久存储的类。如果使用org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore,则隐式隔离存储; 这意味着单个ResourceManager可以在任何时间点使用商店。 -->
    <property>
      <name>yarn.resourcemanager.webapp.cross-origin.enabled</name>
      <value>true</value>
    </property>
<-- 标记以在RM中启用跨源(CORS)支持。此标志需要将CORS过滤器初始化程序添加到core-site.xml中的过滤器初始化程序列表中。 -->
    <property>
      <name>yarn.resourcemanager.webapp.delegation-token-auth-filter.enabled</name>
      <value>false</value>
    </property>
<-- RM web 应用程序的 htttps地址 -->
    <property>
      <name>yarn.resourcemanager.webapp.https.address</name>
      <value>hdp101:8090</value>
    </property>
<-- 启用RM工作以保留恢复 -->
    <property>
      <name>yarn.resourcemanager.work-preserving-recovery.enabled</name>
      <value>true</value>
    </property>
<-- 设置RM在为工作保留 - 恢复分配新容器之前等待的时间。在将新容器分配给应用程序之前,这样的等待期使RM有机会在恢复时解决与集群中的NM重新同步的问题。-->
    <property>
      <name>yarn.resourcemanager.work-preserving-recovery.scheduling-wait-ms</name>
      <value>10000</value>
    </property>
<-- zk acl 进行共享管理员访问 -->
    <property>
      <name>yarn.resourcemanager.zk-acl</name>
      <value>world:anyone:rwcda</value>
    </property>
<-- zk  -->
    <property>
      <name>yarn.resourcemanager.zk-address</name>
      <value>hdp101:2181,hdp102:2181,hdp103:2181</value>
    </property>
<-- zk 保存状态不成功的前提下,重试次数  -->

    <property>
      <name>yarn.resourcemanager.zk-num-retries</name>
      <value>1000</value>
    </property>
<-- zk 保存状态重试时间间隔 -->
    <property>
      <name>yarn.resourcemanager.zk-retry-interval-ms</name>
      <value>1000</value>
    </property>
<-- zoookeeper 保存 RM任务状态的路径 -->
    <property>
      <name>yarn.resourcemanager.zk-state-store.parent-path</name>
      <value>/rmstore</value>
    </property>
<-- zk会话超时时间 -->
    <property>
      <name>yarn.resourcemanager.zk-timeout-ms</name>
      <value>10000</value>
    </property>
<-- 控制纱线容器事件是否由RM发布到时间轴服务的设置 -->
    <property>
      <name>yarn.rm.system-metricspublisher.emit-container-events</name>
      <value>true</value>
    </property>
<-- RM中每个 容器请求的最大分配,高于此内存的请求将抛出InvalidResourceRequestException异常 -->
    <property>
      <name>yarn.scheduler.maximum-allocation-mb</name>
      <value>8192</value>
    </property>
<-- 虚拟CPU而言,RM上每个容器请求的最大分配 -->
    <property>
      <name>yarn.scheduler.maximum-allocation-vcores</name>
      <value>6</value>
    </property>
<-- RM中每个 容器请求的最小分配,从最大 510M可以看出 最大为单个容器内存的最大限制,最小分配为 最大分配内存的  1/3-->
    <property>
      <name>yarn.scheduler.minimum-allocation-mb</name>
      <value>1024</value>
    </property>
<-- 虚拟CPU而言,RM上每个容器请求的最小分配 -->
    <property>
      <name>yarn.scheduler.minimum-allocation-vcores</name>
      <value>1</value>
    </property>
<-- 定义用于时间线服务器HTTP端点的身份验证。支持的值是:simple | kerberos | #AUTHENTICATION_HANDLER_CLASSNAME# -->
    <property>
      <name>yarn.timeline-service.http-authentication.type</name>
      <value>simple</value>
    </property>
<-- 用于在时间轴服务v2中为时间轴服务v1.x或时间线读取器启用跨源(CORS)支持的标志。对于时间轴服务v2,还要将org.apache.hadoop.security.HttpCrossOriginFilterInitializer添加到core-site.xml中的配置hadoop.http.filter.initializers。 -->
    <property>
      <name>yarn.timeline-service.http-cross-origin.enabled</name>
      <value>true</value>
    </property>
<-- 存储leveldb状态存储的文件名。 -->
    <property>
      <name>yarn.timeline-service.leveldb-state-store.path</name>
      <value>/hadoop/yarn/timeline</value>
    </property>
<-- 存储leveldb时间线存储的文件名。 -->
    <property>
      <name>yarn.timeline-service.leveldb-timeline-store.path</name>
      <value>/hadoop/yarn/timeline</value>
    </property>
<--  leveldb时间轴存储的未压缩块的读缓存大小(以字节为单位) -->
    <property>
      <name>yarn.timeline-service.leveldb-timeline-store.read-cache-size</name>
      <value>104857600</value>
    </property>
<-- 最近写入的实体开始时间的高速缓存大小,用于leveldb时间线存储在实体数量中。 -->
    <property>
      <name>yarn.timeline-service.leveldb-timeline-store.start-time-read-cache-size</name>
      <value>10000</value>
    </property>
<-- 最近读取的实体开始时间的高速缓存大小,用于leveldb时间线存储在实体数量中。 -->
    <property>
      <name>yarn.timeline-service.leveldb-timeline-store.start-time-write-cache-size</name>
      <value>10000</value>
    </property>
<-- leveldb时间轴存储的删除周期之间等待的时间长度,以毫秒为单位 -->
    <property>
      <name>yarn.timeline-service.leveldb-timeline-store.ttl-interval-ms</name>
      <value>300000</value>
    </property>
<-- eveldb时间轴存储的删除周期之间等待的时间长度,以毫秒为单位。 -->
    <property>
      <name>yarn.timeline-service.reader.webapp.address</name>
      <value>hdp101:8198</value>
    </property>
<-- 启动后启用时间轴服务器恢复状态。如果为true,则必须指定yarn.timeline-service.state-store-class。-->
    <property>
      <name>yarn.timeline-service.recovery.enabled</name>
      <value>true</value>
    </property>
<-- 存储时间线状态存储的类名 -->
    <property>
      <name>yarn.timeline-service.state-store-class</name>
      <value>org.apache.hadoop.yarn.server.timeline.recovery.LeveldbTimelineStateStore</value>
    </property>
<-- 存储时间轴商店的类名。-->
    <property>
      <name>yarn.timeline-service.store-class</name>
      <value>org.apache.hadoop.yarn.server.timeline.EntityGroupFSTimelineStore</value>
    </property>
<-- 启用时间轴存储数据的年龄 -->
    <property>
      <name>yarn.timeline-service.ttl-enable</name>
      <value>true</value>
    </property>
<-- 生存时间线的时间以毫秒为单位存储数据  -->
    <property>
      <name>yarn.timeline-service.ttl-ms</name>
      <value>2678400000</value>
    </property>
<-- 时间轴服务版本 -->
    <property>
      <name>yarn.timeline-service.version</name>
      <value>2.0f</value>
    </property>
<-- 时间轴服务Web应用程序的http地址 -->
    <property>
      <name>yarn.timeline-service.webapp.address</name>
      <value>hdp102:8188</value>
    </property>
<-- 时间线服务Web应用程序的https地址。 -->
    <property>
      <name>yarn.timeline-service.webapp.https.address</name>
      <value>hdp102:8190</value>
    </property>

<-- 启用RM web ui2应用程序。 -->
    <property>
      <name>yarn.webapp.ui2.enable</name>
      <value>true</value>
    </property>



谢谢点赞和关注! 

  • 14
    点赞
  • 72
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
yarn-site.xmlHadoop YARN配置文件之一,主要用于配置YARN资源管理器(ResourceManager)和节点管理器(NodeManager)的相关参数。下面是一个示例yarn-site.xml文件,你可以根据自己的需求进行相应的修改。 ```xml <?xml version="1.0"?> <configuration> <!--YARN ResourceManager配置--> <property> <name>yarn.resourcemanager.hostname</name> <value>your_rm_host_name</value> </property> <property> <name>yarn.resourcemanager.address</name> <value>${yarn.resourcemanager.hostname}:8032</value> </property> <property> <name>yarn.resourcemanager.scheduler.address</name> <value>${yarn.resourcemanager.hostname}:8030</value> </property> <property> <name>yarn.resourcemanager.resource-tracker.address</name> <value>${yarn.resourcemanager.hostname}:8031</value> </property> <property> <name>yarn.resourcemanager.admin.address</name> <value>${yarn.resourcemanager.hostname}:8033</value> </property> <property> <name>yarn.resourcemanager.webapp.address</name> <value>${yarn.resourcemanager.hostname}:8088</value> </property> <!--NodeManager配置--> <property> <name>yarn.nodemanager.local-dirs</name> <value>/tmp/hadoop-yarn/nm-local-dir</value> </property> <property> <name>yarn.nodemanager.log-dirs</name> <value>/tmp/hadoop-yarn/nm-logs</value> </property> <!--NodeManager与ResourceManager通信配置--> <property> <name>yarn.nodemanager.remote-app-log-dir</name> <value>/tmp/hadoop-yarn/logs</value> </property> <property> <name>yarn.nodemanager.log-aggregation-dir</name> <value>/tmp/hadoop-yarn/logs</value> </property> <property> <name>yarn.log.server.url</name> <value>http://${yarn.resourcemanager.hostname}:19888/jobhistory/logs</value> </property> <!--YARN应用程序配置--> <property> <name>yarn.app.mapreduce.am.resource.mb</name> <value>1024</value> </property> <property> <name>yarn.app.mapreduce.am.command-opts</name> <value>-Xmx768m</value> </property> </configuration> ``` 需要注意的是,yarn-site.xml文件需要放置在Hadoop的配置目录下(默认为$HADOOP_HOME/etc/hadoop)。另外,如果你使用的是Hadoop集群,那么该文件需要在所有的节点上进行相应的修改和配置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿龙先生啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值