Isso realmente depende do que você está tentando realizar e do que você quer dizer com "Cluster de computação distribuída". Eu fiz uma coisa semelhante uma vez na Uni usando máquinas antigas e PVM que é o "Cluster" no sentido de um monte de máquinas agindo como um único computador para fazer processamento paralelo - pense nos clusters Beowulf. Claro, você precisará de um código escrito para aproveitar isso.
Um bom lugar para começar seria determinar o que você está procurando aprender com este projeto. Eu recomendo ler o artigo da wikipedia em Computação Paralela para começar, e então refinar suas necessidades com base no que você quer fazer.
Um sistema simples de enfileiramento de tarefas (como o redutor ) pode ser suficiente para obter resultados interessantes rapidamente.
O problema que tive quando criei um cluster de computação paralela, foi que eu não tinha nada para fazer nele, basicamente ficava lá, mas foi um projeto divertido e eu aprendi um pouco. Em qualquer caso, é provável que você aprenda um pouco e se divirta ao mesmo tempo, independentemente do que escolher implementar.
No que diz respeito à escolha de distribuições, gostaria de ir com o que eu estava mais confortável, pois você provavelmente precisará instalar as coisas da fonte. Uma vez que você esteja confortável em configurar tudo, você pode procurar uma distribuição que seja mais adequada às suas necessidades. Mas qualquer distribuição deve fazer.
Qual software para configurar o cluster? Isso depende inteiramente do tipo de cluster que você cria.
A bordo vs. FS distribuído? Novamente, isso depende de quais são os requisitos para o cluster. Cada nó estará passando dados entre os outros nós? Eles vão operar como escravos com um único mestre? eles operarão de maneira completamente independente? Essas perguntas começarão a informar suas escolhas. E, claro, há sempre trade-offs.
Alguns outros links que podem ser interessantes: