As shabaz mentioned in the previous comments a lot of the setup for a Pi Cluster applies to other scenarios. Something I stumbled upon this week was building a hadoop cluster with raspberry pi which is another thing you could do with the Bitscope blades.
In this part of the project, I'm looking at the setting up of the nodes.
SSH
I took a slightly different approach to enabling SSH on the nodes by creating a file called ssh on each of the boot partition of the SD cards.
Network
Each node was renamed and given an unique IP, 201,202 and 203.
So that the nodes can communicate to the main network the controller has been configured to act as a gateway, see Niall McCarroll - Building a Raspberry Pi mini cluster - part 1
I followed the previous steps to give the boards static IP addresses, however, it does not work. The boards kept ending up with a DHCP assigned IP address and if I turned off DHCP then I ended up with no address at all.
Eventually, this turned out to be out of date information and rather than change the IP address in the interface file, it has to be given in the DHCP config file /etc/dhcpcd.conf
interface eth0 static ip_address=10.1.1.201/24 static routers=10.1.1.200 static domain_name_servers=192.168.1.254 8.8.8.8 4.2.2.1
I also found that the domain name servers were not being picked up correctly. The following command shows what you have configured.
resolvconf -l
It should give the list of addresses mention above. I found it did not work correctly until I changed the /etc/network/interfaces back to it's default.
iface eth0 inet manual
Network share
The steps to mount the share are the same as for the controller, starting with the backup of the fstab file, creating a password file and adding the mount point.
I also needed to install smbclient using
sudo apt-get install smbclient
Automating the configuration
Once SSH and the network are configured we can automate the install of the other software. The first step to this is to follow the steps in Rachael's article below to add keys to connect to SSH. We can then use shell commands to run the same thing on each of the nodes. You can't use this for interactive tools such as editors but it's good for command line such as mkdir and cp.
#!/bin/sh HOSTS="cluster1 cluster2 cluster3" for HOSTNAME in $HOSTS; do echo executing command on $HOSTNAME ssh `whoami`@$HOSTNAME $@ done
In the next and final part of this series I'll look at running Blender from the command line so that all the nodes can be processing files.
Reference
Setting a static ip in Raspbian
Building a Raspberry Pi mini cluster - part 1
Updating security for remotely connecting to my servers via SSH