Mi az Azure HDInsight Apache KafkaWhat is Apache Kafka in Azure HDInsight

Az Apache Kafka egy nyílt forráskódú elosztott streamelési platform streamadatfolyamatok és -alkalmazások létrehozásához.Apache Kafka is an open-source distributed streaming platform that can be used to build real-time streaming data pipelines and applications. A Kafka az üzenetsorokhoz hasonló üzenetközvetítő funkciót is biztosít, amellyel adatstreameket tehet közzé, illetve feliratkozhat rájuk.Kafka also provides message broker functionality similar to a message queue, where you can publish and subscribe to named data streams.

A HDInsight-alapú Kafka jellegzetességei:The following are specific characteristics of Kafka on HDInsight:

  • Egy felügyelt szolgáltatás, amely egyszerűsített konfigurációs folyamatot biztosít.It is a managed service that provides a simplified configuration process. Ennek eredménye egy, a Microsoft által tesztelt és támogatott konfiguráció.The result is a configuration that is tested and supported by Microsoft.

  • A Microsoft 99,9%-os szolgáltatói szerződést (SLA) nyújt a Kafka üzemidejével kapcsolatban.Microsoft provides a 99.9% Service Level Agreement (SLA) on Kafka uptime. További információkért lásd a HDInsight szolgáltatói szerződésével kapcsolatos információkat ismertető dokumentumot.For more information, see the SLA information for HDInsight document.

  • A Kafka az Azure Managed Disks szolgáltatást használja háttértárként.It uses Azure Managed Disks as the backing store for Kafka. A Managed Disks akár 16 TB tárhelyet biztosíthat Kafka-közvetítőnként.Managed Disks can provide up to 16 TB of storage per Kafka broker. További információ a felügyelt lemezek a HDInsight-beli Kafka-vel való konfigurálásáról: Apache Kafka skálázhatóságának növelése a HDInsight-on.For information on configuring managed disks with Kafka on HDInsight, see Increase scalability of Apache Kafka on HDInsight.

    További tudnivalók a felügyelt lemezekről: Azure Managed Disks.For more information on managed disks, see Azure Managed Disks.

  • A Kafkát egy egydimenziós állványnézettel tervezték.Kafka was designed with a single dimensional view of a rack. Az Azure az állványokat két dimenzióra osztja: a frissítési tartományokra (UD) és a tartalék tartományokra (FD).Azure separates a rack into two dimensions - Update Domains (UD) and Fault Domains (FD). A Microsoft biztosítja azokat az eszközöket, amelyek kiegyensúlyozhatják a Kafka-partíciókat és -replikákat a frissítési és tartalék tartományok között.Microsoft provides tools that rebalance Kafka partitions and replicas across UDs and FDs.

    További információ: magas rendelkezésre állás Apache Kafka on HDInsight.For more information, see High availability with Apache Kafka on HDInsight.

  • A HDInsight lehetővé teszi a feldolgozó csomópontok (amelyeken a Kafka-közvetítő fut) számának a fürt létrehozását követő módosítását.HDInsight allows you to change the number of worker nodes (which host the Kafka-broker) after cluster creation. A méretezés elvégezhető az Azure Portal, az Azure PowerShell vagy egyéb Azure-kezelőfelületek segítségével.Scaling can be performed from the Azure portal, Azure PowerShell, and other Azure management interfaces. A Kafka esetében érdemes kiegyenlíteni a partíciók replikáit a méretezési műveleteket követően.For Kafka, you should rebalance partition replicas after scaling operations. A partíciók kiegyenlítése lehetővé teszi, hogy a Kafka kihasználja a feldolgozó csomópontok új mennyiségét.Rebalancing partitions allows Kafka to take advantage of the new number of worker nodes.

    További információ: magas rendelkezésre állás Apache Kafka on HDInsight.For more information, see High availability with Apache Kafka on HDInsight.

  • Azure Monitor naplók használatával figyelheti a Kafka-t a HDInsight.Azure Monitor logs can be used to monitor Kafka on HDInsight. Azure Monitor naplózza a virtuális gépekre vonatkozó információkat, például a lemez-és NIC-metrikákat, valamint a Kafka JMX metrikáit.Azure Monitor logs surfaces virtual machine level information, such as disk and NIC metrics, and JMX metrics from Kafka.

    További információ: a naplók elemzése Apache Kafka a HDInsight.For more information, see Analyze logs for Apache Kafka on HDInsight.

Apache Kafka a HDInsight architektúránApache Kafka on HDInsight architecture

Az alábbi ábra egy tipikus Kafka-konfigurációt mutat be, amely felhasználói csoportok, particionálás és replikálás használatával biztosítja az események párhuzamos olvasását hibatűréssel:The following diagram shows a typical Kafka configuration that uses consumer groups, partitioning, and replication to offer parallel reading of events with fault tolerance:

Kafka-fürtkonfigurációs ábra

A Kafka-fürt állapotát az Apache ZooKeeper felügyeli.Apache ZooKeeper manages the state of the Kafka cluster. A ZooKeeper egyidejű, rugalmas és kis késleltetésű tranzakciókhoz készült.Zookeeper is built for concurrent, resilient, and low-latency transactions.

A Kafka a rekordokat (adatokat) témakörökben tárolja.Kafka stores records (data) in topics. A rekordokat előállítók hozzák létre, és fogyasztók használják fel.Records are produced by producers, and consumed by consumers. Az előállítók Kafka-közvetítőknek adják tovább a rekordokat.Producers send records to Kafka brokers. A HDInsight-fürt mindegyik feldolgozó csomópontja egy Kafka-közvetítő.Each worker node in your HDInsight cluster is a Kafka broker.

