Suchen

Big-Data-Erweiterungen für Microsoft Azure So funktioniert Apache Kafka für HDInsight

Autor / Redakteur: Thomas Joos / Nico Litzel

Geht es um die Verarbeitung von Streamingdaten, arbeiten viele Entwickler mit dem Open Source Tool Apache Kafka. Dieses lässt sich auch in die Hadoop-Version HDInsight von Microsoft Azure integrieren, sodass Unternehmen Streamingdaten effizient auswerten können

Firmen zum Thema

In Microsoft Azure lassen sich HDInsight-Cluster erstellen, die auch über Open-Source-Erweiterungen verfügen.
In Microsoft Azure lassen sich HDInsight-Cluster erstellen, die auch über Open-Source-Erweiterungen verfügen.
(Bild: T. Joos)

Microsoft Azure HDInsight können Unternehmen kostenlos testen. Alles, was dazu notwendig ist, lässt sich auf der Azure-Webseite schnell und einfach erledigen. Sobald ein Azure-Konto zur Verfügung steht, lässt sich auch HDInsight ausprobieren.

Echtzeit-Analyse mit Kafka und HDInsight

Mit Apache Kafka können Unternehmen, zusammen mit HDInsight, eine Analyse-Plattform in Microsoft Azure erstellen, die in Echtzeit Daten analysiert, etwa in Internet-of-Things-Umgebungen. Dadurch sind auch Betrugserkennung, Clickstreamanalyse und Warnungen für Finanztransaktionen möglich. Ebenso können Daten aus sozialen Medien umfassend analysiert werden. Die Fähigkeit, große Datenmengen nahezu in Echtzeit zu verarbeiten, das ist eine der Stärken von Kafka, denn Kafka kann zusammen mit Azure HDInsight pro Sekunde Daten von tausenden Clients verarbeiten.

Neben Apache Kafka kann auch Apache Storm in Azure HDInsight integriert werden. Das Echtzeit-Analysesystem kann nicht nur Daten in Echtzeit verarbeiten, sondern die Ergebnisse während der Verarbeitung auch ausgeben. Die Daten werden aber nicht nur angezeigt, sondern Entwickler können auch Abfragen erstellen, die ebenfalls parallel durchgeführt werden. Daher sind Apache Storm und Apache Kafka, zusammen mit HDInsight, eine ideale Grundlage für die Echtzeitanalyse von großen Datenmengen.

Daten aus externen Quellen

Microsoft Azure HDInsight kann nicht nur mit Apache Kafka und Apache Storm zusammenarbeiten, sondern auch mit anderen Diensten zur Verarbeitung von Big-Data-Informationen, zum Beispiel Apache Spark. Diese drei Open-Source-Dienste, also Spark, Storm und Kafka, laufen im internen Netzwerk bei Microsoft Azure im HDInsight-Cluster oder in eigenen Clustern. Die zu verarbeitenden Daten gelangen direkt aus dem Internet in die Datenverarbeitung. Dazu stellt Microsoft Azure das HDInsight Public Gateway zur Verfügung.

Das Gateway sammelt Daten aus dem Internet und stellt diese über ein Virtual Network in Microsoft Azure zur Verfügung. Dadurch lassen sich die Daten im Microsoft-Azure-Netzwerk des Unternehmens weiterverarbeiten, ohne dass die Internetleitung des Unternehmens belastet wird oder eigene Server notwendig sind. Dienste in Microsoft Azure, die direkt miteinander kommunizieren müssen, erhalten die Möglichkeit dazu. Das heißt, auch im internen Azure-Netzwerk wird der Datenverkehr optimiert.

Apache Kafka kann auch mit Ambari zusammenarbeiten und bietet die Möglichkeit, mit dem Internet zu kommunizieren. Dazu lassen sich Ports und URLs definieren, mit denen sich auch von extern, zum Beispiel anderen Big-Data-Diensten oder Cloud-Anwendungen, Daten analysieren lassen.

Schnelle und einfache Bereitstellung mit Vorlagen

Natürlich lassen sich Kafka, Storm, Ambari und HDInsight-Cluster manuell erstellen oder über eigene Skripte. Allerdings ist die Zusammenarbeit der Dienste so kompliziert, dass in den meisten Fällen eine automatisierte Bereitstellung besser geeignet ist. Auch für Entwickler, die noch keine große Erfahrung haben, eigene HDInsight-Cluster aufzubauen und mit Spark und Storm auszustatten, sind Vorlagen oft besser geeignet. Microsoft bietet dazu eine Azure-Resource-Manager-Vorlage.

Diese hilft bei der Erstellung des Clusters, den notwendigen Netzwerken und allen wichtigen Verbindungen. Der Assistent erstellt einen HDInsight-Cluster mit Spark- und Kafka-Knoten. Microsoft zeigt die Einrichtung über ein Dokument in der Azure-Hilfe.

Abrechnung bei der Verwendung von Kafka und HDInsight beachten

Microsoft verrechnet für Azure HDInsight immer die verwendete Rechenzeit. Aus diesem Grund sollten Cluster, die nicht mehr verwendet werden, entweder gelöscht werden oder Entwickler sollten die beteiligen Clusterknoten zumindest ausschalten. Dazu kommt, dass Microsoft bei der Integration von Open-Source-Produkten meistens mehrere Versionen anbietet.

Hier sollte also überprüft werden, welche Version für die zu bearbeitenden Daten am besten geeignet ist. Viele Funktionen werden außerdem als Vorschau in Microsoft Azure zur Verfügung gestellt. Das gilt auch für den Einsatz von verschiedenen Kafka-Versionen. Nicht jedes Azure-Abonnement wurde für alle Vorabversionen freigeschaltet. In diesem Fall lassen sich aber in der Weboberfläche direkt Links aufrufen, um die Freischaltung durchzuführen. Microsoft zeigt die ersten Schritte auf einer Get-Started-Seite in Microsoft Azure.

Zugriff über das Internet per VPN

Remoteclients können über das Internet auf Kafka und Microsoft Azure HDInsight zugreifen. Damit der Zugriff funktioniert, ist allerdings eine Anpassung des dazugehörigen virtuellen Netzwerks in Microsoft Azure notwendig. Das Gateway empfängt zwar die zu verarbeitenden Daten aus dem Internet und leitet diese an Kafka weiter, das gilt aber nicht für die Zugriffe von Remote-Clients. Sie benötigen dafür ein eigenes VPN-Gateway, meistens auch ein eigenes virtuelles Netzwerk, speziell für die Remotezugriffe. Innerhalb der virtuellen Netzwerke lassen sich Ports und Firewall-Regeln definieren. Auch die Namensauflösung muss entsprechend konfiguriert werden. Hier bietet es sich an, mit einer internen Namensauflösung im Azure-Netzwerk zu arbeiten oder mit einem eigenen DNS-Server.

Fazit

Microsoft Azure HDInsight ist seit längerem eine ernstzunehmende Hadoop-Version, die vollständig auf den Clouddienst von Microsoft Azure aufbaut. Da Microsoft immer mehr Open Source Tools in HDInsight einbindet, profitieren Unternehmen und Entwickler von den Möglichkeiten der Lösung. Die Sicherheit wird durch virtuelle Netzwerke gewährleistet und auch die Einrichtung ist schnell und einfach möglich, da Microsoft Vorlagen zur Verfügung stellt.

(ID:44793217)

Über den Autor

 Thomas Joos

Thomas Joos

Freiberuflicher Autor und Journalist