Share via


Teljesítményhangolási útmutató a HDInsighton és Azure Data Lake Storage Gen1-en futó Hive-hez

Az alapértelmezett beállítások úgy lettek beállítva, hogy jó teljesítményt nyújtsanak számos különböző használati esetben. I/O-igényes lekérdezések esetén a Hive hangolható, hogy jobb teljesítményt nyújtson Azure Data Lake Storage Gen1 használatával.

Előfeltételek

Paraméterek

A jobb Data Lake Storage Gen1 teljesítmény érdekében az alábbi legfontosabb beállításokat érdemes hangolni:

  • hive.tez.container.size – az egyes feladatok által felhasznált memória mennyisége

  • tez.grouping.min-size – az egyes leképezők minimális mérete

  • tez.grouping.max-size – az egyes leképezők maximális mérete

  • hive.exec.reducer.bytes.per.reducer – az egyes csökkentők mérete

hive.tez.container.size – A tároló mérete határozza meg, hogy mennyi memória áll rendelkezésre az egyes feladatokhoz. Ez a Fő bemenet az egyidejűség szabályozásához a Hive-ben.

tez.grouping.min-size – Ez a paraméter lehetővé teszi az egyes leképezők minimális méretének beállítását. Ha a Tez által kiválasztott leképezők száma kisebb, mint ennek a paraméternek az értéke, akkor a Tez az itt megadott értéket fogja használni.

tez.grouping.max-size – A paraméter lehetővé teszi az egyes leképezők maximális méretének beállítását. Ha a Tez által kiválasztott leképezők száma nagyobb, mint ennek a paraméternek az értéke, akkor a Tez az itt megadott értéket fogja használni.

hive.exec.reducer.bytes.per.reducer – Ez a paraméter az egyes szűkítők méretét állítja be. Alapértelmezés szerint minden redukátor 256 MB.

Útmutató

Hive.exec.reducer.bytes.per.reducer beállítása – Az alapértelmezett érték jól működik, ha az adatok tömörítetlenek. A tömörített adatok esetében csökkentenie kell a redukátor méretét.

Hive.tez.container.size beállítása – Minden csomópontban a yarn.nodemanager.resource.memory-mb adja meg a memóriát, és alapértelmezés szerint helyesen kell beállítani a HDI-fürtön. A megfelelő memória YARN-ban való beállításával kapcsolatos további információkért lásd ezt a bejegyzést.

Az I/O-igényes számítási feladatok a Tez-tároló méretének csökkentésével élvezhetik a párhuzamosság előnyeit. Ez több tárolót biztosít a felhasználónak, ami növeli az egyidejűséget. Egyes Hive-lekérdezések azonban jelentős mennyiségű memóriát igényelnek (pl. MapJoin). Ha a feladat nem rendelkezik elegendő memóriával, futásidőben ki fog merülni a memóriakivétel. Ha memóriakivételeket kap, növelnie kell a memóriát.

A futó vagy párhuzamos tevékenységek egyidejű számát a YARN teljes memóriája fogja határolja. A YARN-tárolók száma határozza meg, hogy hány egyidejű feladat futtatható. A CSOMÓPONTonkénti YARN-memória megkereséséhez lépjen az Ambariba. Lépjen a YARN lapra, és tekintse meg a Konfigurációk lapot. Ebben az ablakban megjelenik a YARN-memória.

Yarn-memória összesen = csomópontok * YARN-memória csomópontonként A YARN-tárolók száma = ÖSSZES YARN-memória / Tez tárolóméret

A teljesítmény Data Lake Storage Gen1 használatával történő javításának kulcsa az egyidejűség lehető legnagyobb mértékű növelése. A Tez automatikusan kiszámítja a létrehozandó tevékenységek számát, így nem kell beállítania.

Példaszámítás

Tegyük fel, hogy 8 csomópontos D14-fürtje van.

Yarn-memória összesen = csomópontok * YARN memória csomópontonként Összesen YARN memória = 8 csomópont * 96 GB = 768 GB YARN-tárolók száma = 768 GB / 3072MB = 256

Korlátozások

Data Lake Storage Gen1 szabályozás

Ha eléri a Data Lake Storage Gen1 által biztosított sávszélesség korlátait, a feladathibák megjelennek. Ezt a feladatnaplók szabályozási hibáinak megfigyelésével lehet azonosítani. A párhuzamosságot a Tez tároló méretének növelésével csökkentheti. Ha több egyidejűségre van szüksége a munkájához, lépjen kapcsolatba velünk.

Annak ellenőrzéséhez, hogy szabályozva van-e, engedélyeznie kell a hibakeresési naplózást az ügyféloldalon. Ezt a következőképpen teheti meg:

  1. Helyezze a következő tulajdonságot a log4j tulajdonságokba a Hive-konfigurációban. Ez Ambari-nézetben végezhető el: log4j.logger.com.microsoft.azure.datalake.store=DEBUG Indítsa újra a konfiguráció összes csomópontját/szolgáltatását a működés érvénybe lépéséhez.

  2. Ha szabályozva van, a HIVE-naplófájlban megjelenik a HTTP 429-es hibakód. A hive-naplófájl /tmp/<user>/hive.log

További információ a Hive hangolásáról

Íme néhány blog, amely segít a Hive-lekérdezések hangolásában: