選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

為 YARN 容器啟用非統一記憶體存取感知 - Amazon EMR

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

為 YARN 容器啟用非統一記憶體存取感知

透過 Amazon EMR 6.x 版及更新版本,您可以使用非統一記憶體存取 (NUMA) 在叢集上多重處理資料。NUMA 是一種電腦記憶體設計模式,其中處理器可以比另一個處理器上的記憶體或處理器之間共用的記憶體更快地存取自己的本機記憶體。YARN 容器在使用 NUMA 時具有更好的效能,因為它們可以繫結至服務所有後續記憶體分配的特定 NUMA 節點。這減少了叢集存取遠端記憶體的次數。

在工作節點機器是多 NUMA 節點時,您可以開啟對 YARN 容器的 NUMA 支援。若要確認工作節點是單 NUMA 節點還是多 NUMA 節點,請執行下列命令。

lscpu | grep -i numa NUMA node(s): 2

一般而言,大於 12x 的執行個體具有兩個 NUMA 節點。這不適用於裸機執行個體。

為 YARN 容器開啟 NUMA 感知
  1. 在 Amazon EMR 6.x 叢集中使用下列 yarn-site 組態。

    [ { "classification":"yarn-site", "properties":{ "yarn.nodemanager.linux-container-executor.nonsecure-mode.local-user":"yarn", "yarn.nodemanager.linux-container-executor.group":"yarn", "yarn.nodemanager.container-executor.class":"org.apache.hadoop.yarn.server.nodemanager.LinuxContainerExecutor", "yarn.nodemanager.numa-awareness.enabled":"true", "yarn.nodemanager.numa-awareness.numactl.cmd":"/usr/bin/numactl", "yarn.nodemanager.numa-awareness.read-topology":"true" }, "configurations":[] } ]
  2. 在叢集中提供下列引導操作。

    #!/bin/bash sudo yum -y install numactl echo 1 | sudo tee /proc/sys/kernel/numa_balancing echo "banned.users=mapred,bin,hdfs" >> /etc/hadoop/conf/container-executor.cfg rm -rf /var/log/hadoop-yarn/ sudo chown -R yarn:hadoop /var/log/hadoop-yarn/ sudo chmod 755 -R /var/log/hadoop-yarn/ sudo chmod 6050 /etc/hadoop/conf/container-executor.cfg mkdir /mnt/yarn && sudo chmod 755 -R /mnt/yarn && sudo chown -R yarn:hadoop /mnt/yarn mkdir /mnt1/yarn && sudo chmod 755 -R /mnt1/yarn && sudo chown -R yarn:hadoop /mnt1/yarn mkdir /mnt2/yarn && sudo chmod 755 -R /mnt2/yarn && sudo chown -R yarn:hadoop /mnt2/yarn
  3. 每個容器都必須了解 NUMA。您可以使用 NUMA 旗標通知每個容器中的 Java 虛擬機器 (JVM)。例如,若要通知 JVM 在 MapReduce 作業中使用 NUMA,請在 mapred-site.xml 中新增下列屬性。

    <property> <name>mapreduce.reduce.java.opts</name> <value>-XX:+UseNUMA</value> </property> <property> <name>mapreduce.map.java.opts</name> <value>-XX:+UseNUMA</value> </property>
  4. 若要確認您已開啟 NUMA,請使用下列命令搜尋任何 NodeManager 日誌檔案。

    grep "NUMA resources allocation is enabled," *

    若要確認 NodeManager 已將 NUMA 節點資源指派給容器,請使用下列命令搜尋 NodeManager 日誌,並將 <container_id> 取代為您自己的容器 ID。

    grep "NUMA node" | grep <container_id>
隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。