Flink1.10 apresenta análise

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.hostsmé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_INFINITYDouble.NEGATIVE_INFINITYDouble.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!

Publicado 277 artigos originais · Louvor obteve 65 · vista 380 000 +

Acho que você gosta

Origin blog.csdn.net/ailiandeziwei/article/details/104476191
Recomendado
Clasificación