Průvodce nastavením velikosti clusterů Azure HDInsight Interactive Query (LLAPa registru)Azure HDInsight Interactive Query Cluster (Hive LLAP) sizing guide

Tento dokument popisuje určení velikosti clusteru HDInsight Interactive Query (cluster LLAP) pro typickou úlohu pro dosažení přijatelného výkonu.This document describes the sizing of the HDInsight Interactive Query Cluster (Hive LLAP cluster) for a typical workload to achieve reasonable performance. Všimněte si, že doporučení uvedená v tomto dokumentu jsou obecná pravidla a konkrétní úlohy můžou potřebovat konkrétní ladění.Note that the recommendations provided in this document are generic guidelines and specific workloads may need specific tuning.

Výchozí typy virtuálních počítačů Azure pro cluster HDInsight Interactive Query (LLAP)Azure Default VM Types for HDInsight Interactive Query Cluster(LLAP)

Typ uzluNode Type InstanceInstance VelikostSize
HeadHead D13 v2D13 v2 8 vCPU, 56 GB RAM, 400 GB SSD8 vcpus, 56 GB RAM, 400 GB SSD
ZaměstnanecWorker D14 v2D14 v2 16 vCPU, 112 GB RAM, 800 GB SSD16 vcpus, 112 GB RAM, 800 GB SSD
ZooKeeperZooKeeper A4 v2A4 v2 4 vCPU, 8 GB RAM, 40 GB SSD4 vcpus, 8-GB RAM, 40 GB SSD

*Poznámka: všechny doporučené konfigurace jsou založené na D14 v2 typu pracovní uzel _*Note: All recommended configurations values are based on D14 v2 type worker node _

Konfigurace _:*_ Configuration:*

Konfigurační klíčConfiguration Key Doporučená hodnotaRecommended value PopisDescription
příz. NodeManager. Resource. paměť-MByarn.nodemanager.resource.memory-mb 102400 (MB)102400 (MB) Celková velikost paměti (v MB) pro všechny kontejnery PŘÍZe na uzluTotal memory given, in MB, for all YARN containers on a node
příze. Scheduler. maximum – přidělení-MByarn.scheduler.maximum-allocation-mb 102400 (MB)102400 (MB) Maximální přidělení pro každou žádost kontejneru v RM v MB.The maximum allocation for every container request at the RM, in MBs. Požadavky na paměť vyšší než tato hodnota se projevíMemory requests higher than this value won't take effect
příze. Scheduler. maximum-přidělení – virtuální jádrayarn.scheduler.maximum-allocation-vcores 1212 Maximální počet jader procesoru pro každou žádost kontejneru na Správce prostředků.The maximum number of CPU cores for every container request at the Resource Manager. Žádosti, které jsou vyšší než tato hodnota, se neprojeví.Requests higher than this value won't take effect.
příze. NodeManager. Resource. CPU-virtuální jádrayarn.nodemanager.resource.cpu-vcores 1212 Počet jader procesoru na NodeManager, které se dají přidělit pro kontejnery.Number of CPU cores per NodeManager that can be allocated for containers.
příze. Scheduler. Capacity. root. llap. Capacityyarn.scheduler.capacity.root.llap.capacity 80 (%)80 (%) Přidělení kapacity PŘÍZe pro frontu llapYARN capacity allocation for llap queue
TEZ. am. Resource. Memory. MBtez.am.resource.memory.mb 4096 (MB)4096 (MB) Velikost paměti v MB, kterou má tez AppMaster použítThe amount of memory in MB to be used by the tez AppMaster
podregistr. Server2. TEZ. Sessions. per. default. Queuehive.server2.tez.sessions.per.default.queue <number_of_worker_nodes><number_of_worker_nodes> Počet relací pro každou frontu s názvem v podregistru. Server2. TEZ. default. Queues.The number of sessions for each queue named in the hive.server2.tez.default.queues. Toto číslo odpovídá počtu koordinátorů dotazů (tez AMs).This number corresponds to number of query coordinators(Tez AMs)
podregistr. TEZ. Container. Sizehive.tez.container.size 4096 (MB)4096 (MB) Zadaná velikost kontejneru tez v MBSpecified Tez container size in MB
hive.llap.daemon.num.executorshive.llap.daemon.num.executors 1212 Počet prováděcích modulů na démona LLAPNumber of executors per LLAP daemon
podregistr. llap. IO. nevláken. Sizehive.llap.io.threadpool.size 1212 Velikost fondu vláken pro prováděcí modulyThread pool size for executors
podregistr. llap. démon. příze. Container. MBhive.llap.daemon.yarn.container.mb 77824 (MB)77824 (MB) Celková paměť v MB používaná jednotlivými démony LLAP (paměť na démona)Total memory in MB used by individual LLAP daemons (Memory per daemon)
podregistr. llap. IO. Memory. Sizehive.llap.io.memory.size 235520 (MB)235520 (MB) Velikost mezipaměti v MB na LLAP démon, poskytnutá mezipaměť SSD, je povolená.Cache size in MB per LLAP daemon provided SSD cache is enabled
podregistr. auto. Convert. Join. noconditionaltask. Sizehive.auto.convert.join.noconditionaltask.size 2048 (MB)2048 (MB) velikost paměti v MB pro spojení mapovánímemory size in MB to do Map Join

