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