美文网首页
CallLog项目总结

CallLog项目总结

作者: 艾剪疏 | 来源:发表于2018-12-04 14:45 被阅读58次

    1 项目介绍
    2 涉及技术
    3 项目讲解
    4 收获
    5 与前一个项目的对比

    1 项目介绍

    电信级海量通话日志数据的存储,为用户提供:1 实时查询通话记录;2 离线查询近N年通话记录;


    image.png

    2 涉及技术

    • hadoop体系架构与ha配置方案。
    • hbase体系架构与ha配置方案
    • flume实时收集架构方案。
    • SSM实现前端web实现以及与后端HBase的交互架构方案。
    • hive+oozie实现的周期任务调度。

    3 项目讲解

    1 项目模块介绍

    image.png

    项目分为4个模块:

    1. CallLogGenMoudle:产生数据,并将其写入到log文件中

    2. CallLogCoproessorModule:Hbase协作器,触发处理业务数据

    3. CallLogConsumerMoidle:消费Kafka数据,并将其存储到Hbase中,用于实时显示

    4. ssm:前台web端,用户发送请求,展示结果。

    2 项目流程图(不多说,敲黑板!!!)

    image.png

    3 项目重要配置

    (1)Flume配置文件

      1 a1.sources = r1
      2 a1.sinks = k1
      3 a1.channels = c1
      4 
      5 a1.sources.r1.type=exec
      6 a1.sources.r1.command=tail -F -c +0 /home/spark/log/calllog/calllog.log
      7 
      8 a1.channels.c1.type=memory
      9 
     10 a1.sinks.k1.type = org.apache.flume.sink.kafka.KafkaSink
     11 a1.sinks.k1.kafka.topic = calllog
     12 a1.sinks.k1.kafka.bootstrap.servers = s2:9092 s3:9092 s4:9092
     13 a1.sinks.k1.kafka.flumeBatchSize = 20
     14 a1.sinks.k1.kafka.producer.acks = 1
     15 
     16 a1.sources.r1.channels = c1
     17 a1.sinks.k1.channel = c1
    

    (2)Hbase数据库至Hive数据库之间的转化

    //key是hbase的rowkey, 各个字段是hbase中的quailiter
    CREATE external TABLE hbase_table_1(key String, name string)  -- 创建hive的表 
    STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'  -- 使用的类
    WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,info:name") -- 字段映射关系
    TBLPROPERTIES ("hbase.table.name" = "userinfo"); --映射的表
    

    数据转移-从HBase到Hive

    4 收获

    (1)大数据环境搭建(4台主机)

    1. Hadoop分布式搭建
    2. Spark分布式搭建
    3. Flume使用
    4. Kafka使用
    5. Zookeeper使用
    6. Hbase搭建
    7. Hive使用

    各个机器分布如图

    image.png

    (2)学会基本的消息处理(基本流程)

    1. 实时生成消息;
    2. Flume收集消息,并sink到Kafka集群中;
    3. 代码读取Kafka集群中消息,并存入到Hbase中;
    4. 将Hbase中数据转化为Hive;
    5. 前台SSM程序读取Hbase和Hive中数据,并展示在Web端。

    5 与前一个项目的对比

    这个项目和Spark实时离线电影推荐系统相比,特点如下:

    1. 本项目,重点在于环境搭建。实现多台主机的环境配置,完成从前台Web端到后台处理系统整个的处理流程,清晰的再现了大数据各个生态组件如何相互协同合作,为前台提供服务。
    2. 前一个项目,重点在于推荐算法的实现,推荐模型的训练,推荐结果的产生。就是编写代码,用Spark处理数据。

    学完这两个项目,觉得环境配置相对容易,而用Spark的Scala去实际处理数据,去解决其中的问题较难,这也是是我下个阶段的研究重点。


    end

    相关文章

      网友评论

          本文标题:CallLog项目总结

          本文链接:https://www.haomeiwen.com/subject/uwvwfqtx.html