Odhad velikosti LLAP démona:LLAP Daemon size estimations:

1. určení celkového přidělení paměti PŘÍZ pro všechny kontejnery na uzlu1. Determining total YARN memory allocation for all containers on a node

Konfigurace: * nitě. NodeManager. Resource. Memory-MB _Configuration: * yarn.nodemanager.resource.memory-mb _

Tato hodnota označuje maximální velikost paměti v MB, kterou lze použít kontejnery PŘÍZe na jednotlivých uzlech.This value indicates a maximum sum of memory in MB that can be used by the YARN containers on each node. Zadaná hodnota by měla být menší než celková velikost fyzické paměti v tomto uzlu.The value specified should be lesser than the total amount of physical memory on that node.
Celková paměť pro všechny kontejnery PŘÍZe na uzlu = [celková fyzická paměť] – [paměť pro operační systém + další služby]Total memory for all YARN containers on a node = [Total physical memory] – [ memory for OS + Other services ]
Nastavte tuto hodnotu na ~ 90% dostupné velikosti paměti RAM.Set this value to ~90% of the available RAM size.
V případě D14 v2 je doporučená hodnota _ * 102400 MB * *.For D14 v2, the recommended value is _*102400 MB**.

2. určení maximálního množství paměti na žádost o PŘÍZi kontejneru2. Determining maximum amount of memory per YARN container request

Konfigurace: * příz. Scheduler. maximum-Allocation-MB _Configuration: * yarn.scheduler.maximum-allocation-mb _

Tato hodnota označuje maximální přidělení pro každou žádost kontejneru v Správce prostředků v MB.This value indicates the maximum allocation for every container request at the Resource Manager, in MB. Požadavky na paměť vyšší, než je zadaná hodnota, se projeví.Memory requests higher than the specified value won't take effect. Správce prostředků může poskytnout paměť kontejnerům v přírůstcích po _yarn. Scheduler. minimum-Allocation-MB * a nemůže překročit velikost určenou parametrem nitě. Scheduler. maximum-Allocation-MB .The Resource Manager can give memory to containers in increments of _yarn.scheduler.minimum-allocation-mb* and can't exceed the size specified by yarn.scheduler.maximum-allocation-mb . Zadaná hodnota by neměla být větší než celková velikost dané paměti pro všechny kontejnery v uzlu určeném pomocí příz. NodeManager. Resource. Memory-MB .The value specified shouldn't be more than the total given memory for all containers on the node specified by yarn.nodemanager.resource.memory-mb .
V případě pracovních uzlů D14 v2 je doporučená hodnota 102400 MB .For D14 v2 worker nodes, the recommended value is 102400 MB

3. určení maximálního počtu virtuální jádra na požadavek kontejneru na PŘÍZi3. Determining maximum amount of vcores per YARN container request

Konfigurace: * příz. Scheduler. maximum-Allocation-virtuální jádra _Configuration: * yarn.scheduler.maximum-allocation-vcores _

