Graceful shutdown
You can configure the graceful shutdown as described in Graceful shutdown.
JournalNodes
As a default, JournalNodes have 15 minutes
to shut down gracefully.
The JournalNode process will receive a SIGTERM
signal when Kubernetes wants to terminate the Pod.
It will log the received signal as shown in the log below and initiate a graceful shutdown.
After the graceful shutdown timeout runs out, and the process still didn’t exit, Kubernetes will issue a SIGKILL
signal.
This is the relevant code that gets executed in the JournalNodes as of HDFS version 3.3.4
.
2023-10-10 13:37:41,525 ERROR server.JournalNode (LogAdapter.java:error(75)) - RECEIVED SIGNAL 15: SIGTERM
2023-10-10 13:37:41,526 INFO server.JournalNode (LogAdapter.java:info(51)) - SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down JournalNode at hdfs-journalnode-default-0/10.244.0.38
************************************************************/
NameNodes
As a default, NameNodes have 15 minutes
to shut down gracefully.
They use the same mechanism described above.
This is the relevant code that gets executed in the NameNodes as of HDFS version 3.3.4
.
DataNodes
As a default, DataNodes have 30 minutes
to shut down gracefully.
They use the same mechanism described above.
This is the relevant code that gets executed in the DataNodes as of HDFS version 3.3.4
.