You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(gpu): Stabilize NodeManager startup and enhance script robustness
This commit incorporates several fixes to address NodeManager startup issues, particularly on Rocky Linux, and improves the overall robustness and idempotency of the GPU initialization script.
Key changes:
1. **Corrected Systemd Service Order:**
- The `dataproc-gpu-config.service` is now configured to run *Before* `hadoop-yarn-nodemanager.service` and `hadoop-yarn-resourcemanager.service`.
- YARN services are now restarted using `ExecStartPost` directives within the `dataproc-gpu-config.service` unit, ensuring configurations are applied prior to service startup.
- The internal restart loop in the generated `apply-dataproc-gpu-config.sh` is no longer needed and has been removed.
2. **Rocky Linux NodeManager Fix:**
- Added `export HADOOP_NICENESS=0` to `/etc/hadoop/conf/hadoop-env.sh` on Rocky Linux systems to prevent NodeManager startup failures due to `renice` permission issues.
3. **Improved Idempotency:**
- `configure_gpu_isolation` now checks for existing lines in `container-executor.cfg` and `yarn-env.sh` before adding configurations, preventing duplicates.
4. **Hardened MIG Script Fetching:**
- The script will now exit with an error if MIG is enabled but the required MIG scripts cannot be fetched.
5. **Deferred Script Logging:**
- The generated `apply-dataproc-gpu-config.sh` script now defines `install_log` to ensure `execute_with_retries` can log properly.
6. **Debugging:**
- Added more verbose output around the `systemctl daemon-reload` call in the generated script to help diagnose any potential issues.
- Redirected stderr to stdout when executing the generated script in the main script for better log capture.
Copy file name to clipboardExpand all lines: gpu/install_gpu_driver.sh
+66-34Lines changed: 66 additions & 34 deletions
Original file line number
Diff line number
Diff line change
@@ -1708,15 +1708,38 @@ function configure_gpu_isolation() {
1708
1708
echo"Hadoop conf dir ${HADOOP_CONF_DIR} not found. Skipping GPU isolation config."
1709
1709
return
1710
1710
fi
1711
+
1711
1712
# enable GPU isolation
1712
1713
sed -i "s/yarn\.nodemanager\.linux\-container\-executor\.group\=.*$/yarn\.nodemanager\.linux\-container\-executor\.group\=yarn/g""${HADOOP_CONF_DIR}/container-executor.cfg"
1714
+
1715
+
local cfg_file="${HADOOP_CONF_DIR}/container-executor.cfg"
1716
+
# Ensure [gpu] section exists and module.enabled=true
0 commit comments