
Exploit für Apache Flink CVE-2020-17519, der sich gegen die Directory-Traversal-Schwachstelle in Versionen 1.11.2 und früher richtet und unbefugtes Lesen von Dateien auf dem Server ermöglicht.
Apache Flink ist ein Open-Source-Framework für die Stream-Verarbeitung mit leistungsstarken Funktionen für Stream- und Stapelverarbeitung.
Erfahren Sie mehr über Flink unter https://flink.apache.org/
Eine Streaming-First-Laufzeitumgebung, die sowohl Stapelverarbeitung als auch Datenstromprogramme unterstützt
Elegante und flüssige APIs in Java und Scala
Eine Laufzeitumgebung, die gleichzeitig sehr hohen Durchsatz und geringe Ereignislatenz unterstützt
Unterstützung für Ereigniszeit und Außer-der-Reihenfolge-Verarbeitung in der DataStream-API, basierend auf dem Dataflow-Modell
Flexible Fensterung (Zeit, Anzahl, Sitzungen, benutzerdefinierte Trigger) über verschiedene Zeitsemantiken (Ereigniszeit, Verarbeitungszeit)
Fehlertoleranz mit Exactly-Once-Verarbeitungsgarantien
Natürlicher Backpressure in Streaming-Programmen
Bibliotheken für Graphverarbeitung (Batch), maschinelles Lernen (Batch) und komplexe Ereignisverarbeitung (Streaming)
Integrierte Unterstützung für iterative Programme (BSP) in der DataSet-API (Batch)
Benutzerdefinierte Speicherverwaltung für einen effizienten und robusten Wechsel zwischen In-Memory- und Out-of-Core-Datenverarbeitungsalgorithmen
Kompatibilitätsschichten für Apache Hadoop MapReduce
Integration mit YARN, HDFS, HBase und anderen Komponenten des Apache-Hadoop-Ökosystems
case class WordWithCount(word: String, count: Long)
val text = env.socketTextStream(host, port, '\n')
val windowCounts = text.flatMap { w => w.split("\\s") }
.map { w => WordWithCount(w, 1) }
.keyBy("word")
.timeWindow(Time.seconds(5))
.sum("count")
windowCounts.print()
case class WordWithCount(word: String, count: Long)
val text = env.readTextFile(path)
val counts = text.flatMap { w => w.split("\\s") }
.map { w => WordWithCount(w, 1) }
.groupBy("word")
.sum("count")
counts.writeAsCsv(outputPath)
Voraussetzungen zum Erstellen von Flink:
git clone https://github.com/apache/flink.git
cd flink
mvn clean package -DskipTests # this will take up to 10 minutes
Flink ist jetzt in build-target installiert.
HINWEIS: Maven 3.3.x kann Flink erstellen, aber bestimmte Abhängigkeiten nicht ordnungsgemäß wegschattieren. Maven 3.1.1 erstellt die Bibliotheken ordnungsgemäß. Um Unit-Tests mit Java 8 zu erstellen, verwenden Sie Java 8u51 oder höher, um Fehler bei Unit-Tests zu vermeiden, die den PowerMock-Runner verwenden.
Die Flink-Committer verwenden IntelliJ IDEA, um die Flink-Codebasis zu entwickeln. Wir empfehlen IntelliJ IDEA für die Entwicklung von Projekten, die Scala-Code beinhalten.
Mindestanforderungen an eine IDE sind:
Die IntelliJ-IDE unterstützt Maven standardmäßig und bietet ein Plugin für die Scala-Entwicklung.
Schauen Sie sich unseren Leitfaden Einrichten von IntelliJ für Details an.
HINWEIS: Unserer Erfahrung nach funktioniert dieses Setup nicht mit Flink, aufgrund von Mängeln der alten Eclipse-Version, die mit Scala IDE 3.0.3 gebündelt ist, oder aufgrund von Versionsinkompatibilitäten mit der in Scala IDE 4.4.1 gebündelten Scala-Version.
Wir empfehlen stattdessen, IntelliJ zu verwenden (siehe oben)
Zögern Sie nicht zu fragen!
Kontaktieren Sie die Entwickler und die Community über die Mailinglisten, wenn Sie Hilfe benötigen.
Öffnen Sie ein Issue, wenn Sie einen Fehler in Flink gefunden haben.
Die Dokumentation von Apache Flink befindet sich auf der Website: https://flink.apache.org
oder im Verzeichnis docs/ des Quellcodes.
Dies ist ein aktives Open-Source-Projekt. Wir sind immer offen für Menschen, die das System nutzen oder dazu beitragen möchten. Kontaktieren Sie uns, wenn Sie nach Implementierungsaufgaben suchen, die zu Ihren Fähigkeiten passen. Dieser Artikel beschreibt, wie Sie zu Apache Flink beitragen können.
Apache Flink ist ein Open-Source-Projekt der Apache Software Foundation (ASF). Das Apache-Flink-Projekt entstand aus dem Stratosphere-Forschungsprojekt.