@ARUN
The whole purpose of “balancer” utility is to help balance the blocks across DataNodes in the cluster. So it should do the job, if there is no major issue at the cluster level.
It is usually recommend to run the balancer periodically during times when the cluster load is expected to be lower than usual.
Also please refer to the following article that explains the importance of balancer and the performance improvement facts: https://community.hortonworks.com/articles/43615/hdfs-balancer-1-100x-performance-improvement.html
You can run the HDFS balancer in Maintenance window as well as Without a Maintenance window. Few things you should keep in mind while running the balancer as mentioned in : https://community.hortonworks.com/articles/43849/hdfs-balancer-2-configurations-cli-options.html