Elasticsearch Cluster Unassigned Shards

Hi,

I am using 2 nodes as ES Cluster, 1-master&data and 1 data node.
Using Tomcat we connect as client to the ES Cluster.

I observe that at times the cluster is RED because of unassigned shards in cluster.

My Question is how to handle those, some say reroute the shards manually and some say to change the settings " cluster.routing.allocation.enable" : all "

which one is suggested to do and what happens to data if i go with above things, or Do i have any other suggested best way to handle this.

Best way is to find out why they are unallocated, did you run out of disk space? What do the ES logs show?