使用Hadoop和Hive来进行应用的日志数据分析

整个架构流程的背景是:

1、各个应用产生日志打印约定格式的syslog,然后在服务器端部署syslog-ng server做日志的统一收集。

2、在syslog-ng server所在的服务器做日志文件的分类然后发送日志消息给storm做实时流数据统计。

3、同时每日凌晨启动rsync服务将前一天的日志文件发送到Hadoop和hive服务器做非实时数据分析

--------------------------------------分割线 --------------------------------------

Ubuntu 13.04上搭建Hadoop环境

Ubuntu 12.10 +Hadoop 1.2.1版本集群配置

Ubuntu上搭建Hadoop环境(单机模式+伪分布模式)

Ubuntu下Hadoop环境的配置

单机版搭建Hadoop环境图文教程详解

Hadoop LZO 安装教程

Hadoop集群上使用Lzo压缩

--------------------------------------分割线 --------------------------------------

使用hadoop和hive来进行应用的日志数据分析的详细流程:

1、安装hadoop

Hadoop的安装以及配置在我的文章中有详细的描述:

2、安装hive

hive的安装非常简单,只需要下载安装包:

wget

然后解压后,修改一点点配置文件用于连接hadoop的配置即可。

3、在hive中创建表

/**
    * 根据日期来创建hive的邮件日志表
    * @param date
    * @return
    * @throws SQLException
    */
    public String createTable(Calendar cal) throws SQLException
    {
 String tableName = getTableName(cal.getTime());
 StringBuilder sql = new StringBuilder();
        sql.append("create table if not exists ");
        sql.append(tableName);
        sql.append("( ");
        sql.append("syslog_month string,  ");
        if(cal.get(Calendar.DAY_OF_MONTH)<10){
            sql.append("syslog_day_pre string,  ");
        }
        sql.append("syslog_day string, ");
        sql.append("syslog_time string, ");
        sql.append("ip string, ");
        sql.append("source string, ");
        sql.append("message array<string>, ");
        sql.append("information1 string, ");
        sql.append("information2 string, ");
        sql.append("information3 string,  ");
        sql.append("information4 string,  ");
        sql.append("information5 string)  ");
        sql.append("row format delimited fields terminated by ' '  ");
        sql.append("collection items terminated by ','  ");
        sql.append("map keys terminated by  ':' ");
       
        LOG.info("[创建HIVE表的DLL]"+sql.toString());
       
        HiveUtil.createTable(sql.toString());
        return tableName;
    }

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

转载注明出处:https://www.heiqu.com/e249da1083d1d86e141017e2b13944b8.html