CallLog项目总结

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

1 项目介绍

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


CallLog项目总结_第1张图片
image.png

2 涉及技术

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

3 项目讲解

1 项目模块介绍

CallLog项目总结_第2张图片
image.png

项目分为4个模块:

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

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

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

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

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

CallLog项目总结_第3张图片
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使用

各个机器分布如图

CallLog项目总结_第4张图片
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项目总结)