Vad är Apache Flink® i Azure HDInsight på AKS? (Förhandsversion)

Viktigt!

Den här funktionen finns i förhandsgranskning. De kompletterande användningsvillkoren för Förhandsversioner av Microsoft Azure innehåller fler juridiska villkor som gäller för Azure-funktioner som är i betaversion, förhandsversion eller på annat sätt ännu inte har släppts i allmän tillgänglighet. Information om den här specifika förhandsversionen finns i Azure HDInsight på AKS-förhandsversionsinformation. Om du vill ha frågor eller funktionsförslag skickar du en begäran på AskHDInsight med informationen och följer oss för fler uppdateringar i Azure HDInsight Community.

Apache Flink är ett ramverk och en distribuerad bearbetningsmotor för tillståndskänsliga beräkningar över obundna och begränsade dataströmmar. Flink har utformats för att köras i alla vanliga klustermiljöer, utföra beräkningar och tillståndskänsliga strömningsprogram i minnesintern hastighet och i valfri skala. Program parallelliseras till eventuellt tusentals uppgifter som distribueras och körs samtidigt i ett kluster. Därför kan ett program använda obegränsade mängder vCPU:er, huvudminne, disk och nätverks-I/O. Dessutom upprätthåller Flink enkelt ett stort programtillstånd. Dess asynkrona och inkrementella kontrollpunktsalgoritm garanterar minimal påverkan på bearbetningen av svarstider samtidigt som den garanterar exakt en gång tillståndskonsekvens.

Apache Flink är en massivt skalbar analysmotor för dataströmbearbetning.

Några av de viktigaste funktionerna som Flink erbjuder är:

  • Åtgärder på begränsade och obundna strömmar
  • Minnesprestanda
  • Möjlighet för både strömnings- och batchberäkningar
  • Åtgärder med låg svarstid, högt dataflöde
  • Exakt en gång bearbetning
  • Hög tillgänglighet
  • Tillstånds- och feltolerans
  • Fullständigt kompatibelt med Hadoop-ekosystemet
  • Enhetliga SQL-API:er för både dataström och batch

Flink-arkitekturdiagram.

Apache Flink är ett utmärkt val för att utveckla och köra många olika typer av program på grund av dess omfattande funktioner. Flinks funktioner omfattar stöd för dataströms- och batchbearbetning, avancerad tillståndshantering, händelsebearbetningssemantik och exakt en gång konsekvensgarantier för tillstånd. Flink har inte en enda felpunkt. Flink har visat sig skala till tusentals kärnor och terabyte programtillstånd, ger högt dataflöde och låg svarstid och driver några av världens mest krävande dataströmbearbetningsprogram.

  • Bedrägeriidentifiering: Flink kan användas för att identifiera bedrägliga transaktioner eller aktiviteter i realtid genom att tillämpa komplexa regler och maskininlärningsmodeller på strömmande data.
  • Avvikelseidentifiering: Flink kan användas för att identifiera extremvärden eller onormala mönster i strömmande data, till exempel sensoravläsningar, nätverkstrafik eller användarbeteende.
  • Regelbaserad avisering: Flink kan användas för att utlösa aviseringar eller meddelanden baserat på fördefinierade villkor eller tröskelvärden för strömmande data, till exempel temperatur, tryck eller aktiekurser.
  • Övervakning av affärsprocesser: Flink kan användas för att spåra och analysera status och prestanda för affärsprocesser eller arbetsflöden i realtid, till exempel orderuppfyllelse, leverans eller kundtjänst.
  • Webbprogram (socialt nätverk): Flink kan användas för att driva webbprogram som kräver realtidsbearbetning av användargenererade data, till exempel meddelanden, gilla-markeringar, kommentarer eller rekommendationer.

Läs mer om vanliga användningsfall som beskrivs i Användningsfall för Apache Flink

Apache Flink-kluster i HDInsight på AKS är en fullständigt hanterad tjänst. Här visas fördelarna med att skapa ett Flink-kluster i HDInsight på AKS.

