Wondering how to decide how many nodes for each role do I need?
That's a "how long is a piece of rope" kind of question that depends on too many factors. If you don't have at least ten nodes (give or take) I don't think you should spend time on this.
Keep in mind that if you want to have master-only nodes you should have (at least) three since one master node results in a single point of failure for your cluster and two makes you liable to split brain issues. And the cost of three master-only nodes isn't justifiable for small clusters.