如何获得hadoop纱线应用的内存和CPU使用率?

时间:2015-05-12 08:13:54

标签: hadoop memory mapreduce cpu-usage yarn

我想问一下,在我运行了我的hadoop mapreduce应用程序后,如何获得该应用程序的总内存和CPU使用率。我在日志和资源管理器网页上看过它,但我没有得到它。

有可能吗?我是否可以按作业执行或按应用程序获取它,我可以按节点使用情况或总使用量获得它吗?

非常感谢....

1 个答案:

答案 0 :(得分:6)

是的,您可以很好地检查应用程序的总内存和CPU使用情况。

您可以使用作业跟踪器UI,单击已完成页面上的计数器链接,并可能获得如下的典型视图。内存和CPU计数器突出显示。

enter image description here

点击突出显示的链接将显示作业的每个任务(地图/减少)的消耗量。

要从命令行查看这些消耗计数器的这些值,您可以使用

<?php error_reporting(E_ALL); include('config.php'); include('inc/header.php'); define('CSV_PATH', ''); $csv_file = CSV_PATH . "importImage.csv"; // Name of your CSV file $csvfile = fopen($csv_file, 'r'); $theData = fgets($csvfile); $i = 0; while (!feof($csvfile)) { $csv_data[] = fgets($csvfile, 1024); $csv_array = explode(",", $csv_data[$i]); $insert_csv = array(); $url = $insert_csv['url'] = $csv_array[0]; $image = $insert_csv['image'] = $csv_array[1]; $raw = file_get_contents($url . $image); /*RESIZE USING GD*/ /* * PHP GD * resize an image using GD library */ // File and new size //the original image has 800x600 $filename = $raw; //the resize will be a percent of the original size $percent = 0.5; // Content type header('Content-Type: image/jpeg'); // Get new sizes list($width, $height) = getimagesize($filename); $newwidth = 200; $newheight = 200; // Load $thumb = imagecreate($newwidth, $newheight); $source = imagecreate($filename); // Resize $imgnew = imagecopyresampled($thumb, $source, 0, 0, 0, 0, newwidth, $newheight, $width, $height); imagejpeg($thumb, 'Mypath' . time() . '.jpg'); // save resized image to //Output and free memory imagedestroy($thumb); $i++; } fclose($csvfile); echo "File data successfully imported to database!!"; mysql_close($connect); ?> 用于cpu使用

hadoop job -counter <job-id> org.apache.hadoop.mapreduce.TaskCounter CPU_MILLISECONDS用于内存使用