my cluster is with yellow status because some shards are unassigned. what to do with this?
I tried set cluster.routing.allocation.disable_allocation = false
Those unassigned shards are actually unassigned replicas of your actual shards from the master node.
In order to assign these shards, you need to run a new instance of elasticsearch to create a secondary node to carry the data replicas.
EDIT: Sometimes the unassigned shards belongs to indexes that have been deleted making them orphan shards that will never assign regardless of adding nodes or not. But it's not the case here!