1. 程式人生 > >hadoop(9)---yarn配置文件說明

hadoop(9)---yarn配置文件說明

檢查 erp 兩臺 尋找 cti 存儲方式 發送 -a try

以下只是對yarn配置文件(yarn.site.xml)簡單的一個配置

<configuration>
<!-- rm失聯後重新鏈接的時間 -->
<property>
<name>yarn.resourcemanager.connect.retry-interval.ms</name>
<value>2000</value>

</property>
<property>
<!-- 啟用RM高可用 -->
<name>yarn.resourcemanager.ha.enabled</name>
<value>true</value>
<description>啟動Yran HA模式</description>
</property>
<property>
<!-- 指定兩臺RM主機名標識符 -->
<name>yarn.resourcemanager.ha.rm-ids</name>
<value>rm1,rm2</value>
<description>resourcemanager id</description>
</property>
<property>
<!--Ha功能,需要一組zk地址,用逗號分隔。被ZKFailoverController使用於自動失效備援failover。 -->
<name>ha.zookeeper.quorum</name>
<value>master:2181,slave1:2181,slave2:2181</value>
<description>Zookeeper 隊列</description>
</property>
<property>
<!--開啟失效轉移 -->
<name>yarn.resourcemanager.ha.automatic-failover.enabled</name>
<value>true</value>
<description>開啟 ResourceManager 故障自動切換</description>
</property>
<property>
<!-- 指定rm1的主機名-->
<name>yarn.resourcemanager.hostname.rm1</name>
<value>master</value>
<description>rm1 的hostname</description>
</property>
<property>
<!-- 指定rm2的主機名-->
<name>yarn.resourcemanager.hostname.rm2</name>
<value>slave1</value>
<description>rm2 的hostname</description>
</property>
<property>
<name>yarn.resourcemanager.ha.id</name>
<value>rm1</value> <description>本機的rmid</description>
</property>
<property>
<!-- RM故障自動恢復 -->
<name>yarn.resourcemanager.recovery.enabled</name>
<value>true</value>
</property>
<property>
<!-- 被RM用於狀態存儲的ZooKeeper服務器的主機:端口號,多個ZooKeeper的話使用逗號分隔。 -->
<name>yarn.resourcemanager.zk-state-store.address</name>
<value>master:2181,slave1:2181,slave2:2181</value>
</property>
<property>
<!-- 配置RM狀態信息存儲方式,有MemStore和ZKStore。 -->
<name>yarn.resourcemanager.store.class</name>
<value>org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore</value>
</property>
<property>
<!--使用ZK集群保存狀態信息,指定zookeeper隊列 -->
<name>yarn.resourcemanager.zk-address</name>
<value>master:2181,slave1:2181,slave2:2181</value>
</property>
<property>
<name>yarn.resourcemanager.cluster-id</name>
<value>LN-rslog</value>
<description>集群ID</description>
</property>
<property>
<!-- schelduler失聯等待連接時間,以毫秒為單位-->
<name>yarn.app.mapreduce.am.scheduler.connection.wait.interval-ms</name>
<value>5000</value>
</property>

