实时分析 流式计算(mysql到hdfs到redis到hbase)

    此文章是关于另外三篇文章的一个整合

1:log4j结合flume完成日志收集并保存到hdfs上
2:将hdfs上的多个文件内容定量缓存到redis
3:storm处理来自redis当中的数据,将处理完的结果保存到hbase当中

首先利用第一篇文章当中的log4j和flume将从mysql当中查询出来的结果收集并保存到hdfs上,我是将每1000条数据保存为一个文件存到hdfs上的/flume/目录下,然后利用MapReduce读取hdfs上的文件缓存到redis上,由于MapReduce执行完毕后就会自动停止,我想达到的效果是不断有数据缓存到redis上,然后通过storm分析,显然这存在一个问题,就是redis上的数据用storm处理过后不能保证不断有数据缓存到redis上,所以我想到的一种方式是利用定时任务(shell脚本)执行MapReduce将hdfs上的数据间歇的存到redis上,这样就基本可以达到实时的,流式计算的目的,保证了redis上一直会有数据,然后通过storm进行数据的处理和分析,先将处理好的数据保存到map集合当中,每隔6秒将map集合当中的内容存入到hbase,这样可以减少访问hbase的次数,可以有效的缓解压力

你可能感兴趣的:(大数据)