Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Výpisy z haldy obsahují snímek paměti aplikace, včetně hodnot proměnných v době, kdy byl výpis vytvořen. Jsou proto užitečné při diagnostice problémů, ke kterým dochází za běhu.
Služby
Výpisy paměti haldy můžete povolit pro následující služby:
- Apache hcatalog – tempelton
- Apache Hive – hiveserver2, metastore, derbyserver
- mapreduce – jobhistoryserver
- Apache yarn – resourcemanager, nodemanager, timelineserver
- Apache hdfs – datanode, sekundární namenode, namenode
Můžete také povolit výpisy paměti haldy pro mapovací a redukční procesy běžící v HDInsight.
Pochopení konfigurace výpisu paměti haldy
Výpisy paměti haldy jsou povoleny tím, že při spuštění služby předáváme do JVM příslušné možnosti (někdy označované jako volby nebo parametry). U většiny služeb Apache Hadoop můžete upravit skript prostředí používaný ke spuštění služby a předat tyto možnosti.
V každém skriptu je export pro *_OPTS, který obsahuje možnosti předané prostředí JVM. Například ve skriptu hadoop-env.sh obsahuje řádek, který začíná možnostmi export HADOOP_NAMENODE_OPTS=
pro službu NameNode.
Procesy mapování a redukce se mírně liší, protože tyto operace jsou podřízeným procesem služby MapReduce. Každý proces mapování nebo redukce se spustí v podřízeném kontejneru a existují dvě položky, které obsahují možnosti JVM. Obě obsaženy v mapred-site.xml:
- mapreduce.admin.map.child.java.opts
- mapreduce.admin.reduce.child.java.opts
Poznámka:
K úpravě skriptů i nastavení mapred-site.xml doporučujeme použít Apache Ambari , protože Ambari zpracovává změny v různých uzlech v clusteru. Konkrétní kroky najdete v části Použití Apache Ambari .
Povolení výpisů paměti haldy
Následující možnost povolí výpisy paměti haldy, když dojde k chybě OutOfMemoryError:
-XX:+HeapDumpOnOutOfMemoryError
Označuje + , že je tato možnost povolená. Výchozí hodnota je zakázaná.
Výstraha
Standardně nejsou pro služby Hadoop na HDInsight povolené výpisy paměti, protože soubory s výpisem paměti mohou být velké. Pokud je povolíte pro řešení potíží, nezapomeňte je po reprodukci problému a shromáždění souborů s výpisem paměti znovu zakázat.
Umístění výpisu
Výchozím umístěním souboru výpisu paměti je aktuální pracovní adresář. Umístění souboru můžete řídit pomocí následující možnosti:
-XX:HeapDumpPath=/path
Například použití -XX:HeapDumpPath=/tmp
způsobí, že výpisy paměti budou uloženy v adresáři /tmp.
Skripty
Skript můžete aktivovat také v případě, že dojde k chybě OutOfMemoryError. Například aktivací oznámení, abyste věděli, že k chybě došlo. K aktivaci skriptu pro OutOfMemoryError použijte následující možnost:
-XX:OnOutOfMemoryError=/path/to/script
Poznámka:
Vzhledem k tomu, že Apache Hadoop je distribuovaný systém, musí být všechny použité skripty umístěny na všech uzlech v clusteru, na kterém služba běží.
Skript musí být také umístěn na místě přístupném účtem, pod kterým služba běží, a musí mít nastavena oprávnění ke spuštění. Můžete například chtít ukládat skripty /usr/local/bin
a používat chmod go+rx /usr/local/bin/filename.sh
je k udělení oprávnění ke čtení a spuštění.
Použití Apache Ambari
Pokud chcete upravit konfiguraci služby, postupujte následovně:
Ve webovém prohlížeči navigujte na
https://CLUSTERNAME.azurehdinsight.net
, kdeCLUSTERNAME
je název vašeho clusteru.V seznamu vlevo vyberte oblast služby, kterou chcete upravit. Například HDFS. V oblasti uprostřed vyberte kartu Konfigurace .
Pomocí položky Filtrovat... zadejte opts. Zobrazí se pouze položky obsahující tento text.
Vyhledejte položku *_OPTS pro službu, pro kterou chcete povolit výpisy paměti haldy, a přidejte možnosti, které chcete povolit. Na následujícím obrázku jsem přidal
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp/
k položce HADOOP_NAMENODE_OPTSPoznámka:
Při povolování výpisů paměti haldy pro podřízený proces mapování nebo redukce vyhledejte pole nazvaná mapreduce.admin.map.child.java.opts a mapreduce.admin.reduce.child.java.opts.
Pomocí tlačítka Uložit uložte změny. Můžete zadat krátkou poznámku popisující změny.
Po použití změn se vedle jedné nebo více služeb zobrazí ikona Je vyžadován restart.
Vyberte každou službu, která vyžaduje restartování, a pomocí tlačítka Akce službyzapněte režim údržby. Režim údržby zabraňuje vygenerování výstrah ze služby při restartování.
Jakmile povolíte režim údržby, použijte tlačítko Restartovat , aby služba restartovala všechny efekty.
Poznámka:
Položky tlačítka Restartovat se můžou lišit pro jiné služby.
Po restartování služeb pomocí tlačítka Akce službyvypněte režim údržby. Ambari obnoví monitorování výstrah pro službu.