Az Apache Hadoop-szolgáltatások halomképeinek engedélyezése Linux-alapú HDInsighton

A halomképek az alkalmazás memóriájának pillanatképét tartalmazzák, beleértve a memóriakép létrehozásakor a változók értékeit is. Ezért hasznosak a futásidőben előforduló problémák diagnosztizálásában.

Szolgáltatások

A halomképeket a következő szolgáltatásokhoz engedélyezheti:

  • Apache hcatalog – tempelton
  • Apache hive – hiveserver2, metaadattár, derbyserver
  • mapreduce – jobhistoryserver
  • Apache yarn – resourcemanager, nodemanager, timelineserver
  • Apache hdfs – datanode, secondarynamenode, namenode

A HDInsight által futtatott térkép- és csökkentési folyamatok halomképeit is engedélyezheti.

A halomkép konfigurációjának ismertetése

A halomképek engedélyezéséhez a szolgáltatás indításakor a JVM-nek adja át a beállításokat (más néven optokat vagy paramétereket). A legtöbb Apache Hadoop-szolgáltatás esetében módosíthatja a szolgáltatás elindításához használt rendszerhéjszkriptet, hogy megfeleljön ezeknek a beállításoknak.

Minden szkriptben van egy *_OPTS exportálása, amely tartalmazza a JVM-nek átadott beállításokat. A hadoop-env.sh szkriptben például a névcsomópont export HADOOP_NAMENODE_OPTS= szolgáltatás beállításait tartalmazó sor kezdődik.

A leképezési és csökkentési folyamatok kissé eltérőek, mivel ezek a műveletek a MapReduce szolgáltatás gyermekfolyamatai. Minden leképezési vagy csökkentési folyamat egy gyermektárolóban fut, és két bejegyzés tartalmazza a JVM-beállításokat. Mindkettő a mapred-site.xml tartalmazza:

  • mapreduce.admin.map.child.java.opts
  • mapreduce.admin.reduce.child.java.opts

Feljegyzés

Javasoljuk, hogy az Apache Ambari használatával módosítsa a szkripteket és a mapred-site.xml beállításait is, mivel az Ambari kezeli a fürt csomópontjai közötti módosítások replikálását. A konkrét lépésekért tekintse meg az Apache Ambari használata című szakaszt.

Halomürítések engedélyezése

Az alábbi lehetőség lehetővé teszi a halomképek készítését outOfMemoryError esetén:

-XX:+HeapDumpOnOutOfMemoryError

Ez + azt jelzi, hogy ez a beállítás engedélyezve van. Ez a beállítás alapértelmezés szerint le van tiltva.

Figyelmeztetés

A halomképek alapértelmezés szerint nem engedélyezettek a HDInsight hadoop-szolgáltatásaihoz, mivel a memóriaképfájlok nagyok lehetnek. Ha engedélyezi őket a hibaelhárításhoz, ne felejtse el letiltani őket, miután reprodukálta a problémát, és összegyűjtötte a memóriaképfájlokat.

Memóriakép helye

A memóriaképfájl alapértelmezett helye az aktuális munkakönyvtár. A fájl tárolási helyét az alábbi beállítással szabályozhatja:

-XX:HeapDumpPath=/path

Például a használat -XX:HeapDumpPath=/tmp miatt a memóriaképek a /tmp könyvtárban lesznek tárolva.

Parancsfájlok

Parancsfájlt is aktiválhat outOfMemoryError esetén. Például aktiválhat egy értesítést, hogy tudja, hogy a hiba történt. A következő beállítással aktiválhat szkriptet egy OutOfMemoryError rendszeren:

-XX:OnOutOfMemoryError=/path/to/script

Feljegyzés

Mivel az Apache Hadoop egy elosztott rendszer, a használt szkripteket a szolgáltatás által futtatott fürt összes csomópontján el kell helyezni.

A szkriptnek olyan helyen kell lennie, amely elérhető a szolgáltatás által futtatott fiók számára, és meg kell adnia a végrehajtási engedélyeket. Előfordulhat például, hogy szkripteket /usr/local/bin szeretne tárolni, és olvasási chmod go+rx /usr/local/bin/filename.sh és végrehajtási engedélyeket szeretne adni.

Az Apache Ambari használata

Egy szolgáltatás konfigurációjának módosításához kövesse az alábbi lépéseket:

  1. Egy webböngészőben keresse meg https://CLUSTERNAME.azurehdinsight.netCLUSTERNAME a fürt nevét.

  2. A bal oldali lista használatával válassza ki a módosítani kívánt szolgáltatási területet. Például: HDFS. A középső területen válassza a Konfigurációk lapot.

    Image of Ambari web with HDFS Configs tab selected.

  3. A Szűrő... bejegyzés használatával adja meg az opts értéket. Csak a szöveget tartalmazó elemek jelennek meg.

    Apache Ambari config filtered list.

  4. Keresse meg a *_OPTS bejegyzést ahhoz a szolgáltatáshoz, amelyhez engedélyezni szeretné a halomképeket, és adja hozzá az engedélyezni kívánt beállításokat. A következő képen hozzáadtam -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp/ a HADOOP_NAMENODE_OPTS bejegyzéshez:

    Apache Ambari hadoop-namenode-opts.

    Feljegyzés

    Ha engedélyezi a halomképeket a térképhez vagy a gyermekfolyamat csökkentéséhez, keresse meg a mapreduce.admin.map.child.java.opts és mapreduce.admin.reduce.child.java.opts nevű mezőket.

    A módosítások mentéséhez használja a Mentés gombot. A módosításokat leíró rövid megjegyzést is megadhat.

  5. A módosítások alkalmazása után megjelenik a Szükséges újraindítás ikon egy vagy több szolgáltatás mellett.

    restart required icon and restart button.

  6. Jelölje ki az újraindítást igénylő összes szolgáltatást, és a Szolgáltatásműveletek gombra kattintva kapcsolja be a karbantartási módot. A karbantartási mód megakadályozza a riasztások generálását a szolgáltatásból az újraindításkor.

    Turn on hdi maintenance mode menu.

  7. Miután engedélyezte a karbantartási módot, a szolgáltatás Újraindítás gombját használva indítsa újra az összes effektust

    Apache Ambari Restart All Affected entry.

    Feljegyzés

    Az Újraindítás gomb bejegyzései más szolgáltatások esetében eltérőek lehetnek.

  8. A szolgáltatások újraindítása után a Szolgáltatásműveletek gombbal kapcsolja ki a karbantartási módot. Ez az Ambari folytatja a szolgáltatás riasztásainak figyelését.