ローカル マシンでテストするために、擬似分散モードで Hadoop を実行しています。JVisualVM でマッパーとリデューサーのメモリと CPU の使用状況を監視したいと考えています。ただし、JVisualVM のローカル アプリケーションのリストには、org.apache.hadoop.util.RunJar
.
- マッパーとリデューサーは別々のプロセスとして実行されていますか? ( では
top
、2 つのマッパーが実行されている間、「java」という名前の 2 つのプロセスが 100% の CPU を使用しているように見えます。) それらが別々のプロセスである場合、なぜ JVisualVM はそれらを監視できるアプリケーションとしてリストしないのですか? - マッパーとレデューサーは
org.apache.hadoop.util.RunJar
プロセス内に含まれていますか? もしそうなら、(a)マッパー/リデューサーのコードではなく JVisualVM Sampler のみに表示されるのはなぜですか? (b) 100% と報告されているのに、JVisualVM がほぼ 0% の CPU をTool
報告するのはなぜですか?ToolRunner
top
少なくとも疑似分散モードでのデバッグ中に、JVisualVM がそれらを認識できるようにマッパー/リデューサーを変更する方法はありますか?
完全を期すために、私は Cloudera から Hadoop 0.20 を実行していると言わなければなりません。apt-get install hadoop-0.20-conf-pseudo
(リポジトリから使ってUbuntuにインストールしましhttp://archive.cloudera.com/cdh4/ubuntu/precise/amd64/cdh precise-cdh4 contrib
た。Clouderaはバージョン番号に2.xを入れていますが、YARNではなく、元のHadoopです。)
% hadoop version
Hadoop 2.0.0-cdh4.4.0
Subversion file:///var/lib/jenkins/workspace/generic-package-ubuntu64-12-04/CDH4.4.0-Packaging-Hadoop-2013-09-03_18-48-35/hadoop-2.0.0+1475-1.cdh4.4.0.p0.23~precise/src/hadoop-common-project/hadoop-common -r c0eba6cd38c984557e96a16ccd7356b7de835e79
Compiled by jenkins on Tue Sep 3 19:33:54 PDT 2013
From source with checksum ac7e170aa709b3ace13dc5f775487180
This command was run using /usr/lib/hadoop/hadoop-common-2.0.0-cdh4.4.0.jar