System monitoring is critical for maintaining the health and availability for large distributed systems such as Hadoop. General monitoring tasks include monitoring the health of cluster nodes and networks, for example, the usage of memory, heap, CPU, network, and so on. For a Hadoop cluster, we may also want to monitor some specific metrics, such as the status of jobs and tasks in the cluster, the status of the JobTracker, TaskTracker, NameNode, and DataNode.
Hadoop is lucky to be born in an open source world! A number of very stable open source tools for system monitoring are there waiting to join the Hadoop family, and many of these systems have been adopted by Hadoop for monitoring purposes.
In this chapter, we will first introduce the management framework, Java Management Extension (JMX) for system monitoring. Next, we will introduce two famous open source cluster monitoring systems: Ganglia and Nagios. Ganglia is an open source scalable monitoring system. Monitoring daemons...