Purpose
Chukwa is a system for large-scale reliable log collection and processing with Hadoop. The Chukwa design overview discusses the overall architecture of Chukwa. You should read that document before this one. The purpose of this document is to help you install and configure Chukwa.
Pre-requisites
Chukwa should work on any POSIX platform, but GNU/Linux is the only production platform that has been tested extensively. Chukwa has also been used successfully on Mac OS X, which several members of the Chukwa team use for development.
The only absolute software requirements are Java 1.6 or better, ZooKeeper 3.4.x, HBase 0.96.x and Hadoop 1.x.
The Chukwa cluster management scripts rely on ssh; these scripts, however, are not required if you have some alternate mechanism for starting and stopping daemons.
Installing Chukwa
A minimal Chukwa deployment has five components:
- A Hadoop and HBase cluster on which Chukwa will process data (referred to as the Chukwa cluster).
- One or more agent processes, that send monitoring data to HBase. The nodes with active agent processes are referred to as the monitored source nodes.
- Data analytics script, summarize Hadoop Cluster Health.
- HICC, the Chukwa visualization tool.
First Steps
- Obtain a copy of Chukwa. You can find the latest release on the Chukwa release page.
- Un-tar the release, via tar xzf.
- Make sure a copy of Chukwa is available on each node being monitored.
- We refer to the directory containing Chukwa as CHUKWA_HOME. It may be useful to set CHUKWA_HOME explicitly in your environment for ease of use.
Setting Up Chukwa Cluster
Configure Hadoop
- Copy Chukwa files to Hadoop directory:
cp $CHUKWA_CONF_DIR/hadoop-log4j.properties $HADOOP_CONF_DIR/log4j.properties cp $CHUKWA_HOME/etc/chukwa/hadoop-metrics2.properties $HADOOP_CONF_DIR/hadoop-metrics2.properties cp $CHUKWA_HOME/share/chukwa/chukwa-0.6.0-client.jar $HADOOP_HOME/share/hadoop/lib cp $CHUKWA_HOME/share/chukwa/lib/json-simple-1.1.jar $HADOOP_HOME/share/hadoop/lib
- Restart your Hadoop Cluster. General Hadoop configuration is available at: Hadoop Configuration
- Make sure HBase is started. General HBASE configuration is available at: HBase Configuration
- After Hadoop and HBase are started, run:
bin/hbase shell < CHUKWA_HOME/etc/chukwa/hbase.schema
This procedure initializes the default Chukwa HBase schema.
Configuring And Starting Chukwa Agent
- Edit CHUKWA_HOME/etc/chukwa/chukwa-env.sh. Make sure that JAVA_HOME, HADOOP_HOME, HADOOP_CONF_DIR, HBASE_HOME, and HBASE_CONF_DIR are set correctly.
- In CHUKWA_HOME, run:
bin/chukwa agent
Setup Cluster Aggregation Script
For data analytics with Apache Pig, there are some additional environment setup. Apache Pig does not use the same environment variable name as Hadoop, therefore make sure the following environment are setup correctly:
- Download and setup Apache Pig 0.9.1.
- Define Apache Pig class path:
export PIG_CLASSPATH=$HADOOP_CONF_DIR:$HBASE_CONF_DIR
- Create a jar file of HBASE_CONF_DIR, run:
jar cf $CHUKWA_HOME/hbase-env.jar $HBASE_CONF_DIR
- Setup a cron job or Hudson job for analytics script to run periodically:
pig -Dpig.additional.jars=${HBASE_HOME}/hbase-0.90.4.jar:${HBASE_HOME}/lib/zookeeper-3.3.2.jar:${PIG_PATH}/pig.jar:${CHUKWA_HOME}/hbase-env.jar ${CHUKWA_HOME}/script/pig/ClusterSummary.pig