12 volt motor transistor

2A / 50 = 40mA
That is the maximum what the Arduino can handle.
To get the transistor to be fully on, about 30% extra current is used. So the transistor is getting hotter than it should be.

You forgot to mention what the value of the resistor is, between the Arduino and the base of the transistor.

A mosfet could be RFP12N10L, but most power logic mosfet will do.
It has to be a logic mosfet, because normal mosfets are 'on' at about 9V, and the mosfet should be 'on' if the pin of the Arduino is between 4 and 5V.