Fonte: Zhisheng
Flink documento 1,10 liberação descreve alguns dos pontos mais importantes, como a configuração, operação, depende da diferença entre a versão 1.9 e versão 1.10, se você está pronto para atualizar para a versão 1.10 Flink, recomendo ler cuidadosamente as páginas seguintes.
Clustering e implantação
• necessidades do sistema de arquivos a ser carregado por meio de plug-in estratégia de carregamento de carga do cliente • Flink com base na configuração de classe, pai-em primeiro lugar, e filho do primeiro de dois modos • Permite uniformemente distribuída tarefas em todo o TaskManager, necessidade de flink-conf.yaml
configurar o perfil de cluster.evenly-spread-out-slots: true
parâmetros • diretório alta disponibilidade de armazenamento foi revisto em HA_STORAGE_DIR/HA_CLUSTER_ID
outra, HA_STORAGE_DIR
o caminho através high-availability.storageDir
dos parâmetros de configuração, HA_CLUSTER_ID
o caminho através da high-availability.cluster-id
configuração de parâmetros • quando se utiliza o -yarnship
comando parâmetro, recursos diretórios e arquivos jAR será adicionado ao classpath • retire o --yn/--yarncontainer
parâmetro de comando • retire o --yst/--yarnstreaming
comando parâmetros • Flink mesos irá rejeitar todas as solicitações expiradas • reconstruída Flink scheduler, que visa tornar a política de escalonamento no futuro pode ser personalizado • suporte Java 11, quando se inicia Flink uso Java 11, vai lembrar alguns log AVISO, Nota: Cassandra, Hive, HBase e outro conector não usa Java 11 testada
Gerenciamento de memória
• Nova tarefa modelo de memória Executor, vai afetar a implantação de standalone, fios, mesos, K8S de, modelo de memória JobManager não é modificado. Se você é na ausência de adaptação, reutilização configuração Flink anterior, o novo modelo de memória pode resultar em diferentes parâmetros de memória de cálculo JVM, resultando em mudanças no desempenho.
As seguintes opções foram removidos, não funcionam mais:
As seguintes opções foram substituídos por outras opções:
memória • RocksDB Estado backend pode ser controlada, o utilizador pode ajustar a relação RocksDB leitura / memória de escrita de state.backend.rocksdb.memory.write-buffer-ratio
(0,5 caso padrão) e uma porção de memória para o índice / retida pelo filtro state.backend.rocksdb.memory.high-prio-pool-ratio
(padrão 0,1) • operador granular (o operador) recursos gestão, opções de configuração table.exec.resource.external-buffer-memory
, table.exec.resource.hash-agg.memory
, table.exec.resource.hash-join.memory
, e table.exec.resource.sort.memory
foi reprovada
API Tabela soma SQL
• A qualquer tipo de renomeação tipo RAW, a matéria-identificador agora é uma palavra-chave reservada, quando usado como um campo ou nome da função SQL deve ser precedido • Rename Tabela Connector propriedade, a fim de proporcionar uma melhor experiência do usuário ao escrever instruções DDL tais como propriedades Kafka conector connector.properties
e connector.specific-offsets
, propriedades do conector ElasticSearch connector.hosts
método interativo • antes das tabelas temporárias e pontos de vista foram abandonados, usado atualmente createTemporaryView () • retire a API ExternalCatalog (ExternalCatalog, SchematicDescriptor, MetadataDescriptor , StatisticsDescriptor), que recomenda a utilização de novas a API Catalog
configuração
• ConfigOptions Se o valor não pode ser configurado para analisar o tipo de necessidade, irá lançar uma IllegalArgumentException, antes de retornar para o valor padrão irá aumentar o padrão • estratégia de tempo de reinício delay (atraso fixa e de taxa de fracasso já é o 1s padrão, antes de é 0) • restart simplificar conjunto de configuração de política nível, agora reiniciar a política em nível de cluster somente é configurado pela estratégia de restart e determinar se a Checkpoint aberta desativado por padrão • baseado no caso BoundedBlockingSubpartition de memória mapeada • remover o controle de tráfego de rede não autorizado • turno em adição para as HighAvailabilityOptions configuração em HA_JOB_DELAY
State (Estado)
• A TTL padrão aberto estado de abandono limpeza de fundo • StateTtlConfig#Builder#cleanupInBackground()
• Ao usar RocksDBStateBackend, o padrão será armazenado na RocksDB o temporizador antes é armazenado • na memória heap (Heap) StateTtlConfig#TimeCharacteristic
foi removido, usado atualmente StateTtlConfig#TtlTimeCharacteristic
• Novo MapState#isEmpty()
método para verificar MapState está vazio, este método de usar um mapState.keys().iterator().hasNext()
mais rápido 40% • upgrade de velocidade RocksDB, lançou seu FRocksDB (baseado versão RocksDB 5.17.2), principalmente por causa da alta versão do RocksDB em alguns casos, o desempenho diminui • desativado por padrão RocksDB logging, você precisa habilitar então precisa usar RocksDBOptionsFactory criar DBOptions instância e definir mecanismo iNFO_LEVEL • otimização para se recuperar de RocksDB Savepoint pelo método setInfoLogLevel, se a recuperação do RocksDB Savepoint anterior contém um grande direito KV, os usuários podem experimentar OOM. Foram introduzidas para limitar a memória pode ser configurado, RocksDBWriteBatchWrapper padrão é 2MB. RocksDB de WriteBatch irá atualizar antes de alcançar o limite de memória. Você pode flink-conf.yml
modificar a state.backend.rocksdb.write-batch-size
configuração
PyFlink
• python2 não mais suportada
monitor
• InfluxdbReporter salta Inf e NaN (tipo não InfluxDB não suporta, como Double.POSITIVE_INFINITY
, Double.NEGATIVE_INFINITY
, Double.NaN
)
Conector (Conectores)
• Mudança Kinesis conector License
Alterações de interface
• ExecutionConfig#getGlobalJobParameters()
não retornar null • MasterTriggerRestoreHook em triggerCheckpoint sem bloqueio método quando necessário • cliente do serviço de HA / separação servidor, HighAvailabilityServices foi separado em cliente e de fragmentação ClientHighAvailabilityServices HighAvailabilityServices • terminam HighAvailabilityServices#getWebMonitorLeaderElectionService()
token expirar • LeaderElectionService feitas alterações na interface • preterido bloqueio Checkpoint • abandonada OptionsFactory e ConfigurableOptionsFactory interface
Referência: https: //github.com/apache/flink/blob/master/docs/release-notes/flink-1.10.zh.md
Leia esta nova versão na apresentação oficial, eu me sinto muito bem descreve a falta de novas funcionalidades, tais como:
• Na versão 1.10, que apresenta na versão integrada do Blink veio • Flink não é mesmo escrito uma introdução à Kubernetes nativa integrado • PyFlink é sério? • Hive nível de produção de integração, não há ah menção • Tabela API / SQL ponto de otimização não falar muito
Provavelmente por causa de problemas de espaço, há muitos recursos que não são explicá-lo, temos de encontrar a sua própria fonte de aprendizado!