A témakörök particionálják a rekordokat a közvetítők között.Topics partition records across brokers. A rekordok felhasználásakor partíciónként legfeljebb egy fogyasztó használható, az adatok párhuzamos feldolgozása érdekében.When consuming records, you can use up to one consumer per partition to achieve parallel processing of the data.

A partíciók csomópontok közötti duplikálásához a rendszer replikációt alkalmaz, amely védelmet nyújt a csomópontok (közvetítők) leállásával szemben.Replication is employed to duplicate partitions across nodes, protecting against node (broker) outages. Az ábrán (L) jelöléssel rendelkező partíció az adott partíció vezetője.A partition denoted with an (L) in the diagram is the leader for the given partition. Az előállítói forgalmat a csomópontok vezetőjéhez irányítja a rendszer a ZooKeeper által kezelt állapot segítségével.Producer traffic is routed to the leader of each node, using the state managed by ZooKeeper.

Miért érdemes Apache Kafka a HDInsight?Why use Apache Kafka on HDInsight?

Néhány gyakori feladat és minta, amelyek a HDInsight-alapú Kafkával elvégezhetők:The following are common tasks and patterns that can be performed using Kafka on HDInsight:

  • Apache Kafka-adatmennyiség replikálása: A Kafka biztosítja a MirrorMaker segédprogramot, amely a Kafka-fürtök között replikálja az adatgyűjtést.Replication of Apache Kafka data: Kafka provides the MirrorMaker utility, which replicates data between Kafka clusters.

    További információ a MirrorMaker használatáról: Apache Kafka témakörök replikálása Apache Kafka a HDInsight.For information on using MirrorMaker, see Replicate Apache Kafka topics with Apache Kafka on HDInsight.

  • Közzététel – előfizetés üzenetkezelési mintája: A Kafka egy termelői API-t biztosít a rekordok egy Kafka-témakörbe való közzétételéhez.Publish-subscribe messaging pattern: Kafka provides a Producer API for publishing records to a Kafka topic. A fogyasztói API-ra a témakörökre való feliratkozáskor van szükség.The Consumer API is used when subscribing to a topic.

    További információ: Start with apache Kafka on HDInsight.For more information, see Start with Apache Kafka on HDInsight.

  • Adatfolyam-feldolgozás: A Kafka használatát gyakran használják Apache Storm vagy Spark a valós idejű adatfolyam-feldolgozáshoz.Stream processing: Kafka is often used with Apache Storm or Spark for real-time stream processing. A Kafka 0.10.0.0 (HDInsight 3.5-ös és 3.6-os verzió) egy olyan streamelési API-t vezetett be, amely lehetővé teszi a streammegoldások Storm vagy Spark nélküli fejlesztését.Kafka 0.10.0.0 (HDInsight version 3.5 and 3.6) introduced a streaming API that allows you to build streaming solutions without requiring Storm or Spark.

    További információ: Start with apache Kafka on HDInsight.For more information, see Start with Apache Kafka on HDInsight.

  • Vízszintes skála: A Kafka partíciók a HDInsight-fürt csomópontjain találhatóak.Horizontal scale: Kafka partitions streams across the nodes in the HDInsight cluster. A fogyasztói folyamatok társíthatók az egyes partíciókkal, így biztosítható a terheléselosztás a rekordok használatakor.Consumer processes can be associated with individual partitions to provide load balancing when consuming records.

    További információ: Start with apache Kafka on HDInsight.For more information, see Start with Apache Kafka on HDInsight.

  • Sorrendben történő kézbesítés: Minden partíción belül a rendszer a rekordokat a kapott sorrendben tárolja a streamben.In-order delivery: Within each partition, records are stored in the stream in the order that they were received. Partíciónként egy fogyasztói folyamat társításával garantálhatja, hogy a rekordok feldolgozása érkezési sorrendben történjen.By associating one consumer process per partition, you can guarantee that records are processed in-order.

    További információ: Start with apache Kafka on HDInsight.For more information, see Start with Apache Kafka on HDInsight.

Használati esetekUse cases

  • Üzenetküldés: Mivel támogatja a közzétételi-előfizetési üzenet mintáját, a Kafka-t gyakran használják a Message brokerként.Messaging: Since it supports the publish-subscribe message pattern, Kafka is often used as a message broker.

  • Tevékenységek követése: Mivel a Kafka a rekordok sorrendbe rendezését biztosítja, felhasználhatja a tevékenységek nyomon követését és újbóli létrehozását.Activity tracking: Since Kafka provides in-order logging of records, it can be used to track and re-create activities. Ilyen tevékenységek például a felhasználók műveletei egy webhelyen vagy egy alkalmazásban.For example, user actions on a web site or within an application.

  • Összesítés: Az adatfolyam-feldolgozás használatával a különböző streamekről származó információk összevonhatók az adatoknak az operatív adatokba való összevonásához és központosításához.Aggregation: Using stream processing, you can aggregate information from different streams to combine and centralize the information into operational data.

  • Átalakítás: Az adatfolyam-feldolgozás használatával több bemeneti témakörből származó adatok egyesíthetők és bővíthetők egy vagy több kimeneti témakörbe.Transformation: Using stream processing, you can combine and enrich data from multiple input topics into one or more output topics.

További lépésekNext steps

A HDInsighton futó Apache Kafka használatának megismeréséhez tekintse meg a következő hivatkozásokat:Use the following links to learn how to use Apache Kafka on HDInsight: