hadoop_yarn-site.xml

hadoop3.2.3的高可用集群yarn-site.xml配置实例

xml 复制代码
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>


	<property>
	    <!-- 指定Resource Manager的主机名,这里将Resource Manager的主机名设置为"master" -->
	    <name>yarn.resourcemanager.hostname</name>
	    <value>master</value>
	</property>
	
	<property>
		<!-- 启用Resource Manager的高可用性(HA)功能 -->
 		<name>yarn.resourcemanager.ha.enabled</name>
		<value>true</value>
    </property>
	
	<property>
		<!-- 指定用于HA的ZooKeeper集群的地址,这里使用了三个Kafka节点作为ZooKeeper服务,端口为2181 -->
    	<name>ha.zookeeper.quorum</name>
   		<value>kafka-1:2181,kafka-2:2181,kafka-3:2181</value>
	</property>
	
	<property>
		<!-- 指定YARN集群的ID,用于区分不同的YARN集群,这里设置为"myyarn" -->
		<name>yarn.resourcemanager.cluster-id</name>
		<value>myyarn</value>
	</property>
		
	<property>
		<!-- 指定YARN集群中Resource Manager的ID列表,这里有两个Resource Manager,分别为rm1和rm2 -->
		<name>yarn.resourcemanager.ha.rm-ids</name>
		<value>rm1,rm2</value>
	</property>
	
	<property>
		<!-- 指定ID为rm1的Resource Manager的主机名,这里设置为"namenode-1" -->
		<name>yarn.resourcemanager.hostname.rm1</name>
		<value>namenode-1</value>
	</property>
	
	<property>
		<!-- 指定ID为rm2的Resource Manager的主机名,这里设置为"namenode-2" -->
		<name>yarn.resourcemanager.hostname.rm2</name>
		<value>namenode-2</value>
	</property>
	
	<property>
		<!-- 指定ID为rm1的Resource Manager的Web应用地址,这里设置为"namenode-1:8088" -->
		<name>yarn.resourcemanager.webapp.address.rm1</name>
		<value>namenode-1:8088</value>
    </property>
	
	<property>
		<!-- 指定ID为rm2的Resource Manager的Web应用地址,这里设置为"namenode-2:8088" -->
		<name>yarn.resourcemanager.webapp.address.rm2</name>
		<value>namenode-2:8088</value>
	</property>
	
	<property>
		<!-- 指定YARN ResourceManager使用的ZooKeeper集群地址 -->
		<name>yarn.resourcemanager.zk-address</name>
		<value>kafka-1:2181,kafka-2:2181,kafka-3:2181</value>
	</property>
	
	<property>
		<!-- 指定Hadoop集群使用的ZooKeeper集群地址,这里与YARN使用了相同的ZooKeeper集群 -->
		<name>hadoop.zk.address</name>
		<value>kafka-1:2181,kafka-2:2181,kafka-3:2181</value>
	</property>

  <property>
		<!-- 指定NodeManager上运行的辅助服务列表,这里包括MapReduce的shuffle服务和Spark的shuffle服务 -->
		<name>yarn.nodemanager.aux-services</name>
		<value>mapreduce_shuffle,spark_shuffle</value>
  </property>
  	
	<property>
		<!-- 启用日志聚合功能,使得YARN能够收集并聚合各个节点的日志,方便后续查看和分析 -->
		<name>yarn.log-aggregation-enable</name>
		<value>true</value>
  </property>

	<property>
		<!-- 指定日志服务器的URL,用于访问聚合后的日志 -->
		<name>yarn.log.server.url</name>
		<value>http://datanode-7:19888/jobhistory/logs</value>
	</property>

	<property>
		<!-- 禁用NodeManager对物理内存的检查,避免因为内存不足而导致任务失败 -->
		<name>yarn.nodemanager.pmem-check-enabled</name>
		<value>false</value>
    </property>
	
	<property>
		<!-- 禁用NodeManager对虚拟内存的检查,同样是为了避免因为内存不足而导致任务失败 -->
		<name>yarn.nodemanager.vmem-check-enabled</name>
		<value>false</value>
	</property>

	<property>
		<!-- 指定YARN ResourceManager的地址,客户端和NodeManager需要通过这个地址与ResourceManager通信 -->
  		<name>yarn.resourcemanager.address</name>
  		<value>namenode-1:8032</value>
	</property>
	
	<property>
		<!-- 指定YARN ResourceTracker的地址,NodeManager需要通过这个地址向ResourceTracker报告资源使用情况 -->
  		<name>yarn.resourcemanager.resource-tracker.address</name>
  		<value>namenode-1:8031</value>
	</property>
	
	<property>
		<!-- 指定ID为rm1的ResourceManager的Scheduler地址,用于任务调度 -->
		<name>yarn.resourcemanager.scheduler.address.rm1</name>
		<value>namenode-1:8030</value>
    </property>
	
	<property>
		<!-- 指定ID为rm2的ResourceManager的Scheduler地址,同样用于任务调度 -->
		<name>yarn.resourcemanager.scheduler.address.rm2</name>
		<value>namenode-2:8030</value>
	</property>

	<property>
		<!-- 指定Spark shuffle服务的端口号,NodeManager上的Spark shuffle服务会监听这个端口以接收来自其他节点的shuffle数据 -->
		<name>spark.shuffle.service.port</name>
		<value>7337</value>
	</property>
	
	<property>
		<!-- 指定Spark shuffle服务在YARN NodeManager上的实现类 -->
		<name>yarn.nodemanager.aux-services.spark_shuffle.class</name>
		<value>org.apache.spark.network.yarn.YarnShuffleService</value>
	</property>

	<property>
		<!-- 指定YARN NodeManager可用的物理内存总量(以MB为单位) -->
		<name>yarn.nodemanager.resource.memory-mb</name>
		<value>98304</value>
  	</property>
	
  	<property>
		<!-- 指定YARN Scheduler为单个容器分配的最小内存量(以MB为单位) -->
		<name>yarn.scheduler.minimum-allocation-mb</name>
		<value>1024</value>
  	</property>
	
	<property>
		<!-- 指定YARN Scheduler在增加容器内存分配时的增量(以MB为单位) -->
		<name>yarn.scheduler.increment-allocation-mb</name>
		<value>1024</value>
	</property>
	
  	<property>
		<!-- 指定YARN Scheduler为单个容器分配的最大内存量(以MB为单位) -->
		<name>yarn.scheduler.maximum-allocation-mb</name>
		<value>98304</value>
  	</property>

  	<property>
		<!-- 指定MapReduce ApplicationMaster(AM)所需的内存资源量(以MB为单位) -->
		<name>yarn.app.mapreduce.am.resource.mb</name>
		<value>18432</value>
  	</property>
	
  	<property>
		<!-- 指定MapReduce ApplicationMaster(AM)启动时的JVM参数,这里设置了最大堆内存为14745MB -->
		<name>yarn.app.mapreduce.am.command-opts</name>
		<value>-Xmx14745m</value>
  	</property>

  	<property>
		<!-- 指定YARN NodeManager可用的CPU虚拟核心数 -->
  		<name>yarn.nodemanager.resource.cpu-vcores</name>
  		<value>48</value>
  	</property>
	
	<property>
		<!-- 指定YARN Scheduler为单个容器分配的最小CPU虚拟核心数 -->
		<name>yarn.scheduler.minimum-allocation-vcores</name>
		<value>1</value>
	</property>
	
	<property>
		<!-- 指定YARN Scheduler在增加容器CPU分配时的增量(以虚拟核心为单位) -->
		<name>yarn.scheduler.increment-allocation-vcores</name>
		<value>1</value>
	</property>
	
  	<property>
		<!-- 指定YARN Scheduler为单个容器分配的最大CPU虚拟核心数 -->
  		<name>yarn.scheduler.maximum-allocation-vcores</name>
  		<value>48</value>
  	</property>

	<property>  
		<!-- 指定一个文件路径,该文件包含要排除的主机列表。这些主机将不会被用于运行MapReduce任务。 -->
		<name>mapred.hosts.exclude</name>  
		<value>/home/hadoop/hadoop/etc/hadoop/yarn.exclude</value>   
	</property>
	
	<property>
		<!-- 这个配置项设置了YARN应用程序运行时所需的类路径,包括Hadoop各个组件的库和配置文件。 -->
		<name>yarn.application.classpath</name>
		<value>/home/hadoop/hadoop-3.2.3/etc/hadoop, 					<!-- YARN应用程序的类路径配置,包括Hadoop配置文件的路径 -->
			   /home/hadoop/hadoop-3.2.3/share/hadoop/common/lib/*, 	<!-- Hadoop通用库的依赖jar包路径 -->
			   /home/hadoop/hadoop-3.2.3/share/hadoop/common/*, 		<!-- Hadoop通用库的路径 -->
			   /home/hadoop/hadoop-3.2.3/share/hadoop/hdfs/lib/*,		<!-- HDFS库的依赖jar包路径 -->
			   /home/hadoop/hadoop-3.2.3/share/hadoop/hdfs/*, 			<!-- HDFS库的路径 -->
			   /home/hadoop/hadoop-3.2.3/share/hadoop/mapreduce/lib/*, 	<!-- MapReduce库的依赖jar包路径 -->
			   /home/hadoop/hadoop-3.2.3/share/hadoop/mapreduce/*, 		<!-- MapReduce库的路径 -->
			   /home/hadoop/hadoop-3.2.3/share/hadoop/yarn/lib/*, 		<!-- YARN库的依赖jar包路径 -->
			   /home/hadoop/hadoop-3.2.3/share/hadoop/yarn/* 			<!-- YARN库的路径 -->
		</value>
 	 </property>

</configuration>
相关推荐
Jurio.17 分钟前
【SPIE单独出版审核,见刊检索稳定!】2024年遥感技术与图像处理国际学术会议(RSTIP 2024,11月29-12月1日)
大数据·图像处理·人工智能·深度学习·机器学习·计算机视觉·学术会议
愤怒的it菜鸟30 分钟前
2024文档透明加密软件最新推荐|10款好用的透明加密软件分享
大数据·运维·网络·安全·web安全
袋鼠云数栈1 小时前
指标+AI+BI:构建数据分析新范式丨2024袋鼠云秋季发布会回顾
大数据
武子康1 小时前
大数据-208 数据挖掘 机器学习理论 - 岭回归 和 Lasso 算法 原理
大数据·人工智能·机器学习·数据挖掘·scikit-learn
QYR市场调研1 小时前
科技改变阅读习惯:最新研究揭示电子阅读器的普及趋势
大数据
李恒-聆机智能专精数采2 小时前
从零开始了解数采(十二)——汽车锂电池板自动装配线数据采集方案
大数据·数据挖掘·云计算·汽车·边缘计算·制造·数据可视化
python资深爱好者2 小时前
Flink和Spark在实时计算方面有何异同
大数据·flink·spark
子非鱼9212 小时前
【Ajax】原生Ajax与jQuery中的Ajax
xml·ajax·node.js·jquery
sf_www2 小时前
flink 内存配置(三):设置JobManager内存
大数据·flink
工业互联网专业2 小时前
Python毕业设计选题:基于大数据的旅游景区推荐系统_django
大数据·vue.js·python·django·毕业设计·源码·课程设计