Dela via


Apache Spark-strömningsexempel (DStream) med Apache Kafka på HDInsight

Lär dig hur du använder Apache Spark för att strömma data till eller från Apache Kafka i HDInsight med hjälp av D Flöden. I det här exemplet används en Jupyter Notebook som körs i Spark-klustret.

Kommentar

Stegen i det här dokumentet skapar en Azure-resursgrupp som innehåller både en Apache Spark på HDInsight och en Kafka på HDInsight-klustret. Båda dessa kluster finns i ett virtuellt Azure-nätverk, vilket innebär att Apache Spark-klustret kan kommunicera direkt med Kafka-klustret.

Kom ihåg att ta bort klustren för att undvika onödiga avgifter när du är klar med stegen i det här dokumentet.

Viktigt!

I det här exemplet används D Flöden, som är en äldre Spark-strömningsteknik. Ett exempel som använder nyare Spark-strömningsfunktioner finns i Spark Structured Streaming med Apache Kafka-dokumentet .

Skapa kluster

Apache Kafka på HDInsight ger inte åtkomst till Kafka-mäklarna via det offentliga Internet. Allt som pratar med Kafka måste finnas i samma virtuella Azure-nätverk som noderna i Kafka-klustret. I det här exemplet finns både Kafka- och Spark-kluster i ett virtuellt Azure-nätverk. Följande diagram visar hur kommunikationen flödar mellan klustren:

Diagram of Spark and Kafka clusters in an Azure virtual network.

Kommentar

Även om Kafka i sig är begränsat till kommunikation inom det virtuella nätverket kan andra tjänster i klustret, till exempel SSH och Ambari, nås via Internet. Mer information om de offentliga portar som är tillgängliga med HDInsight finns i Portar och URI:er som används av HDInsight.

Även om du kan skapa ett virtuellt Azure-nätverk, Kafka- och Spark-kluster manuellt, är det enklare att använda en Azure Resource Manager-mall. Använd följande steg för att distribuera ett virtuellt Azure-nätverk, Kafka- och Spark-kluster till din Azure-prenumeration.

  1. Använd följande knapp för att logga in på Azure och öppna mallen i Azure Portal.

    Deploy to Azure button for new cluster

    Varning

    För att garantera tillgängligheten för Kafka i HDInsight måste klustret innehålla minst fyra arbetsnoder. Den här mallen skapar ett Kafka-kluster som innehåller fyra arbetsnoder.

    Den här mallen skapar ett HDInsight 4.0-kluster för både Kafka och Spark.

  2. Använd följande information för att fylla i posterna i avsnittet Anpassad distribution :

    Property Värde
    Resursgrupp Skapa en grupp eller välj en befintlig.
    Plats Välj en plats geografiskt nära dig.
    Namn på baskluster Det här värdet används som basnamn för Spark- och Kafka-kluster. Om du till exempel anger hdistreaming skapas ett Spark-kluster med namnet spark-hdistreaming och ett Kafka-kluster med namnet kafka-hdistreaming.
    Användarnamn för klusterinloggning Administratörsanvändarnamnet för Spark- och Kafka-kluster.
    Lösenord för klusterinloggning Administratörsanvändarlösenordet för Spark- och Kafka-kluster.
    SSH-användarnamn Den SSH-användare som ska skapas för Spark- och Kafka-kluster.
    SSH-lösenord Lösenordet för SSH-användaren för Spark- och Kafka-klustren.

    HDInsight custom deployment parameters.

  3. Granska villkoren och välj sedan Jag godkänner villkoren ovan.

  4. Välj slutligen Köp. Det tar cirka 20 minuter att skapa klustren.

När resurserna har skapats visas en sammanfattningssida.

Resource group summary for the vnet and clusters.

Viktigt!

Observera att namnen på HDInsight-klustren är spark-BASENAME och kafka-BASENAME, där BASENAME är det namn som du angav i mallen. Du använder dessa namn i senare steg när du ansluter till klustren.

Använda notebook-filerna

Koden för exemplet som beskrivs i det här dokumentet finns på https://github.com/Azure-Samples/hdinsight-spark-scala-kafka.

Ta bort klustret

Varning

Faktureringen för HDInsight-kluster beräknas proportionellt per minut, oavsett om du använder dem eller inte. Se till att ta bort klustret när du har använt det. Se hur du tar bort ett HDInsight-kluster.

Eftersom stegen i det här dokumentet skapar båda klustren i samma Azure-resursgrupp kan du ta bort resursgruppen i Azure-portalen. Om du tar bort gruppen tas alla resurser som skapats genom att följa det här dokumentet, Azure Virtual Network och lagringskontot som används av klustren.

Nästa steg

I det här exemplet har du lärt dig hur du använder Spark för att läsa och skriva till Kafka. Använd följande länkar för att identifiera andra sätt att arbeta med Kafka: