概述
当前已经进入大数据时代,大数据技术和产品百花齐放,在各自的应用场景发挥重要作用,Redis做为高性能的键值数据库与这些技术有着千丝万缕的联系,本文将介绍如何将Redis与Hadoop、ELK等技术进行结合。
一、Redis与Hadoop
Hadoop作为大数据时代的分布式计算平台,由于其高可用性、可扩展性、高容错、低成本等特性,已经是大数据系统的标配,但是Hadoop中HDFS的存储机制使得它无法面向终端用户(例如利用用户的历史浏览记录为用户推荐新闻、商品等),所以通常是将离线计算的结果导入到面向用户的存储中(例如Redis、HBase等)。
而Hadoop支持自定义OutPutFormat,如果需要自定义的输出,只需要继承OutPutFormat,整个流程如下所示,只需要在Reduce端定义RedisOutPutFormat完成映射即可。
当然也有一种不太多见的情况,就是Redis作为输入源,同样Hadoop提供了自定义的InputFormat。
在Redis的选用上,可以根据结果的规模决定使用Redis主从版还是集群版本。
二、Redis与ELK
ELK是ElasticSearch、Logstash、Kibana三个开源工具的组合,由于其处理方式灵活、配置简单、检索性能高效、前端界面绚丽等特性,在日志处理领域被广泛使用。
它的基本工作流如下:
- LogStashAgent部署在各个目标机器上按照logstash的语法收集对应的数据,并发送的ElasticSearch上。
- ElasticSearch负责存储和索引LogAgent上的数据
- Kibana可直接与ElasticSearch交互,负责日志的可视化分析。
但是如果LogStashAgent个数太多或者索引数量较多,直接插入ElasticSearch中会使得其压力过大,所以在ElasticSearch和LogStash之间通常会设置一个缓冲,通常会选用Redis,而且ELK默认就支持Redis的集成,整个过程只需要修改配置即可完成,整个流程如下所示:
了解更多关于阿里云Redis版,请点击此处:https://www.aliyun.com/product/kvstore
最后
以上就是腼腆时光为你收集整理的Redis大数据应用场景的全部内容,希望文章能够帮你解决Redis大数据应用场景所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复