
Exploit para Apache Flink CVE-2020-17519 direcionado à vulnerabilidade de traversal de diretórios nas versões 1.11.2 e anteriores, permitindo leitura não autorizada de arquivos no servidor.
Apache Flink é um framework open source de processamento de fluxos com poderosas capacidades de processamento de fluxos e em lote.
Saiba mais sobre o Flink em https://flink.apache.org/
Um runtime que prioriza streaming e suporta tanto processamento em lote quanto programas de streaming de dados
APIs elegantes e fluidas em Java e Scala
Um runtime que suporta altíssima taxa de transferência e baixa latência de eventos ao mesmo tempo
Suporte a processamento por tempo de evento e fora de ordem na API DataStream, baseado no Modelo Dataflow
Janelamento flexível (tempo, contagem, sessões, gatilhos personalizados) em diferentes semânticas de tempo (tempo de evento, tempo de processamento)
Tolerância a falhas com garantias de processamento exatamente-uma-vez
Contrapressão natural em programas de streaming
Bibliotecas para processamento de Grafos (lote), Aprendizado de Máquina (lote) e Processamento de Eventos Complexos (streaming)
Suporte integrado para programas iterativos (BSP) na API DataSet (lote)
Gerenciamento de memória personalizado para alternância eficiente e robusta entre algoritmos de processamento de dados em memória e fora do núcleo
Camadas de compatibilidade para Apache Hadoop MapReduce
Integração com YARN, HDFS, HBase e outros componentes do ecossistema Apache Hadoop
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)
Pré-requisitos para compilar o Flink:
git clone https://github.com/apache/flink.git
cd flink
mvn clean package -DskipTests # this will take up to 10 minutes
O Flink agora está instalado em build-target.
NOTA: O Maven 3.3.x pode compilar o Flink, mas não fará o sombreamento adequado de certas dependências. O Maven 3.1.1 cria as bibliotecas corretamente. Para compilar os testes unitários com Java 8, use Java 8u51 ou superior para evitar falhas nos testes unitários que usam o runner PowerMock.
Os committers do Flink usam o IntelliJ IDEA para desenvolver o código do Flink. Recomendamos o IntelliJ IDEA para desenvolver projetos que envolvam código Scala.
Os requisitos mínimos para uma IDE são:
A IDE IntelliJ suporta Maven nativamente e oferece um plugin para desenvolvimento em Scala.
Consulte nosso guia Configurando o IntelliJ para obter detalhes.
NOTA: Pela nossa experiência, esta configuração não funciona com o Flink devido a deficiências da versão antiga do Eclipse empacotada com o Scala IDE 3.0.3 ou devido a incompatibilidades de versão com a versão do Scala empacotada no Scala IDE 4.4.1.
Recomendamos usar o IntelliJ em vez disso (veja acima)
Não hesite em perguntar!
Entre em contato com os desenvolvedores e a comunidade nas listas de discussão se precisar de ajuda.
Abra um issue se você encontrou um bug no Flink.
A documentação do Apache Flink está localizada no site: https://flink.apache.org
ou no diretório docs/ do código-fonte.
Este é um projeto open-source ativo. Estamos sempre abertos a pessoas que queiram usar o sistema ou contribuir com ele. Entre em contato conosco se você estiver procurando tarefas de implementação que se adaptem às suas habilidades. Este artigo descreve como contribuir com o Apache Flink.
O Apache Flink é um projeto open source da The Apache Software Foundation (ASF). O projeto Apache Flink originou-se do projeto de pesquisa Stratosphere.