代码链接在GitHubhttps://github.com/linkedin/white-elephant。要快速入门,您可以在GitHub上查看WhiteElephant项目的代码,或下载最新的快照版本。您可以使用一些测试数据试用此服务:cdserverant./startup.sh并访问http://localhost:3000。加载测试数据可能需要几分钟时间。服务器服务器是一个JRubyweb应用,可以部署到生产环境的tomcat中,然后可以直接从Hadoop中读取采集到的数据。数据存储在HyperSQL提供的内存数据库中,图表由Rickshaw提供。在开始使用该服务之前,首先需要搭建环境:cdserverant默认会做如下操作:安装JRuby到本地目录下的.rbenv安装RubyRubygems到上面的目录下载JAR包在data下创建测试数据/usage此时你可以通过以下命令启动服务:./startup.sh你可以访问http://localhost:3000,加载测试数据可能需要几分钟。这里我们使用trinidad在开发环境中运行JRubyweb应用程序。由于这是在开发模式下,应用程序假定本地数据(在config.yml中指定的路径)可用。配置服务器的配置在config.yml中指定,您可以在sample_config.yml中查看示例。通过./startup.sh在开发模式下运行时,会使用sample_config.yml,与本地目录下的配置一起生效。这里唯一可配置的参数是file_pattern,它指定从本地加载数据的目录。当打包成WAR并以生产方式运行时,使用hadoop下指定的配置,假设收集的数据可用,必须指定以下配置:file_pattern:从Hadoop加载和使用文件的全局文件模式。libs:包含HadoopJAR文件的目录(添加到类路径)。conf_dir:包含Hadoop配置的目录(添加到类路径)。principal:用于访问安全Hadoop的用户名。keytab:用于访问安全Hadoop的keytab文件的路径。WhiteElephant不基于特定版本的Hadoop,因此JAR未打包在WAR中。因此,必须在配置中指定HadoopJAR的路径。部署编译一个可以部署到tomcat的WAR文件:antwar-Dconfig.path=你指定的配置文件config.yml会一起打包到WAR文件中。Hadoop日志上传hadoop/scripts/statsupload.pl脚本可以将Hadoop日志文件上传到HDFS,处理主要的。Hadoop作业有两个Hadoop作业,均由作业执行器管理并跟踪所需的工作。第一个工作是Hadoop日志解析器,它从存储在Hadoop中的文件中读取日志,解析出相应的信息,并以Avro格式写出。第二个作业读取Avro格式的日志数据并按小时聚合。数据以Avro格式写出。它本质上创建了一个完整的数据立方体,可以很容易地加载到数据库中并由wen应用程序查询。配置示例配置存储在hadoop/config/jobs:base.properties:包含大部分配置。white-elephant-full-usage.job:处理所有日志时要使用的作业文件。white-elephant-incremental-usage.job:处理增量日志时需要的作业文件。base.properties文件包括WhiteElephant指定的配置以及Hadoop配置。所有Hadoop配置参数都以hadoop-conf开头。两个job的配置项是一样的,当然他们的值需要根据job来配置。Hadoop日志在base.properties中有一个参数log.root。这是解析器查找Hadoop日志的根目录。解析作业假定日志存储在Hadoop的daily目录中。目录格式如下://daily//例如2013年1月23日的目录格式为:/data/hadoop/logs/prod/daily/2013/0123package创建一个包含所有文件的zip包可以通过以下命令生成:antzip-Djob.config.dir=job.config。目录应包含.properties和.job文件。如果您使用Azkaban作为您的作业调度程序,zip文件将在base.propreties中指定的配置时间运行。运行解压后的zip文件后,可以运行run.sh脚本,需要配置两个环境变量:HADOOP_CONF_DIR:Hadoop配置目录HADOOP_LIB_DIR:HadoopJARs目录运行完整作业:./run.shwhite-elephant-full-usage.job运行增量作业:./run.shwhite-elephant-incremental-usage.job增量作业只处理增量数据,而完整作业处理所有数据。原文链接:http://www.cnblogs.com/shenh062326/p/3544868.html