Raspberry Pi Cluster

Raspberry Pi Cluster mit Apache

Eins der populärsten Projekte für den Raspberry Pi ist wohl der Aufbau eines Clusters – den der Pi ist klein und kostengünstig. Allerdings genügt das nicht um an die Leistungsfähigkeit und Möglichkeiten eines normalen Rechners heranzukommen. Trotzdem können Raspberry Pi’s in manchen kleineren Umgebungen zusammengeschaltet durchaus sind ergeben, wenn die Aufgaben nicht von einem bearbeitet werden können oder andere Anforderungen an die Geschwindigkeit bestehen, z. B. bei einem Webserver.

Vorbereitungen für das Cluster

Der Grundstein zum Aufbau des Cluster wird mit einem aktuellen Raspian Image gelegt – also SD-Karte flashen und Raspberry Pi updaten.

sudo apt-get update && apt-get upgrade -y

Auf jedem Raspberry Pi im Cluster setzen wir über raspi-config diese Optionen und starten die Raspberry’s anschließend neu:

  • Memory split für die GPU auf 16MB (Erweiterte Optionen)
  • CPU Taktfrequenz auf 800 MHz
  • Erweitern des Dateisystems

Zum Schluss wird auf allen Raspberry Pi’s ein Apache Webserver installiert.

sudo apt-get install apache2

Aufbau eines Load-Balancers

Auf einem Raspberry Pi oder anderen System muss zusätzlich ein Load-Balancer eingerichtet werden, der die Anfragen an die Pi’s verteilt.

Dafür nutzen wir einfach den hauseigenen Loadbalancer von Apache und starten diesen:

sudo a2enmod proxy
sudo a2enmod proxy_http
sudo a2enmod proxy_balancer

Und danach selbst Apache neu starten:

service apache2 restart

Nun muss der Balancer um die Clustermitglieder (BalancerMember …) konfiguriert werden. Dafür wird die Datei /etc/apache2/sites-available/default (in <VirtualHost *:80>…</VirtualHost> Bereich) angepasst.

<Proxy balancer://rpicluster>
	BalancerMember http://192.168.178.27:80
	BalancerMember http://192.168.178.74:80

	AllowOverride None
	Order allow,deny
	allow from all

	ProxySet lbmethod=byrequests
</Proxy>

<Location /balancer-manager>
	SetHandler balancer-manager

	Order allow,deny
	allow from 192.168.178
</Location>

Über http://%loadbalancer%/balancer-manager kann das Balancer-Interface aufgerufen werden. Unter Worker URL sind alle im Cluster eingebundenen Pi’s aufgeführt. In Elected stehen die verteilten Aufrufe nach Round-Robin Verfahren. Abwechselnd werden beim Aufruf des Loadbalancers (http://%loadbalancer%/) die Inhalte der aufgeführten Raspberry Pi’s dargestellt.

Loadbalancer - Raspberry Pi
Loadbalancer – Raspberry Pi

Was brauche ich zum Aufbau eines Clusters?

Natürlich benötigen wir für ein Cluster mehr als einen Raspberry Pi. Mindestens zwei oder sogar mehr, da sich sonst die Anschaffung der anderen benötigten Hardware nicht lohen würde. Die folgende Liste veranschaulicht nochmal alle benötigte Hardware:

Den Raspberry Pi und weiteres Zubehör für dieses Projekt könntet Ihr bei de.farnell.com kaufen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.