Teknologian jakaminen

56. Yksityiskohtainen selitys Flink DataStreamin hallinnan suorituskonfiguraatiosta

2024-07-08

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

1 Yleiskatsaus
1. Suorita määritys

StreamExecutionEnvironment SisältääExecutionConfig, jonka avulla työkohtaiset konfigurointiarvot voidaan asettaa suorituksen aikana.

StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
ExecutionConfig executionConfig = env.getConfig();

Seuraavat ovat käytettävissä olevat määritysvaihtoehdot: (oletusarvoisesti lihavoitu)

  • setClosureCleanerLevel() . Sulkemispuhdistimen taso on oletusarvoisesti asetettuClosureCleanerLevel.RECURSIVE . Sulkemispuhdistin poistaa tarpeettomat viittaukset anonyymeihin funktiokutsuluokkiin Flink-ohjelmassa. Sulkemispuhdistimen poistamisen jälkeen käyttäjän anonyymi toiminto saattaa viitata johonkin ei-serialoitavaan kutsuluokkaan. Tämä saa serialisaattorin tekemään poikkeuksen. Asetettavat arvot ovat:NONE: poista suljinpuhdistin kokonaan käytöstä,TOP_LEVEL: Puhdista vain huippuluokan luokat ilman toistumista kenttiin,RECURSIVE: Puhdista kaikki kentät rekursiivisesti.
  • getParallelism() / setParallelism(int parallelism) . Asettaa töiden oletusarvoisen rinnakkaisuuden asteen.
  • getMaxParallelism() / setMaxParallelism(int parallelism) . Asettaa töiden oletusarvoisen maksimaalisen rinnakkaisuuden. Tämä asetus määrittää maksimaalisen rinnakkaisasteen ja määrittää dynaamisen skaalauksen ylärajan.
  • getNumberOfExecutionRetries() / setNumberOfExecutionRetries(int numberOfExecutionRetries) . Määritä, kuinka monta kertaa epäonnistuneet tehtävät suoritetaan uudelleen. Arvo nolla poistaa käytännössä vikasietoisuuden.-1 Ilmaisee järjestelmän oletusasetusten käyttämisen (määritetty kokoonpanossa).Tämä kokoonpano on vanhentunut. Käytä sen sijaan uudelleenkäynnistysstrategiaa.
  • getExecutionRetryDelay() / setExecutionRetryDelay(long executionRetryDelay) . Asettaa viiveen (millisekunteina), jonka järjestelmä odottaa ennen kuin suorittaa työn uudelleen sen epäonnistumisen jälkeen. Kun kaikki tehtävät on pysäytetty TaskManagersissa, viive lasketaan ja kun viive on kulunut, tehtävät käynnistetään uudelleen.Tämä kokoonpano on vanhentunut. Käytä sen sijaan uudelleenkäynnistysstrategiaa.
  • getExecutionMode() / setExecutionMode() . Oletussuoritustila on PIPELINED. Aseta suoritustila ohjelman suorittamiseksi. Suoritustila määrittää, suoritetaanko tiedonvaihto erä- vai suoratoistotilassa.
  • enableForceKryo() / disableForceKryo . Kryoa ei ole pakotettu käyttämään oletusarvoisesti. Pakottaa GenericTypeInformationin käyttämään Kryo-serialisaattoria POJOille, vaikka ne voidaan jäsentää POJO:iksi. Joissakin tapauksissa tämän kokoonpanon käyttöönotto on suositeltavaa. Esimerkiksi kun Flinkin sisäinen serialisoija ei käsittele POJO:ita oikein.
  • enableForceAvro() / disableForceAvro() . Avroa ei ole pakotettu käyttämään oletusarvoisesti. Pakota Flink AvroTypeInfo käyttämään Avro-serialisaattoria Kryon sijasta Avro-POJO-sarjoituksessa.
  • enableObjectReuse() / disableObjectReuse() . Oletuksena objekteja ei käytetä uudelleen Flinkissä. Objektin uudelleenkäyttötilan ottaminen käyttöön ohjaa suoritusaikaa käyttämään käyttäjäobjekteja uudelleen suorituskyvyn parantamiseksi. Huomaa, että tämä voi aiheuttaa virheitä.
  • getGlobalJobParameters() / setGlobalJobParameters() . Tämän menetelmän avulla käyttäjä voi asettaa mukautetun objektin työn yleiseen kokoonpanoon.koskaExecutionConfig Käytettävissä kaikissa käyttäjän määrittämissä toiminnoissa, joten tämä on helppo tapa saada kokoonpanot saataville maailmanlaajuisesti eri töissä.
  • addDefaultKryoSerializer(Class type, Serializer serializer) . Rekisteröi Kryo-serialisointiinstanssin määritetylle tyypille.
  • addDefaultKryoSerializer(Class type, Class