Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

YARN-11195. Adding document to enable numa #4501

Merged
merged 1 commit into from Jun 28, 2022

Conversation

Samrat002
Copy link
Contributor

@Samrat002 Samrat002 commented Jun 25, 2022

Description of PR

This pr is a documentation steps to enable numa for the cluster running on instances like m5.24x large which internally has 2 chip .
Relevent JIRA :- YARN-11195

How was this patch tested?

This working steps has been tested in EMR cluster with 1 master node and 5 core nodes of instance types (m5.24xlarge)

Allignment
Screenshot 2022-06-28 at 11 03 22 AM

For code changes:

  • Does the title or this PR starts with the corresponding JIRA issue id (e.g. 'HADOOP-17799. Your PR title ...')?
  • Object storage: have the integration tests been executed and the endpoint declared according to the connector-specific documentation?
  • If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
  • If applicable, have you updated the LICENSE, LICENSE-binary, NOTICE-binary files?

@hadoop-yetus
Copy link

💔 -1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 50s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 0s No case conflicting files found.
+0 🆗 codespell 0m 0s codespell was not available.
+0 🆗 detsecrets 0m 0s detect-secrets was not available.
+0 🆗 markdownlint 0m 0s markdownlint was not available.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
_ trunk Compile Tests _
+1 💚 mvninstall 40m 16s trunk passed
+1 💚 mvnsite 0m 39s trunk passed
+1 💚 shadedclient 60m 39s branch has no errors when building and testing our client artifacts.
_ Patch Compile Tests _
+1 💚 mvninstall 0m 17s the patch passed
-1 ❌ blanks 0m 0s /blanks-eol.txt The patch has 24 line(s) that end in blanks. Use git apply --whitespace=fix <<patch_file>>. Refer https://git-scm.com/docs/git-apply
-1 ❌ blanks 0m 0s /blanks-tabs.txt The patch 2 line(s) with tabs.
+1 💚 mvnsite 0m 22s the patch passed
+1 💚 shadedclient 22m 30s patch has no errors when building and testing our client artifacts.
_ Other Tests _
+1 💚 asflicense 0m 41s The patch does not generate ASF License warnings.
86m 42s
Subsystem Report/Notes
Docker ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4501/1/artifact/out/Dockerfile
GITHUB PR #4501
Optional Tests dupname asflicense mvnsite codespell detsecrets markdownlint
uname Linux 19bf0ea54e75 4.15.0-175-generic #184-Ubuntu SMP Thu Mar 24 17:48:36 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/bin/hadoop.sh
git revision trunk / bcc13a3f2f0b2f6187c22f033f0b49a7936794d0
Max. process+thread count 528 (vs. ulimit of 5500)
modules C: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site U: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4501/1/console
versions git=2.25.1 maven=3.6.3
Powered by Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.

@hadoop-yetus
Copy link

💔 -1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 51s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 1s No case conflicting files found.
+0 🆗 codespell 0m 1s codespell was not available.
+0 🆗 detsecrets 0m 1s detect-secrets was not available.
+0 🆗 markdownlint 0m 1s markdownlint was not available.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
_ trunk Compile Tests _
+1 💚 mvninstall 40m 45s trunk passed
+1 💚 mvnsite 0m 35s trunk passed
+1 💚 shadedclient 64m 12s branch has no errors when building and testing our client artifacts.
_ Patch Compile Tests _
+1 💚 mvninstall 0m 17s the patch passed
-1 ❌ blanks 0m 1s /blanks-eol.txt The patch has 26 line(s) that end in blanks. Use git apply --whitespace=fix <<patch_file>>. Refer https://git-scm.com/docs/git-apply
-1 ❌ blanks 0m 1s /blanks-tabs.txt The patch 2 line(s) with tabs.
+1 💚 mvnsite 0m 23s the patch passed
+1 💚 shadedclient 22m 47s patch has no errors when building and testing our client artifacts.
_ Other Tests _
+1 💚 asflicense 0m 44s The patch does not generate ASF License warnings.
90m 40s
Subsystem Report/Notes
Docker ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4501/2/artifact/out/Dockerfile
GITHUB PR #4501
Optional Tests dupname asflicense mvnsite codespell detsecrets markdownlint
uname Linux 7bf828437b19 4.15.0-175-generic #184-Ubuntu SMP Thu Mar 24 17:48:36 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/bin/hadoop.sh
git revision trunk / d1fc6c452847661e4444e61471dce36b93a665d0
Max. process+thread count 606 (vs. ulimit of 5500)
modules C: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site U: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4501/2/console
versions git=2.25.1 maven=3.6.3
Powered by Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.

