Viele Big Data Szenarien verwenden den sogenannten SMACK-Softwarestack (Spark, Mesos, Akka, Cassandra, und Kafka) als Laufzeitumgebung. Dabei handelt es sich um frei verfügbare Software, die normalerweise auf Rechnerclustern in Datenzentren installiert wird, um dort Big Data Anwendungen durchzuführen.
Der kleine Raspberry Pi bietet eine interessante Möglichkeit, um sich ein eigenes Rechnercluster im Wohnzimmer aufbauen zu können.
Ein Rechnercluster ist ein Rechnerverbund aus mehreren vernetzten Computern, der z.B. industriell eingesetzt wird, um große Rechnerkapazitäten bereitzustellen (High Performance Computing), oder um eine hohe Ausfallsicherheit zu erzielen (Hochverfügbarkeitscluster).
Der SMACK-Softwarestack, bestehend aus den Teilen Spark, Mesos, Akka, Cassandra, und Kafka wird hierbei eingesetzt, um verschiedene Funktionen bereitzustellen, die in der Großdatenverarbeitung genutzt werden:
Man kann sich den SMACK Stack zwar – für kleine Anwendungen – auch auf einem Notebook installieren. Jedoch fehlt dann der Cluster-Charakter.
Um mit diesen Technologien vollumfänglich experimentieren zu können, gibt es im Prinzip zwei Möglichkeiten:
Für die zweite Variante gibt es eine schöne und nicht sehr kostenintensive Lösung auf der Grundlage des Einplatinencomputers Raspberry PI. Man kann sich leicht vorstellen, daß man hiermit z.B. sein Smart Home ausstatten könnte, um gleich an die notwendigen Daten zu kommen.
Der Raspberry PI dürfte allgemein bekannt sein. Es handelt sich um eine kleine Platine, auf der ein gesamter Computer untergebracht ist, die schon für wenig Geld zu haben ist. Dieser kleine Rechner hat vielen Leuten den Zugang zur Programmierung von Hardware eröffnet, und ist kaum noch aus der Maker-Szene wegzudenken.
Normalerweise verbindet man die Platine mit einem Netzteil, stattet das Ganze mit einem Shield (Zusatzplatine) und nutzt WLan/ Lan, um das Gerät ins Internet zu bringen. Eine solchen Rechner stattet man mittels SD Karte mit einem Linux Betriebssystem aus, und kann dann z.B. im Bereich des IoT Geräte und Anwendungen programmieren. Dieses Gerät, bzw genaugenommen, mehrere solcher Rechner kann man allerdings auch verwenden, um sich damit einen Rechnerverbund aufzubauen auf dem man dann den SMACK Stack installiert.
In der Anlage finden Sie einen Link auf mehrere Artikel (mit denen ich in keinerlei Verbindung stehe), die verschiedene Möglichkeiten zeigen, wie man sich für wenig Geld die Hardware aufbauen kann. Die Lösungen reichen von einfachen Acrylgehäusen, und reichen zu einer Platine, mit der man vier Geräte inklusive Stromversorgung in einem 19 Zoll Rock installieren kann.
Mir persönlich gefällt die (letztgenannte) Bitscope Lösung sehr gut, da man hiermit die gesamte Hardware (konkret 4 Raspis pro 19 Zoll-Einschubgehäuse), die man zum Experimentieren benötigt in einem kleinen Serverschrank unterbringen kann, und da man das Cluster dann sicher mit Energie versorgen, und ins Netzwerk integrieren kann.
Auf der entsprechenden Homepage von Bitscope wird auch Hardware von der Firma WDLabs gezeigt, mit der man diesem Cluster Festplattenkapazität bereitstellen kann. Letztendlich geht es um Big Data, und deshalb reichen die in diesem kleinen Gerät sonst üblichen SD Karten nicht sehr weit.
Ich denke, daß 2 Einheiten a 4 Raspberry PI zusammen mit einer 1TB Festplatte schon ein ordentliches Cluster geben würden. Das Ganze könnte man per Switch an das Lan anschliessen, d.h hätte dann 8 vernetzte Computer.
In den weiteren, ebenfalls unten angehängten Artikeln finden Sie Informationen zur Installation der einzelnen Softwarekomponenten des SMACK Stacks auf diesem Rechnercluster.
Wer sich ein wenig mit dem Raspberry PI auskennt, wird sich hier schnell zurechtfinden. Die Beschreibungen selbst sind relativ straight forward, und sollten sich mit etwas Geschick relativ einfach umsetzen lassen. Am Ende sollten die einzelnen Raspberry Pi Rechner entsprechend konfiguriert und vernetzt sein. Ein Rechner könnte z.B. für Spark vorbereitet sein, der andere für Mesos, und wieder einer für Cassandra.
Die Frage ist nun, was man nun mit einem solchen Cluster machen kann. Wie gesagt ginge es mir eher darum, über eine eigene Testlandschaft zu verfügen, mit der man Erfahrungen in SMACK sammeln kann (insbesondere der Teil des Machine Learning).
Beispielsweise könnte man sich regelmäßig Wetterdaten aus dem Internet beschaffen, um diese dann in Spark zu Cassandra abzulegen. Gleichzeitig könnte man sich über eigene Sensoren Hausdaten besorgen, und die ebenfalls dort speichern.
Solche Datenströme würde man dann z.B. über ein Lernmodell (SPARK ML) auswerten, und in einem Dashboard darstellen.
Man könnt sich allerdings auch Finanzdaten besorgen um sich dann ein eigenes Vorhersagemodell zu erstellen – der Fantasie dürften keine Grenzen gesetzt sein.
Das Original dieses Artikels ist auf →Der Produktmanager erschienen (©Andreas Rudolph). Folgeartikel zum Thema gibt es über die (→Mailingliste), oder indem Sie →mir auf Twitter folgen.
In der Online Version des Artikels finden Sie hier die versprochenen weiterführenden Links: