Is there a certain size for each of these terms?
Historically in the UK. A village had a church, a hamlet didn't, a town had a market and a city had to have a cathedral.
Now it's decided by various local authorities so there were some new cities created recently, while there are places with a population of only a few 1000 (village size) which are cities because they were important in the middle ages.
Metropolis isn't really used in the UK - except for London, hence Metropolitan police (London's police) or the Metropolitan line (tube)
Here's the order as described by the New Oxford American Dictionary:
- hamlet: a small settlement, generally one smaller than a village
- village: a group of houses and associated buildings, larger than a hamlet and smaller than a town, situated in a rural area
- town: an urban area that has a name, defined boundaries, and local government, and that is larger than a village and generally smaller than a city.
- city: a large town
- metropolis: the capital or chief city of a country or region, or: a very large and densely populated industrial and commercial city
As to specific thresholds, no, just that they are relative (according to F'x's list). Such terms are naturally (i.e. in common usage) vague.
The only way any specific threshold can be made is by explicit authorities, set either by population size, area, or some other feature, and by some legal or authoritative fiat (a local government says place 'X' is a town, or my grandmother always used to call this a village). That is, in my part of the world, a particular place called a town might have much smaller population/area than a village in yours for very arbitrary reasons.