<description>以下開始對 rm1 進行配置,rm2 改成對應的值!!!</description>
<property>
<!-- 客戶端通過該地址向RM提交對應用程序操作 -->
<name>yarn.resourcemanager.address.rm1</name>
<value>master:8032</value>
</property>
<property>
<!--ResourceManager 對ApplicationMaster暴露的訪問地址。ApplicationMaster通過該地址向RM申請資源、釋放資源等。 -->
<name>yarn.resourcemanager.scheduler.address.rm1</name>
<value>master:8030</value>
</property>
<property>
<!-- RM HTTP訪問地址,查看集群信息-->
<name>yarn.resourcemanager.webapp.address.rm1</name>
<value>master:8088</value>
</property>
<property>
<!-- NodeManager通過該地址交換信息 -->
<name>yarn.resourcemanager.resource-tracker.address.rm1</name>
<value>master:8031</value>
</property>
<property>
<!--管理員通過該地址向RM發送管理命令 -->
<name>yarn.resourcemanager.admin.address.rm1</name>
<value>master:8033</value>
</property>
<property>
<name>yarn.resourcemanager.ha.admin.address.rm1</name>
<value>master:23142</value>
</property>
<property>
<name>yarn.resourcemanager.address.rm2</name>
<value>slave1:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address.rm2</name>
<value>slave1:8030</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address.rm2</name>
<value>slave1:8088</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address.rm2</name>
<value>slave1:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address.rm2</name>
<value>slave1:8033</value>
</property>
<property>
<name>yarn.resourcemanager.ha.admin.address.rm2</name>
<value>slave1:23142</value>
</property>
<property>
<!-- 為了能夠運行MapReduce程序,需要讓各個NodeManager在啟動時加載shuffle server,shuffle server實際上是Jetty/Netty Server,Reduce Task通過該server從各個NodeManager上遠程拷貝Map Task產生的中間結果。下面增加的兩個配置均用於指定shuffle serve。 -->
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<!--中間結果存放位置,類似於1.0中的mapred.local.dir。註意,這個參數通常會配置多個目錄,已分攤磁盤IO負載 -->
<name>yarn.nodemanager.local-dirs</name>
<value>/home/hadoop/xinjian/hadoop-2.9.0/data/nm</value>
</property>
<property>
<!-- yarn node 運行時日誌存放地址,記錄container日誌,並非nodemanager日誌存放地址 -->
<name>yarn.nodemanager.log-dirs</name>
<value>/home/hadoop/xinjian/hadoop-2.9.0/log/yarn</value>
</property>
<property>
<name>mapreduce.shuffle.port</name>
<value>23080</value>
</property>
<property>
<!-- 以輪訓方式尋找活動的RM所使用的類-->
<name>yarn.client.failover-proxy-provider</name>
<value>org.apache.hadoop.yarn.client.ConfiguredRMFailoverProxyProvider</value>
</property>

<property>
<name>yarn.resourcemanager.ha.automatic-failover.zk-base-path</name>
<value>/yarn-leader-election</value>
</property>
<property>
<!-- 每使用一個物理cpu,可以使用的虛擬cpu的比例,默認為2-->
<name>yarn.nodemanager.vcores-pcores-ratio</name>
<value>1</value>
</property>


<property>
<!-- 每單位的物理內存總量對應的虛擬內存量,默認是2.1,表示每使用1MB的物理內存,最多可以使用2.1MB的虛擬內存總量。-->
<name>yarn.nodemanager.vmem-pmem-ratio</name>
<value>5.2</value>
</property>
<!--
(2)yarn.nodemanager.vmem-pmem-ratio

任務每使用1MB物理內存,最多可使用虛擬內存量,默認是2.1
(3) yarn.nodemanager.pmem-check-enabled

是否啟動一個線程檢查每個任務正使用的物理內存量,如果任務超出分配值,則直接將其殺掉,默認是true。
(4) yarn.nodemanager.vmem-check-enabled

是否啟動一個線程檢查每個任務正使用的虛擬內存量,如果任務超出分配值,則直接將其殺掉,默認是true。 -->


<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>


<property>
<!-- 表示該節點上YARN可使用的虛擬CPU個數,默認是8,註意,目前推薦將該值設值為與物理CPU核數數目相同。如果你的節點CPU核數不夠8個,則需要調減小這個值,而YARN不會智能的探測節點的物理CPU總數 -->
<name>yarn.nodemanager.resource.cpu-vcores</name>
<value>1</value>
</property>
<property>
<!-- 表示該節點上YARN可使用的物理內存總量,默認是8192(MB),註意,如果你的節點內存資源不夠8GB,則需要調減小這個值,而YARN不會智能的探測節>點的物理內存總量。 -->
<name>yarn.nodemanager.resource.memory-mb</name>
<value>1024</value>
</property>


<property>
<!-- 單個任務可申請的最少物理內存量,默認是1024(MB),如果一個任務申請的物理內存量少於該值,則該對應的值改為這個數 -->
<name>yarn.scheduler.minimum-allocation-mb</name>
<value>512</value>
</property>
<property>
<!-- 單個任務可申請的最多物理內存量,默認是8192(MB)。

默認情況下,YARN采用了線程監控的方法判斷任務是否超量使用內存,一旦發現超量,則直接將其殺死。由於Cgroups對內存的控制缺乏靈活性(即任務任何時刻不能超過內存上限,如果超過,則直接將其殺死或者報OOM),而Java進程在創建瞬間內存將翻倍,之後驟降到正常值,這種情況下,采用線程監控的方式更加靈活(當發現進程樹內存瞬間翻倍超過設定值時,可認為是正常現象,不會將任務殺死),因此YARN未提供Cgroups內存隔離機制 -->
<name>yarn.scheduler.maximum-allocation-mb</name>
<value>1024</value>
</property>

</configuration>

hadoop(9)---yarn配置文件說明