@hadoop-yetus
Copy link

💔 -1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 49s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 0s No case conflicting files found.
+0 🆗 codespell 0m 0s codespell was not available.
+0 🆗 detsecrets 0m 0s detect-secrets was not available.
+0 🆗 markdownlint 0m 0s markdownlint was not available.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
_ trunk Compile Tests _
+1 💚 mvninstall 40m 38s trunk passed
+1 💚 mvnsite 0m 38s trunk passed
+1 💚 shadedclient 60m 26s branch has no errors when building and testing our client artifacts.
_ Patch Compile Tests _
+1 💚 mvninstall 0m 18s the patch passed
-1 ❌ blanks 0m 0s /blanks-eol.txt The patch has 22 line(s) that end in blanks. Use git apply --whitespace=fix <<patch_file>>. Refer https://git-scm.com/docs/git-apply
+1 💚 mvnsite 0m 23s the patch passed
+1 💚 shadedclient 22m 53s patch has no errors when building and testing our client artifacts.
_ Other Tests _
+1 💚 asflicense 0m 46s The patch does not generate ASF License warnings.
87m 0s
Subsystem Report/Notes
Docker ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4501/3/artifact/out/Dockerfile
GITHUB PR #4501
Optional Tests dupname asflicense mvnsite codespell detsecrets markdownlint
uname Linux 6283b9aeae8e 4.15.0-175-generic #184-Ubuntu SMP Thu Mar 24 17:48:36 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/bin/hadoop.sh
git revision trunk / c841e026a79b8ffbac654ac4fd2c5bc27207ccea
Max. process+thread count 533 (vs. ulimit of 5500)
modules C: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site U: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4501/3/console
versions git=2.25.1 maven=3.6.3
Powered by Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.

@hadoop-yetus
Copy link

🎊 +1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 50s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 0s No case conflicting files found.
+0 🆗 codespell 0m 0s codespell was not available.
+0 🆗 detsecrets 0m 0s detect-secrets was not available.
+0 🆗 markdownlint 0m 0s markdownlint was not available.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
_ trunk Compile Tests _
+1 💚 mvninstall 71m 35s trunk passed
+1 💚 mvnsite 0m 39s trunk passed
+1 💚 shadedclient 95m 0s branch has no errors when building and testing our client artifacts.
_ Patch Compile Tests _
+1 💚 mvninstall 0m 18s the patch passed
+1 💚 blanks 0m 0s The patch has no blanks issues.
+1 💚 mvnsite 0m 22s the patch passed
+1 💚 shadedclient 22m 34s patch has no errors when building and testing our client artifacts.
_ Other Tests _
+1 💚 asflicense 0m 43s The patch does not generate ASF License warnings.
121m 13s
Subsystem Report/Notes
Docker ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4501/4/artifact/out/Dockerfile
GITHUB PR #4501
Optional Tests dupname asflicense mvnsite codespell detsecrets markdownlint
uname Linux cfd8f7ed648c 4.15.0-175-generic #184-Ubuntu SMP Thu Mar 24 17:48:36 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/bin/hadoop.sh
git revision trunk / 445f74a8b7c16e6afd11672bee8ca78e65b20eae
Max. process+thread count 607 (vs. ulimit of 5500)
modules C: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site U: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4501/4/console
versions git=2.25.1 maven=3.6.3
Powered by Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.

```
<property>
<name>yarn.nodemanager.numa-awareness.<NODE_ID>.cpus</name>
<value>8192</value>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

8192 does not look a right example value for cpus.


# Verify

**1) NameNode log**
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NodeManager instead of NameNode


**1) NameNode log**

In any of the namenode, grep the logs with command
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NodeManager instead of namenode.

"grep the logs" could be modified to "grep the nodemanager log file using below command"

<nodemanager_ip>.log.2022-06-24-19.gz:2022-06-24 19:16:40,178 INFO org.apache.hadoop.yarn.server.nodemanager.containermanager.linux.resources.numa.NumaResourceHandlerImpl (main): NUMA resources allocation is enabled, initializing NUMA resources allocator.
```

**2) Container Log**
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To check if container is assigned with NUMA - below can be used. And also grep the NodeManager log using below grep command

grep "NUMA node" | grep <container_id>

(memory local to another processor or memory shared between processors).
Yarn Containers can make benefit of this NUMA design to get better performance by binding to a
specific NUMA node and all subsequent memory allocations will be served by the same node,
reducing remote memory accesses.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we also mention that NUMA support for YARN Container has to be enabled only if worker node machines has NUMA support.