Funktion beskrivning
Enkelt att skapa Du kan skapa ett nytt Flink-kluster i HDInsight på några minuter med hjälp av Azure-portalen, Azure PowerShell eller SDK:n. Se Komma igång med Apache Flink-kluster i HDInsight på AKS.
Användarvänlighet Flink-kluster i HDInsight på AKS omfattar portalbaserad konfigurationshantering och skalning. Utöver detta med jobbhanterings-API använder du REST-API:et eller Azure-portalen för jobbhantering.
REST API:er Flink-kluster i HDInsight på AKS inkluderar JOBBhanterings-API, en REST API-baserad Flink-jobböverföringsmetod för fjärröverföring och övervakning av jobb på Azure-portalen.
Distributionstyp Flink kan köra program i sessionsläge eller programläge. För närvarande stöder HDInsight på AKS endast sessionskluster. Du kan köra flera Flink-jobb i ett sessionskluster. Appläget finns i översikten för HDInsight i AKS-kluster
Stöd för metaarkiv Flink-kluster i HDInsight på AKS kan stödja kataloger med Hive-metaarkiv i olika öppna filformat med fjärrkontrollpunkter till Azure Data Lake Storage Gen2.
Stöd för Azure Storage Flink-kluster i HDInsight kan använda Azure Data Lake Storage Gen2 som filmottagare. Mer information om Data Lake Storage Gen2 finns i Azure Data Lake Storage Gen2.
Integrering med Azure-tjänster Flink-kluster i HDInsight på AKS levereras med en integrering till Kafka tillsammans med Azure Event Hubs och Azure HDInsight. Du kan skapa strömmande program med hjälp av Event Hubs eller HDInsight.
Anpassningsförmåga MED HDInsight på AKS kan du skala Flink-klusternoderna baserat på schema med funktionen Autoskalning. Se Skala Azure HDInsight automatiskt i AKS-kluster.
Tillståndsserverdel HDInsight på AKS använder RocksDB som standard StateBackend. RocksDB är ett beständigt nyckelvärdesarkiv som kan bäddas in för snabb lagring.
Kontrollpunkter Kontrollpunkter är aktiverat i HDInsight i AKS-kluster som standard. Standardinställningarna för HDInsight på AKS upprätthåller de fem sista kontrollpunkterna i beständiga lagring. Om jobbet misslyckas kan jobbet startas om från den senaste kontrollpunkten.
Inkrementella kontrollpunkter RocksDB stöder inkrementella kontrollpunkter. Vi rekommenderar att du använder inkrementella kontrollpunkter för stort tillstånd. Du måste aktivera den här funktionen manuellt. Om du anger en standardinställning i din flink-conf.yaml: state.backend.incremental: true aktiveras inkrementella kontrollpunkter, såvida inte programmet åsidosätter den här inställningen i koden. Den här instruktionen är sann som standard. Du kan också konfigurera det här värdet direkt i koden (åsidosätter konfigurationsstandarden) EmbeddedRocksDBStateBackend` backend = new `EmbeddedRocksDBStateBackend(true); . Som standard bevarar vi de fem sista kontrollpunkterna i den konfigurerade kontrollpunktsdir. Det här värdet kan ändras genom att ändra konfigurationen i avsnittet konfigurationshantering state.checkpoints.num-retained: 5

Apache Flink-kluster i HDInsight på AKS innehåller följande komponenter, de är tillgängliga i klustren som standard.

Se översikten över vad som kommer snart!

Flink schemalägger jobb med hjälp av tre distribuerade komponenter, Job Manager, Aktivitetshanteraren och Jobbklient, som anges i ett Leader-Follower-mönster.

Flink-jobb: Ett Flink-jobb eller -program består av flera uppgifter. Uppgifter är den grundläggande körningsenheten i Flink. Varje Flink-uppgift har flera instanser beroende på graden av parallellitet och varje instans körs på en TaskManager.

Jobbansvarig: Jobbhanteraren fungerar som schemaläggare och schemalägger uppgifter för aktivitetshanterare.

Aktivitetshanteraren: Aktivitetshanterare har en eller flera platser för att köra uppgifter parallellt.

Jobbklient: Jobbklienten kommunicerar med jobbhanteraren för att skicka Flink-jobb

Flink-webbgränssnitt: Flink har ett webbgränssnitt för att inspektera, övervaka och felsöka program som körs.

Flink-processdiagram som visar hur jobbet, Jobbhanteraren, Aktivitetshanteraren och Jobbklienten fungerar tillsammans.

Referens

  • Apache Flink-webbplats
  • Apache, Apache Kafka, Kafka, Apache Flink, Flink och associerade öppen källkod projektnamn är varumärkensom tillhör Apache Software Foundation (ASF).