Tato hodnota označuje maximální počet jader virtuálního procesoru pro každou žádost kontejneru na Správce prostředků.This value indicates the maximum number of virtual CPU cores for every container request at the Resource Manager. Požaduje se vyšší počet virtuální jádra, než tato hodnota se projeví.Requesting a higher number of vcores than this value won't take effect. Jedná se o globální vlastnost plánovače PŘÍZe.It's a global property of the YARN scheduler. V případě kontejneru démona LLAP lze tuto hodnotu nastavit na 75% z celkového počtu dostupných virtuální jádra.For LLAP daemon container, this value can be set to 75% of total available vcores. Zbývající 25% by mělo být rezervované pro NodeManager, datanode a další služby spuštěné na pracovních uzlech.The remaining 25% should be reserved for NodeManager, DataNode, and other services running on the worker nodes.
Pro virtuální počítače D14 v2 je 16 virtuální jádra a 75% z celkového počtu 16 virtuální jádra může použít kontejner procesu LLAP.There are 16 vcores on D14 v2 VMs and 75% of total 16 vcores can be used by LLAP daemon container.
V případě D14 v2 je doporučená hodnota _ * 12 * *.For D14 v2, the recommended value is _*12**.

4. počet souběžných dotazů4. Number of concurrent queries

Konfigurace: * podregistr. Server2. TEZ. Sessions. per. default. Queue _Configuration: * hive.server2.tez.sessions.per.default.queue _

Tato hodnota konfigurace určuje počet tez relací, které lze spustit paralelně.This configuration value determines the number of Tez sessions that can be launched in parallel. Tyto relace tez se spustí pro každou frontu určenou v podregistru. Server2. TEZ. default. Queues.These Tez sessions will be launched for each of the queues specified by "hive.server2.tez.default.queues". Odpovídá počtu tez AMs (koordinátory dotazů).It corresponds to the number of Tez AMs (Query Coordinators). Doporučuje se to být stejné jako počet pracovních uzlů.It's recommended to be the same as the number of worker nodes. Počet tez AMs může být vyšší než počet uzlů LLAP démon.The number of Tez AMs can be higher than the number of LLAP daemon nodes. Primární zodpovědností tez je koordinovat provádění dotazů a přiřadit fragmenty plánu dotazů odpovídajícím démonům LLAP pro provedení.The Tez AM's primary responsibility is to coordinate the query execution and assign query plan fragments to corresponding LLAP daemons for execution. Tuto hodnotu nechte jako násobek několika uzlů LLAP démona, abyste dosáhli vyšší propustnosti.Keep this value as multiple of a number of LLAP daemon nodes to achieve higher throughput.

Výchozí cluster HDInsight má čtyři procesy LLAP démony spuštěné na čtyřech pracovních uzlech, takže doporučená hodnota je _ * 4 * *.Default HDInsight cluster has four LLAP daemons running on four worker nodes, so the recommended value is _*4**.

5. tez kontejner a velikost hlavní aplikace tez5. Tez Container and Tez Application Master size

Konfigurace: * TEZ. am. Resource. Memory. MB, podregistr. TEZ. Container. Size _Configuration: * tez.am.resource.memory.mb, hive.tez.container.size _

_tez. am. Resource. Memory. MB * – definuje velikost hlavní databáze aplikace TEZ._tez.am.resource.memory.mb* - defines the Tez Application Master size.
Doporučená hodnota je 4096 MB .The recommended value is 4096 MB .

podregistr. TEZ. Container. Size – definuje množství paměti zadané pro kontejner TEZ.hive.tez.container.size - defines the amount of memory given for Tez container. Tato hodnota musí být nastavena mezi minimální velikostí kontejneru PŘÍZe ( příz. Scheduler. minimum-Allocation-MB ) a maximální velikostí kontejneru nitě ( příz. Scheduler. Max-Allocation-MB ).This value must be set between the YARN minimum container size( yarn.scheduler.minimum-allocation-mb ) and the YARN maximum container size( yarn.scheduler.maximum-allocation-mb ). Vykonavatel LLAP démon tuto hodnotu používá pro omezení využití paměti na vykonavatele.The LLAP daemon executors use this value for limiting memory usage per executor.
Doporučená hodnota je 4096 MB .The recommended value is 4096 MB .

6. přidělení kapacity fronty LLAP6. LLAP Queue capacity allocation

