An alternative to having many physical cluster nodes is creating virtual machines. You would only have one or two actual physical machines, but could simulate having many more nodes. This would work fine for creating, learning, and use less resources (space, power, $$$).
This wouldn't give you much of any cost analysis, but it would get you started. The type of cluster setup would depend on the type of work you want to create for it. You can many small nodes or have just a few powerful nodes. There are shared and non-shared memory environments to consider also. What type of parallel programs are you wanting to create? The more physical nodes you have, the more space, power, cooling, and network inter-connectivity you have to consider. Sometimes, just one big massive computer is the way to go (and shared memory environments are easier to program for IMHO).
I recently started playing with a cluster build a few random P4 boxes, ubuntu, and LAM-MPI. It has definitely been a learning experience.
It was actually a couple p4 laptops and towers just piled together in a garage. It was ghetto, but I just wanted to learn. I just used a 100 Mbps ethernet network. I chose ubuntu, because I didn't want to deal with much hardware configuration of the boxes. Ubuntu had a lot of the drivers I needed. I needed a linux environment as the applications I wrote for it were C based apps with MPI interfaces. I tried to replicate what I had used before. It was all misc. hardware, nothing standard. Most clusters have exact hardware so you can add and remove nodes in a snap.