
Эксплойт для Apache Flink CVE-2020-17519, нацеленный на уязвимость обхода каталогов в версиях 1.11.2 и более ранних, позволяющий несанкционированное чтение файлов на сервере.
Apache Flink — это фреймворк с открытым исходным кодом для обработки потоков данных, обладающий мощными возможностями как для потоковой, так и для пакетной обработки.
Узнайте больше о Flink на https://flink.apache.org/
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)
Необходимые компоненты для сборки Flink:
git clone https://github.com/apache/flink.git
cd flink
mvn clean package -DskipTests # это займет до 10 минут
Теперь Flink установлен в каталоге build-target.
ПРИМЕЧАНИЕ: Maven 3.3.x может собрать Flink, но не сможет корректно затенять некоторые зависимости. Maven 3.1.1 создает библиотеки правильно. Для сборки модульных тестов с Java 8 используйте Java 8u51 или выше, чтобы избежать ошибок в тестах, использующих PowerMock Runner.
Разработчики Flink используют IntelliJ IDEA для работы с кодом Flink. Мы рекомендуем IntelliJ IDEA для проектов, включающих код на Scala.
Минимальные требования к IDE:
Среда IntelliJ IDEA поддерживает Maven из коробки и предоставляет плагин для разработки на Scala.
Подробнее см. в нашем руководстве Настройка IntelliJ.
ПРИМЕЧАНИЕ: По нашему опыту, эта настройка не работает с Flink из-за недостатков старой версии Eclipse, входящей в состав Scala IDE 3.0.3, или из-за несовместимости версий со встроенной версией Scala в Scala IDE 4.4.1.
Мы рекомендуем использовать IntelliJ (см. выше)
Не стесняйтесь спрашивать!
Свяжитесь с разработчиками и сообществом через списки рассылки, если вам нужна помощь.
Откройте задачу, если вы нашли ошибку в Flink.
Документация Apache Flink находится на сайте: https://flink.apache.org или в каталоге docs/ исходного кода.
Это активный проект с открытым исходным кодом. Мы всегда открыты для людей, которые хотят использовать систему или внести вклад. Свяжитесь с нами, если вы ищете задачи для реализации, соответствующие вашим навыкам. Эта статья описывает как внести вклад в Apache Flink.
Apache Flink — это проект с открытым исходным кодом Фонда программного обеспечения Apache (ASF). Проект Apache Flink возник из исследовательского проекта Stratosphere.