Konfigurace: * příze. Scheduler. Capacity. root. llap. Capacity _Configuration: * yarn.scheduler.capacity.root.llap.capacity _

Tato hodnota označuje procento kapacity přidělené frontě llap.This value indicates a percentage of capacity given to llap queue. Přidělení kapacity může mít různé hodnoty pro různé úlohy v závislosti na tom, jak jsou nakonfigurované fronty PŘÍZe.The capacity allocations may have different values for different workloads depending on how the YARN queues are configured. Pokud vaše úloha je operací jen pro čtení, pak ji nastavte tak vysoké, jako je 90% kapacity by měla fungovat.If your workload is read-only operations, then setting it as high as 90% of the capacity should work. Pokud je ale vaše zatížení kombinací operací aktualizovat/odstranit/sloučit pomocí spravovaných tabulek, doporučujeme poskytnout 80% kapacitu llap fronty.However, if your workload is mix of update/delete/merge operations using managed tables, it's recommended to give 80% of the capacity for llap queue. Zbývajících 20% kapacity můžou používat jiné úkoly, jako je například komprimace atd. k přidělování kontejnerů z výchozí fronty.The remaining 20% capacity can be used by other tasks such as compaction etc. to allocate containers from default queue. Díky úlohám ve výchozí frontě nebude možné prostředky PŘÍZe nezbavit.That way tasks in default queue won't deprive of YARN resources.
Pro pracovní uzly D14v2 je doporučená hodnota pro llap Queue _ * 80 * *.For D14v2 worker nodes, the recommended value for llap queue is _*80**.
(Pro úlohy jen pro čtení se dá zvýšit až 90.)(For readonly workloads, it can be increased up to 90 as suitable.)

7. velikost kontejneru démona LLAP7. LLAP daemon container size

Konfigurace: * podregistr. llap. démon. příze. Container. MB _Configuration: * hive.llap.daemon.yarn.container.mb _

Démon LLAP je spuštěn jako kontejner PŘÍZe v každém pracovním uzlu.LLAP daemon is run as a YARN container on each worker node. Celková velikost paměti pro kontejner démon LLAP závisí na následujících faktorech:The total memory size for LLAP daemon container depends on following factors,
_ Konfigurace velikosti kontejneru PŘÍZe (příz. Scheduler. minima alokace-MB, příze. Scheduler. maximum-Allocation-MB, příze. NodeManager. Resource. Memory-MB)_ Configurations of YARN container size (yarn.scheduler.minimum-allocation-mb, yarn.scheduler.maximum-allocation-mb, yarn.nodemanager.resource.memory-mb)

  • Počet tez AMs na uzluNumber of Tez AMs on a node
  • Celková paměť konfigurovaná pro všechny kontejnery na kapacitě uzlu a frontě LLAPTotal memory configured for all containers on a node and LLAP queue capacity

Paměť, kterou vyžadují hlavní aplikační servery tez (tez), se dají vypočítat takto.Memory needed by Tez Application Masters(Tez AM) can be calculated as follows.
Pro interaktivní cluster HDInsight je ve výchozím nastavení jeden tez uzel v jednom pracovním uzlu, který funguje jako koordinátor dotazů.For HDInsight Interactive cluster, by default, there is one Tez AM per worker node that acts as a query coordinator. Počet tez AMs se dá nakonfigurovat na základě počtu souběžných dotazů, které se mají zpracovat.The number of Tez AMs can be configured based on a number of concurrent queries to be served. Doporučuje se mít 4 GB paměti na tez dop.It's recommended to have 4 GB of memory per Tez AM.

Tez paměti na uzel = [ceil – (počet tez AMs/počet uzlů procesu démon pro LLAP)] x [velikost kontejneru pro tez]Tez AM memory per node = [ ceil(number of Tez AMs / Number of LLAP daemon nodes) ] x [ Tez AM container size ]
Pro D14 v2 má výchozí konfigurace čtyři tez AMs a čtyři uzly LLAP démon.For D14 v2, the default configuration has four Tez AMs and four LLAP daemon nodes.
Tez paměti na uzel = (ceil – (4/4) × 4 GB) = 4 GBTez AM memory per node = (ceil(4/4) x 4 GB) = 4 GB

