Is there any necessary to set node type of an es cluster which only has three nodes?

I set up an elasticsearch cluster which has only three nodes, should I set one as master node and other two as data nodes? And do I have to add more nodes for coordinate and ingest?

PS. I will use this cluster in a production environment and data amount is small

For small environments it is fairly common to have three master eligible nodes and then add some non-master eligible nodes.

Best case is to have three master eligible only nodes but that is harder to justify with a small cluster. Second best is to have three master eligible nodes like I said.

Having just one master eligible node or just two isn't good. Go for three.

For small deployments it is generally fine to have 3 nodes with the default configuration (all roles). I’d load gets high or the cluster grows you can introduce dedicated node types.