Hi All,
Resolved using below steps:
1) To observe the Datanode threads:
- Created a widget in Ambari under HDFS for DataNode Threads (Runnable, Waited, Blocked)

- Monitored that from a particular date the threads went in wait stage.

- Exported the graph widget CSV file to view the exact time of wait threads.
2) Restart all Datanodes manually and observed that the wait threads were released.
3) With default 4096 threads the DataNode is running properly.

Still unable to understand:
1) How to check the wait threads are in which DataNode?
2) Which task or process tend to threads in the wait stage?
Would like to know if anyone comes across this and able to find in detail.
Else the above steps are the only solution for wait threads.