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 HICC界面
在Cluster Status表单中可以看到监控集群的运行情况,如图17-5所示。
图 17-5 HICC监控的集群运行
在DFS Status表单中可以看到分布式文件系统的状态,如图17-6所示。
图 17-6 HICC监控的分布式文件系统运行
也可以单击菜单栏中Options选项的Add Widget(窗件),向网页中添加需要监控的窗件,如图17-7所示。
图 17-7 向HICC添加信息窗
单击信息窗右上角的齿轮,可以打开并选择需要显示的度量指标,如图17-8所示。
图 17-8 在HICC的窗件中选择需要显示的度量指标
4.启动Chukwa的过程
我们可以按照如下顺序启动Chukwa。
1)启动Hadoop和HBase;
2)启动Chukwa:$CHUKWA_HOME/sbin/start-chukwa.sh;
3)启动HICC:$CHUKWA_HOME/bin/chukwa hicc。