Celková paměť dostupná pro frontu LLAP na jeden pracovní uzel se dá vypočítat takto: Tato hodnota závisí na celkovém množství paměti dostupném pro všechny kontejnery PŘÍZe na uzlu ( příze. NodeManager. Resource. Memory-MB ) a na procentuální hodnotě kapacity nakonfigurované pro frontu LLAP ( příz. Scheduler. Capacity. root. LLAP. Capacity ).Total Memory available for LLAP queue per worker node can be calculated as follows: This value depends on the total amount of memory available for all YARN containers on a node( yarn.nodemanager.resource.memory-mb ) and the percentage of capacity configured for llap queue( yarn.scheduler.capacity.root.llap.capacity ).
Celková paměť pro frontu LLAP v pracovním uzlu = celková paměť dostupná pro všechny kontejnery PŘÍZe v procentech kapacity uzlu x v procentech pro frontu LLAP.Total memory for LLAP queue on worker node = Total memory available for all YARN containers on a node x Percentage of capacity for llap queue.
V případě D14 v2 je tato hodnota [100 GB × 0,80] = 80 GB.For D14 v2, this value is [ 100 GB x 0.80 ] = 80 GB.

Velikost kontejneru démona LLAP se vypočítá takto:The LLAP daemon container size is calculated as follows;

Velikost kontejneru démona LLAP = [Celková dostupná paměť pro frontu LLAP] – [tez paměť na uzel]LLAP daemon container size = [ Total memory available for LLAP queue ] – [ Tez AM memory per node ]

Pro pracovní uzel D14 v2, HDI 4,0 – doporučená hodnota je (80 GB-4 GB)) = 76 GB For D14 v2 worker node, HDI 4.0 - the recommended value is (80 GB - 4 GB)) = 76 GB
(Pro HDI 3,6 je doporučená hodnota 74 GB , protože byste měli vyhradit další ~ 2 GB pro posuvník.)(For HDI 3.6, recommended value is 74 GB because you should reserve additional ~2 GB for slider AM.)

8. určení počtu prováděcích modulů na démona LLAP8. Determining number of executors per LLAP daemon

Konfigurace: * hive.llap.daemon.num.executors _, podregistr. llap. IO. nevlákenná. SizeConfiguration: * hive.llap.daemon.num.executors _, hive.llap.io.threadpool.size

hive.llap.daemon.num.executors :hive.llap.daemon.num.executors :
Tato konfigurace řídí počet prováděcích modulů, které mohou paralelně provádět úlohy na LLAP démon.This configuration controls the number of executors that can execute tasks in parallel per LLAP daemon. Tato hodnota závisí na počtu virtuální jádra, velikosti paměti dané na vykonavateli a celkovém množství paměti, které je k dispozici pro démona LLAP.This value depends on the number of vcores, the amount of memory given per executor and the amount of total memory available for LLAP daemon. Obvykle by tato hodnota měla být co nejblíže k počtu virtuální jádra.Usually, we would like this value to be as close as possible to the number of vcores. Na virtuálních počítačích s D14 v2 je 16 virtuální jádra.There are 16 vcores on D14 v2 VMs. Nicméně ne všechny virtuální jádra mohou být provedeny, protože jiné služby, jako je NodeManager, datanode, metrika a monitor atd. také potřebují část dostupného virtuální jádra.However, not all of the vcores can be taken because other services like NodeManager, DataNode, Metrics Monitor etc. also need portion of available vcores.

Pokud potřebujete upravit počet prováděcích modulů, doporučujeme zvážit 4 GB paměti na jeden prováděcí modul, jak je určeno _hive. TEZ. Container. Size * a zajistit, aby celková paměť potřebná pro všechny prováděcí moduly nepřekročila celkovou paměť dostupnou pro kontejner démona LLAP.If you need to adjust the number of executors, it's recommended that you consider 4 GB of memory per executor as specified by _hive.tez.container.size* and make sure total memory needed for all executors do not exceed the total memory available for LLAP daemon container.
Tato hodnota se dá nakonfigurovat až na 75% z celkového počtu virtuální jádra dostupných v tomto uzlu.This value can be configured up to 75% of the total vcores available on that node.
V případě D14 v2 je doporučená hodnota (. 75 × 16) = 12For D14 v2, the recommended value is (.75 X 16) = 12

