Let's update this for 2019! It seems to come up a lot in google results, and since I originally wrote this in 2015 "things have changed". Splunk environments are larger and more complex, and honestly I know more about scaling clusters than I did then. A very small cluster (3-4 indexers, 500GB a day or so) would likely be fine with the below specs.
In 2019, I would make sure that my cluster master is similar in specs to my indexers - except for the disk space requirement. The CM does not need a lot of disk, but it can use lots of CPU and lots of RAM. Every bucket in the cluster has state that must be kept in the CM's RAM, and the status of those buckets must be updated as things on the cluster happen. There's a saying, "More Buckets More Problems" so be aware that CM scaling and tuning is partly a function of the number of buckets in your cluster.
FIrst of all you should follow what the Splunk docs say as far as hardware requirements! Beyond that, a good reference is Da Xu's and Chloe Yeung's .conf talk "Indexer Clustering Internals, Scaling and Performance Testing". See the slides and video from .conf 2018.
Old answer from 2015 follows, please don't try to use this unless you're reading this from a time machine in 2015:
The hardware requirements for a cluster manager really are small. Search concurrency does play a part as does the number of indexers. The primary role of the cluster master is to coordinate which indexer houses the "primary" copies of buckets and which indexer(s) hold the "backup" copies. If your cluster master is dedicated exclusively to this task (and it should be) then any small-to-medium size cluster should be able to get by with 2 cores and 4GB of RAM. Even if the rest of your Splunk installation is on "bare metal", a cluster master is a good candidate for a small virtual machine.
... View more