</property>
```

**4) NUMA nodes id’s**
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we share the sample numa hardware output which shows node ids 0, 1 with memory and cpu configs from which user sets the below configs.

```
<property>
<name>yarn.nodemanager.numa-awareness.<NODE_ID>.memory</name>
<value>8192</value>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we describe why we set 8192 in this example.

</property>
```

**7) Passing java_opts for map/reduce**
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Spark, Tez and other YARN Applications also need to set the container JVM Opts to leverage NUMA Support.

@PrabhuJoseph
Copy link
Contributor

Thanks @Samrat002 for the patch. Have given few comments.

@hadoop-yetus
Copy link

🎊 +1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 48s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 0s No case conflicting files found.
+0 🆗 codespell 0m 0s codespell was not available.
+0 🆗 detsecrets 0m 0s detect-secrets was not available.
+0 🆗 markdownlint 0m 0s markdownlint was not available.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
_ trunk Compile Tests _
+1 💚 mvninstall 40m 25s trunk passed
+1 💚 mvnsite 0m 38s trunk passed
+1 💚 shadedclient 60m 24s branch has no errors when building and testing our client artifacts.
_ Patch Compile Tests _
+1 💚 mvninstall 0m 19s the patch passed
+1 💚 blanks 0m 0s The patch has no blanks issues.
+1 💚 mvnsite 0m 22s the patch passed
+1 💚 shadedclient 22m 6s patch has no errors when building and testing our client artifacts.
_ Other Tests _
+1 💚 asflicense 0m 42s The patch does not generate ASF License warnings.
86m 6s
Subsystem Report/Notes
Docker ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4501/5/artifact/out/Dockerfile
GITHUB PR #4501
Optional Tests dupname asflicense mvnsite codespell detsecrets markdownlint
uname Linux 87decc54ad13 4.15.0-175-generic #184-Ubuntu SMP Thu Mar 24 17:48:36 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/bin/hadoop.sh
git revision trunk / d685b94a6f99f6c4d77b36768168fe15e0e9ee8c
Max. process+thread count 532 (vs. ulimit of 5500)
modules C: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site U: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4501/5/console
versions git=2.25.1 maven=3.6.3
Powered by Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.

@Samrat002
Copy link
Contributor Author

@PrabhuJoseph updated with changes !

YARN-11195. Fix markdown path

YARN-11195. Add optional numa balancing step

YARN-11195. Fix indentation

YARN-11195. Fix indentation

YARN-11195. Numa Enabling document

YARN-11195. Numa Enabling document
@hadoop-yetus
Copy link

🎊 +1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 52s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 0s No case conflicting files found.
+0 🆗 codespell 0m 0s codespell was not available.
+0 🆗 detsecrets 0m 0s detect-secrets was not available.
+0 🆗 markdownlint 0m 0s markdownlint was not available.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
_ trunk Compile Tests _
+1 💚 mvninstall 40m 19s trunk passed
+1 💚 mvnsite 0m 38s trunk passed
+1 💚 shadedclient 59m 50s branch has no errors when building and testing our client artifacts.
_ Patch Compile Tests _
+1 💚 mvninstall 0m 18s the patch passed
+1 💚 blanks 0m 0s The patch has no blanks issues.
+1 💚 mvnsite 0m 22s the patch passed
+1 💚 shadedclient 22m 40s patch has no errors when building and testing our client artifacts.
_ Other Tests _
+1 💚 asflicense 0m 43s The patch does not generate ASF License warnings.
86m 12s
Subsystem Report/Notes
Docker ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4501/6/artifact/out/Dockerfile
GITHUB PR #4501
Optional Tests dupname asflicense mvnsite codespell detsecrets markdownlint
uname Linux 7f1da01871ec 4.15.0-175-generic #184-Ubuntu SMP Thu Mar 24 17:48:36 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/bin/hadoop.sh
git revision trunk / 3c7bac2
Max. process+thread count 574 (vs. ulimit of 5500)
modules C: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site U: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4501/6/console
versions git=2.25.1 maven=3.6.3
Powered by Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.

@PrabhuJoseph
Copy link
Contributor

Thanks @Samrat002. Latest patch LGTM, +1.

@PrabhuJoseph PrabhuJoseph merged commit 7eefdf8 into apache:trunk Jun 28, 2022
@Samrat002 Samrat002 deleted the YARN-11195 branch June 28, 2022 12:39
HarshitGupta11 pushed a commit to HarshitGupta11/hadoop that referenced this pull request Nov 28, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants