上一篇《Flume之Failover和Load balancing原理及实例》的实例的架构如下:
10.0.1.76作为Client,通过exec获取nginx的日志信息,然后将数据传到10.0.1.68(配置了Failover和Load balancing)的节点,最后10.0.1.68将数据发送的10.0.1.70,77,85,86,87节点,这些节点最终将数据写到本地硬盘。
那么问题来了,如果10.0.1.68的Flume异常退出或者服务器down机的话,10.0.1.76(Client)无法将数据发送出去。无论Channel采用的MemoryChannel还是FileChannel都会导致数据积压甚至数据丢失,即使10.0.1.68恢复正常,也有可能因为Client积压的数据太多给10.0.1.68节点造成压力,那么有没有更好的方式解决这个问题呢?
下面我们采用Flume + Keepalived的方式解决单点故障,架构改成:
10.0.1.76(Client)通过虚拟IP(10.0.1.71)访问Keepalived绑定的主备节点10.0.1.68和10.0.1.69。这样的话,某个节点挂了keepalived会自动切换,保证程序的正确运行,而不会出现数据积压的情况。
10.0.1.76(Client)的配置修改成:
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100
a1.sources.r1.channels = c1
a1.sources.r1.type = exec
a1.sources.r1.command = tail -n 0 -F /home/nginx/logs/access.log
a1.sinks.k1.type = avro
a1.sinks.k1.channel = c1
a1.sinks.k1.hostname = 10.0.1.71
a1.sinks.k1.port = 41415
a1.channels = c1
a1.sources = r1
a1.sinks = k1
其他的配置不需要更改,10.0.1.68和10.0.1.69的配置保持一致即可。
最后只需要配置keepalived,实现10.0.1.68和10.0.1.69节点的高可用,从而避免单点故障。Keepalived具体的配置参照:《keepalived安装部署及Flume+keepalived高可用》
基于Flume的高可用架构可以有很多种方式,大家可以根据自己业务的特点做一些变化,以满足公司业务的需求。
分享到:
相关推荐
在“Flume++构建高可用、可扩展的海量日志采集系统”这个主题中,我们将深入探讨Flume如何帮助处理和分析海量数据,以及如何通过扩展和优化实现高可用性。 1. **Flume 基础概念**:Flume由Source、Channel和Sink三...
基于Flume+spark+Flask的分布式实时日志分析与入侵检测系统.zip 1、该资源内项目代码经过严格调试,下载即用确保可以运行! 2、该资源适合计算机相关专业(如计科、人工智能、大数据、数学、电子信息等)正在做课程...
Flume+Kafka+StructuredStreaming+Mysql分布式采集与微批处理
其中上篇介绍了HDFS以及流式数据/日志的问题,同时还谈到了Flume是如何解决这些问题的。本书展示了Flume的架构,包括将数据移动到数据库中以及从数据库中获取数据、NoSQL数据存储和性能调优。对于各个架构组件(源、...
妳那伊抹微笑_Flume+Kafka+Storm分布式环境整合Eclipse工程_20140714.rar 该文档与教程http://blog.csdn.net/u012185296/article/details/37762793配套使用的,主要讲的是Flume+Kafka+Storm的环境整合,并且全部都是...
### Flume+kafka+Storm整合知识点详解 #### 一、Flume、Kafka与Storm...通过以上步骤,我们可以构建出一个完整的Flume+kafka+Storm数据流处理系统。这套系统能够高效地处理实时数据流,为业务决策提供强有力的支持。
在2015年的版本中,Flume已经发展成为一个强大且灵活的工具,能够构建出高可用性和可扩展性的日志采集架构。本文将深入探讨Flume的关键特性、工作原理以及如何利用它来构建一个可靠的数据流水线。 Flume的核心概念...
本科毕业设计项目,基于spark streaming+flume+kafka+hbase的实时日志处理分析系统 基于spark streaming+flume+kafka+hbase的实时日志处理分析系统 本科毕业设计项目,基于spark streaming+flume+kafka+hbase的...
这里提到的"基于Flume+kafka+spark大型电商网站日志分析系统(离线+实时)"就是一个这样的解决方案,结合了三个关键组件:Apache Flume、Apache Kafka和Apache Spark。下面将详细介绍这三个技术及其在系统中的作用。...
flume+Logstash+Kafka+Spark Streaming进行实时日志处理分析【大数据】
接着,Kafka 是一个高吞吐量的分布式消息队列系统,它在 Flume 收集到数据后,作为一个中间层存储平台,能够缓存大量数据并确保数据的可靠传输。Kafka 的主题和分区机制保证了数据的有序性和容错性,使得即使在高...
《LNMP环境构建与Flume+Kafka+Storm+HDFS实时系统集成详解》 在当前的互联网时代,数据量的急剧增长使得大数据处理成为一项关键任务。本篇将深入探讨如何在Linux环境下搭建LNMP(Linux + Nginx + MySQL + PHP)...
在提供的"Flume+Kafka环境构建和实战"压缩包中,可能包含了详细步骤的文档、示例配置文件以及可能的样例代码,这些资源可以帮助你更好地理解和实施上述过程。确保按照文档指导操作,以确保所有组件正确配置和交互。...
基于Flume+Kafka+Hbase+Flink+FineBI的实时综合案例.txt基于Flume+Kafka+Hbase+Flink+FineBI的实时综合案例.txt基于Flume+Kafka+Hbase+Flink+FineBI的实时综合案例.txt基于Flume+Kafka+Hbase+Flink+FineBI的实时综合...
在构建实时日志采集系统时,常常会使用到Apache Flume、Apache Kafka、Apache Spark Streaming以及Redis等组件。以下是对这些技术的详细说明: **Apache Flume** 是一个分布式、可靠且可用于有效收集、聚合和移动...
基于Flume&spark&Flask的分布式实时日志分析与入侵检测系统源码+文档说明基于Flume&spark&Flask的分布式实时日志分析与入侵检测系统源码+文档说明基于Flume&spark&Flask的分布式实时日志分析与入侵检测系统源码+文档...
在大数据领域,构建一个完整的生态系统是至关重要的,其中包括多个组件,如Hadoop、Spark、Hive、HBase、Oozie、Kafka、Flume、Flink、Elasticsearch和Redash。这些组件协同工作,提供了数据存储、处理、调度、流...