podregistr. llap. IO. Apartment. Size_: Tato hodnota určuje velikost fondu vláken pro vykonavatele. Vzhledem k tomu, že vykonavatelé jsou pevně určení, bude stejný jako počet prováděcích modulů na démon LLAP. V případě D14 v2 je doporučená hodnota _* 12* .hive.llap.io.threadpool.size_: This value specifies the thread pool size for executors. Since executors are fixed as specified, it will be same as number of executors per LLAP daemon. For D14 v2, the recommended value is _* 12* .

9. určení velikosti mezipaměti démona LLAP9. Determining LLAP daemon cache size

Konfigurace: * podregistr. llap. IO. Memory. Size _Configuration: * hive.llap.io.memory.size _

Paměť kontejneru démona LLAP se skládá z následujících součástí: _ Hlavní místnostLLAP daemon container memory consists of following components; _ Head room

  • Paměť haldy využívané prováděcími moduly (XMX)Heap memory used by executors (Xmx)
  • Mezipaměť v paměti na démon (jeho velikost paměti mimo haldu, která se nedá použít, když je povolená mezipaměť SSD)In-memory cache per daemon (its off-heap memory size, not applicable when SSD cache is enabled)
  • Velikost metadat mezipaměti v paměti (platí jenom v případě, že je povolená mezipaměť SSD)In-memory cache metadata size (applicable only when SSD cache is enabled)

Velikost rezervy : Tato velikost indikuje část paměti z jiné haldy, která se používá pro režie virtuálních počítačů Java (metaspace, Thread Stack, datové struktury GC atd.).Headroom size : This size indicates a portion of off-heap memory used for Java VM overhead (metaspace, threads stack, gc data structures, etc.). Obecně platí, že tato režie je přibližně 6% velikosti haldy (XMX).Generally, this overhead is about 6% of the heap size (Xmx). Aby bylo možné na bezpečnější straně být tato hodnota vypočítaná jako 6% z celkové velikosti paměti démona LLAP.To be on the safer side, this value can be calculated as 6% of total LLAP daemon memory size.
V případě D14 v2 je doporučená hodnota ceil – (76 GB × 0,06) ~ = 5 GB .For D14 v2, the recommended value is ceil(76 GB x 0.06) ~= 5 GB .

Velikost haldy (XMX) : je množství paměti haldy, která je k dispozici pro všechny prováděcí moduly.Heap size(Xmx) : It is amount of heap memory available for all executors. Celková velikost haldy = počet prováděcích modulů × 4 GBTotal Heap size = Number of executors x 4 GB
Pro D14 v2 je tato hodnota 12 × 4 GB = 48 GB .For D14 v2, this value is 12 x 4 GB = 48 GB

Pokud je mezipaměť SSD zakázaná, mezipaměť v paměti má velikost paměti, která je ponechána po pořízení velikosti a velikosti haldy z kontejneru LLAP démona.If SSD cache is disabled, the in-memory cache is amount of memory that is left after taking out Headroom size and Heap size from the LLAP daemon container size.

Výpočet velikosti mezipaměti se liší, pokud je povolená mezipaměť SSD.Cache size calculation differs when SSD cache is enabled. Nastavení podregistru. llap. IO. Alokátor. mmap = true povolí ukládání do mezipaměti SSD.Setting hive.llap.io.allocator.mmap = true will enable SSD caching. Pokud je povolená mezipaměť SSD, použije se část paměti k uložení metadat pro mezipaměť SSD.When SSD cache is enabled, some portion of the memory will be used to store metadata for the SSD cache. Metadata jsou uložená v paměti a očekává se, že bude mít velikost mezipaměti SSD 10%.The metadata is stored in memory and it's expected to be ~10% of SSD cache size.
Velikost metadat v paměti SSD = [velikost kontejneru démona LLAP] – [hlavní místnost + velikost haldy]SSD Cache in-memory metadata size = [ LLAP daemon container size ] - [ Head room + Heap size ]
V případě D14 v2 s HDI 4,0 je velikost metadat v paměti SSD = [76 GB] – [5 GB + 48 GB] = 23 GBFor D14 v2, with HDI 4.0, SSD cache in-memory metadata size = [ 76 GB ] - [ 5 GB + 48 GB ] = 23 GB
V případě D14 v2 s HDI 3,6 je velikost metadat v paměti SSD = [76 GB] – [5 GB + 48 GB + 2 GB posuvník] = 21 GBFor D14 v2, with HDI 3.6, SSD cache in-memory metadata size = [ 76 GB ] - [ 5 GB + 48 GB + 2 GB slider ] = 21 GB

