17.4.3 Chukwa的运行

在启动Chukwa之前需要启动Hadoop和HBase,之后需要分别启动Collector进程和Agent进程。

1.Collector进程的启动

在单个节点上运行Collector进程可以使用bin/chukwa collector命令,如下所示:


chukwa collector

hadoop@master:~/hadoop-1.0.1/chukwa-incubating-0.5.0$

OK writer.hdfs.filesystem[URI]=hdfs://master:9000

No checker rules for:chukwaCollector.outputDir

started Chukwa http collector on port 8080


在启动成功后将读出一些系统配置信息,如上所示,Collector进程将监视8080端口。另外,Collector可以作为守护进程运行,其脚本命令是sbin/start-collectors.sh,它将远程登录(SSH)到在conf/collectors配置中列出的Collector地址,并且启动一个Collector进程在后台运行。

脚本命令sbin/stop-collectors.sh则用来关闭Collector进程。另外还可以通过bin/chukwa collector sotp命令来关闭Collector进程。

可以在浏览器中输入http://collectorhost:collectorport/chukwa?ping=true,其中,collectorhost是Collector的节点,collectorport是相应的端口,如果Collector运行正常,一些统计数据将在页面中显示,例如:


Date:1337780783926

Now:1337780798066

numberHTTPConnection in time window:0

numberchunks in time window:0

lifetimechunks:0


2.Agent进程的启动

在单个节点上启动Agent进程可以使用bin/chukwa agent命令。另外也可以通过sbin/start-agents.sh来启动Agent进程。start-agents.sh脚本将会读取CHUKWA_CONF_DIR/agents文件,并且启动该配置文件中所列出的所有机器的Agent进程。

3.HICC进程的启动

开始运行HICC,输入命令$CHUKWA_HOME/bin/chukwa hicc,如下所示:


hadoop@master:chukwa hicc

hadoop@master:~/hadoop-1.0.1/chukwa-incubating-0.5.0$May 23,2012 6:51:41 AM com.

sun.jersey.api.core.PackagesResourceConfig init

INFO:Scanning for root resource and provider classes in the packages:

org.apache.hadoop.chukwa.rest.resource

org.apache.hadoop.chukwa.hicc.rest

May 23,2012 6:51:42 AM com.sun.jersey.api.core.ScanningResourceConfig logClasses

INFO:Root resource classes found:

class org.apache.hadoop.chukwa.hicc.rest.MetricsController

class org.apache.hadoop.chukwa.rest.resource.ViewResource

class org.apache.hadoop.chukwa.rest.resource.UserResource

class org.apache.hadoop.chukwa.rest.resource.WidgetResource

class org.apache.hadoop.chukwa.rest.resource.ClientTrace

May 23,2012 6:51:42 AM com.sun.jersey.api.core.ScanningResourceConfig logClasses

INFO:Provider classes found:

class org.apache.hadoop.chukwa.rest.resource.WidgetContextResolver

class org.apache.hadoop.chukwa.rest.resource.ViewContextResolver

May 23,2012 6:51:42 AM com.sun.jersey.server.impl.application.WebApplicationImpl

_initiate

INFO:Initiating Jersey application, version'Jersey:1.10 11/02/2011 04:41 PM'


在Agent进程启动成功后,在Web地址栏输入http://<Server>:<port>/hicc即可看到Chukwa的可视化界面。其中,Server是主机名,<port>是jetty端口,默认为4080,可以根据需要对$CHUKWA/webapps/hicc.war文件中/WEB-INF/目录下的jetty.xml文件进行修改,如下所示:


<Call name="addConnector">

<Arg>

<New class="org.mortbay.jetty.nio.SelectChannelConnector">

<Set name="host"><SystemProperty name="jetty.host"/></Set>

<Set name="port"><SystemProperty name="jetty.port"default="4080"/></Set>

<Set name="maxIdleTime">30000</Set>

<Set name="Acceptors">2</Set>

<Set name="statsOn">false</Set>

<Set name="confidentialPort">8443</Set>

<Set name="lowResourcesConnections">5000</Set>

<Set name="lowResourcesMaxIdleTime">5000</Set>

</New>

</Arg>

</Call>


Chukwa HICC界面如图17-4所示。

17.4.3 Chukwa的运行 - 图1

图 17-4 HICC界面

在Cluster Status表单中可以看到监控集群的运行情况,如图17-5所示。

17.4.3 Chukwa的运行 - 图2

图 17-5 HICC监控的集群运行

在DFS Status表单中可以看到分布式文件系统的状态,如图17-6所示。

17.4.3 Chukwa的运行 - 图3

图 17-6 HICC监控的分布式文件系统运行

也可以单击菜单栏中Options选项的Add Widget(窗件),向网页中添加需要监控的窗件,如图17-7所示。

17.4.3 Chukwa的运行 - 图4

图 17-7 向HICC添加信息窗

单击信息窗右上角的齿轮,可以打开并选择需要显示的度量指标,如图17-8所示。

17.4.3 Chukwa的运行 - 图5

图 17-8 在HICC的窗件中选择需要显示的度量指标

4.启动Chukwa的过程

我们可以按照如下顺序启动Chukwa。

1)启动Hadoop和HBase;

2)启动Chukwa:$CHUKWA_HOME/sbin/start-chukwa.sh;

3)启动HICC:$CHUKWA_HOME/bin/chukwa hicc。