Chukwa 0.4.0 详细安装流程(2)

7.配置Agent

(1)配置$CHUKWA_HOME/conf/initial_adaptors

     cp initial_adaptors.template initial_adaptors

(2)配置$CHUKWA_HOME/conf/chukwa-agent-conf.xml

                   (我只列出我修改的地方)

    <property>

    <name>chukwaAgent.tags</name>

    <value>cluster="zlhchukwa"</value>

    <description>The cluster's name for this agent</description>

</property>

(3)配置$CHUKWA_HOME/conf/agents文件,我的配置如下所示:

     gd115

         gd116

         gd117

(4)配置$CHUKWA_HOME/conf/Collectors文件,我的配置如下:

      :9927/

注:从这个地方可以看出来Collectors和agents是通过http进行联系的,此处最好要用ip,不要用其他代号,因为可能访问不到

(5)测试启动agents看每个节点上的agent否启动成功

     执行$CHUKWA_HOME/bin/ start-agents.sh 

     此时应该会在各个节点上通过jps可以看到有一个进程叫做ChukwaAgent,

     可以试着telnet localhost 9093 然后list看一下各个adaptor是否启动

(6)关闭agents

     执行$CHUKWA_HOME/bin/stop-agents.sh,

         假如关闭不了ChukwaAgent进程可以修改$CHUKWA_HOME/bin/chukwa文件

     找到关键字kill 然后将后面的数值改成kill -9

(7)在关闭Hadoop的状态下,将$CHUKWA_HOME/conf/hadoop-logs4j.properties覆盖

     $HADOOP_HOME/conf/log4j.properties

     修改$CHUKWA_HOME/conf/hadoop-metrics.properties中的@TODO-CHUKWA_LOG_DIR@改为:

         /home/zhangliuhang/chukwa/logs/,然后将该文件覆盖掉

     $HADOOP_HOME/conf/hadoop-metrics.properties

     在做这一步的时候最好将原文件进行备份

正确的启动顺序是先启动hadoop,再启动collectors,然后才启动agents,在做完第(6)小步后,假如此时启动hadoop,会发现他可能报错,假如只出现以下出错信息:

Error initializing ChukwaClient with list of currently registered adaptors,clearing our local list of adaptors,可以置之不理的,但是其他错误不行)

8.配置Collectors

(1)配置$CHUKWA_HOME/conf/chukwa-collector-conf.xml文件,我的配置如下:

(我只给出了我修改的部分)

<property>

    <name>writer.hdfs.filesystem</name>

    <value>hdfs://gd115:9989/</value>

    <description>HDFS to dump to</description>

  </property>

(注意,此处配置的信息应该和$HADOOP_HOME/conf/core-site.xml当中的fs.default.name内容一致,因为collectors需要将从agents收集到的信息存储到hdfs上面去

<property>

    <name>chukwaCollector.outputDir</name>

    <value>/chukwa/logs/</value>

    <description>Chukwa data sink directory</description>

  </property>

注意,此配置强烈要求不要更改,这个目录是collectors写到hdfs上面的目录,假如这个目录变了,那么会导致后面的一些进程找不到hdfs上/chukwa/logs当中的信息,从而无法生成分析的数据流,当然假如对chukwa熟悉的人也可以改,但是我不建议这么做!)

  <property>

    <name>chukwaCollector.http.port</name>

    <value>9927</value>

    <description>The HTTP port number the collector will listen on</description>

  </property>

注意,这个地方的端口号要和collectors文件当中的保持一致!)

(2)测试collectors,agents,hadoop

先启动hadoop,在动collectors,最后启动agent,命令如下:

$HADOOP_HOME/bin/start-all.sh 

(假如只是报”Error initializing ChukwaClient with list of currently registered adaptors, clearing our local list of adaptors”这个错误可以不管)

$CHUKWA_HOME/bin/start-collectors.sh

$CHUKWA_HOME/bin/start-agents.sh

检查四个地方:

(a)通过jps看是否有相应的节点上是否有相应的进程,其中agent进程对应ChukwaAgent,collector进程对应CollectorStub

(b)查看$CHUKWA_HOME/logs/agent.log及$CHUKWA_HOME/logs/collector.log,看他们是否正常

(c)通过网络web访问查看是否显示正常,结合我之前的配置,检查collector时网址中输入:9927/可以看到显示:”Chukwa servlet running”,若检查agent,在网址中输入:9093

(d)查看hdfs上是否生成了相应的文件$HADOOP_HOME/bin/hadoop dfs -ls /理论上应该hdfs上会有/chukwa/logs目录生成

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/psjxy.html