Vzhledem k velikosti dostupné paměti pro ukládání metadat mezipaměti SSD můžeme vypočítat velikost mezipaměti SSD, kterou je možné podporovat.Given the size of available memory for storing SSD cache metadata, we can calculate the size of SSD cache that can be supported.
Velikost metadat v paměti pro mezipaměť SSD = 10% velikosti mezipaměti SSDSize of in-memory metadata for SSD cache = 10% of size of SSD Cache
Velikost mezipaměti SSD = velikost metadat v paměti pro mezipaměť SSD x 10Size of SSD cache = size of in-memory metadata for SSD cache x 10

Pro D14 v2 a HDI 4,0 se doporučuje velikost mezipaměti SSD = 23 GB × 10 = 230 GBFor D14 v2 and HDI 4.0, the recommended SSD cache size = 23 GB x 10 = 230 GB
Pro D14 v2 a HDI 3,6 se doporučuje velikost mezipaměti SSD = 21 GB × 10 = 210 GB .For D14 v2 and HDI 3.6, the recommended SSD cache size = 21 GB x 10 = 210 GB

10. Úprava paměti připojení mapy10. Adjusting Map Join memory

Konfigurace: * podregistr. auto. Convert. Join. noconditionaltask. Size _Configuration: * hive.auto.convert.join.noconditionaltask.size _

Ujistěte se, že máte _hive. auto. Convert. Join. noconditionaltask * Enabled, aby se tento parametr projevil.Make sure you have _hive.auto.convert.join.noconditionaltask* enabled for this parameter to take effect. Tato konfigurace umožňuje uživateli určit velikost tabulek, které mohou být do paměti přizpůsobeny, aby se připojily k mapě.This configuration allows the user to specify the size of the tables that can fit in memory to do Map join. Je-li součet velikosti n-1 tabulek nebo oddílů pro n-Way spojení menší než konfigurovaná hodnota, bude zvolena možnost spojení map.If the sum of the size of n-1 tables or partitions for n-way join is less than the configured value, the Map join will be chosen. Velikost paměti prováděcího modulu LLAP by měla být použita k výpočtu prahové hodnoty autoConvert pro připojení k mapě.The LLAP executor memory size should be used to calculate the threshold for autoconvert to Map Join. U každého prováděcího modulu se předpokládá, že má velikost haldy 4 GB, ale ne všechny budou k dispozici pro připojení k mapě.Each executor is assumed to have 4 GB of heap size, but not all of it will be available for Map join. Některá paměť haldy se použije pro řazení vyrovnávacích pamětí, náhodné vyrovnávací paměti, zatřiďovací tabulky atd. jiné operace také.Some heap memory will be used for sort buffers, shuffle buffers, hash tables, etc. by other operations as well. Proto můžete pro připojení k mapě dát 50% velikost paměti haldy o velikosti 4 GB.So, you can give 50% of 4 GB heap memory for Map join.
Poznámka: Tato hodnota může vyžadovat úpravy, které jsou vhodné pro vaše zatížení.Note: This value may need adjustments that are suitable for your workload. Nastavení příliš nízké hodnoty nemusí používat funkci autoConvert.Setting this value too low may not use autoconvert feature. A jeho nastavení je příliš vysoké, může způsobit výjimky z paměti nebo pozastavení GC, které mohou vést k negativnímu výkonu.And setting it too high may result into out of memory exceptions or GC pauses that can result into adverse performance.
V případě D14 v2 se 4 GB paměti na vykonavatele doporučujeme nastavit tuto hodnotu na 2048 MB .For D14 v2, with 4 GB memory per executor, it's recommended to set this value to 2048 MB .

Další krokyNext Steps

Pokud nastavení těchto hodnot nevyřešilo váš problém, navštivte jednu z následujících možností...If setting these values didn't resolve your issue, visit one of the following...