1. 程式人生 > >Flume的可靠性保證:故障轉移、負載均衡

Flume的可靠性保證:故障轉移、負載均衡

Flume的一些元件(如Spooling Directory Source、File Channel)能夠保證agent掛掉後不丟失資料。

1、負載均衡

1)Load balancing Sink Processor

source裡的event流經channel,進入sink組,在sink組內部根據負載演算法(round_robin、random)選擇sink,後續可以選擇不同機器上的agent實現負載均衡。

這裡寫圖片描述

配置如下:


# Name the components on this agent
a1.sources = r1
a1.sinks = k1 k2
a1.channels
= c1 # Describe/configure the source a1.sources.r1.type = exec a1.sources.r1.channels=c1 a1.sources.r1.command=tail -F /home/flume/xx.log #define sinkgroups a1.sinkgroups=g1 a1.sinkgroups.g1.sinks=k1 k2 a1.sinkgroups.g1.processor.type=load_balance a1.sinkgroups.g1.processor.backoff=true a1.sinkgroups
.g1.processor.selector=round_robin #define the sink 1 a1.sinks.k1.type=avro a1.sinks.k1.hostname=192.168.1.112 a1.sinks.k1.port=9876 #define the sink 2 a1.sinks.k2.type=avro a1.sinks.k2.hostname=192.168.1.113 a1.sinks.k2.port=9876 # Use a channel which buffers events in memory a1.channels.c1.type
= memory a1.channels.c1.capacity = 1000 a1.channels.c1.transactionCapacity = 100 # Bind the source and sink to the channel a1.sources.r1.channels = c1 a1.sinks.k1.channel = c1 a1.sinks.k2.channel=c1

2)Load balancing Log4J Appender
不同的agent處理同一個client產生的資料。


log4j.rootLogger=INFO,flume
log4j.appender.flume = org.apache.flume.clients.log4jappender.LoadBalancingLog4jAppender
log4j.appender.flume.Hosts = 192.168.1.111:41414 192.168.1.111:41414

2、故障轉移

Failover Sink Processor

配置一組sink,這組sink組成一個Failover Sink Processor,當有一個sink處理失敗,Flume將這個sink放到一個地方,等待冷卻時間,可以正常處理event時再拿回來。

event通過通過一個channel流向一個sink組,在sink組內部根據優先順序選擇具體的sink,一個失敗後再轉向另一個sink,流程圖如下:
這裡寫圖片描述


# Name the components on this agent
a1.sources = r1
a1.sinks = k1 k2
a1.channels = c1

# Describe/configure the source
a1.sources.r1.type = exec
a1.sources.r1.channels=c1
a1.sources.r1.command=tail -F /home/flume/xx.log

#define sinkgroups
a1.sinkgroups=g1
a1.sinkgroups.g1.sinks=k1 k2
a1.sinkgroups.g1.processor.type=failover
a1.sinkgroups.g1.processor.priority.k1=10
a1.sinkgroups.g1.processor.priority.k2=5
a1.sinkgroups.g1.processor.maxpenalty=10000

#define the sink 1
a1.sinks.k1.type=avro
a1.sinks.k1.hostname=192.168.1.112
a1.sinks.k1.port=9876

#define the sink 2
a1.sinks.k2.type=avro
a1.sinks.k2.hostname=192.168.1.113
a1.sinks.k2.port=9876


# Use a channel which buffers events in memory
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100

# Bind the source and sink to the channel
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1
a1.sinks.k2.channel=c1

備註:

在Sink中的兩個資料為優先順序設定預設為5,數字越大越優先

a1.sinkgroups.g1.processor.priority.k1=10
a1.sinkgroups.g1.processor.priority.k2=5

相關推薦

Flume可靠性保證故障轉移負載均衡

Flume的一些元件(如Spooling Directory Source、File Channel)能夠保證agent掛掉後不丟失資料。 1、負載均衡 1)Load balancing Sink Processor source裡的event流經

循序漸進nginx(二)反向代理負載均衡快取服務靜態資源訪問

[TOC] ----- 前置知識章節: 1.[介紹、安裝、hello world、location匹配](https://www.cnblogs.com/progor/p/13338483.html) ✅ 2.▶▶反向代理、負載均衡、快取服務、靜態資源訪問✅ 3.日誌管理、http限流、https配置,h

flume高階配置——資料流的複製分流負載均衡故障轉移

一、在前面幾篇文章中介紹過幾種常見的flume pipeline 場景。我們在回顧一下,主要有一下幾種: 1、多個 agent 順序連線: 可以將多個Agent順序連線起來,將最初的資料來源經過收集,儲存到最終的儲存系統中。這是最簡單的情況,一般情況下,應該控制這種順

MySQL 高可用mysql+Lvs+Keepalived 負載均衡故障轉移

ica 目錄 details software fwm 多個 優先級 sql 服務器 規則 轉自 MySQL 高可用:mysql+Lvs+Keepalived 負載均衡及故障轉移 - KK ——專註數據 - 博客頻道 - CSDN.NETh

Redis原始碼解析28叢集(四)手動故障轉移從節點遷移

一:手動故障轉移          Redis叢集支援手動故障轉移。也就是向從節點發送”CLUSTER  FAILOVER”命令,使其在主節點未下線的情況下,發起故障轉移流程,升級為新的主節點,而原來的主節點降級為從節點。          為了不丟失資料,向從節點發送”C

VCSA 6.5 HA 配置之五故障轉移測試

center style justify 接著上篇文章配置完成VCSA的高可用後,其是否真的能實現高可用的效果,本篇文章將會一探究竟手動故障切換在vCenter HA配置頁面可以看到當前的主動節點、被動節點和見證節點;在例行維護或者其他時候可以手動執行故障切換通過右上方的"啟動故障切換" ,在一般

項目實戰02nginx 反向代理負載均衡動靜分離和緩存的實現

pro 9.png 二次 數據 服務器 默認 html 數據庫 空間 目錄 實驗一:實現反向代理負載均衡且動靜分離 1、環境準備: 2、下載編譯安裝tengine 3、設置代理服務器的配置文件 4、啟動tengine服務 5、開啟後端的web服務

輕松理解正向代理反向代理負載均衡

其它 目的 人員 取數 理發 負載均衡 client 代理服 能力 1. 什麽是正向代理? 正向代理發生在 client 端,用戶能感知到的,並且是用戶主動發起的代理。 比如:×××。 我們不能訪問外網,但是可以訪問代理服務器,然後代理服務器幫我們從外網中獲取數據。但

SQL Server Alwayson搭建四故障轉移集群配置

數據庫 SQL Server 確定仲裁模式配置故障轉移集群的時候,如果集群節點是奇數,那麽使用多數節點;如果集群節點是偶數,那麽使用多數節點和文件共享 (配置一個共享文件夾,各個節點都能訪問這個共享文件夾)因為是偶數節點(sql01和sql02),因此選擇多數節點和文件共享模式2.安裝故障轉移集群,s

LinuxRHCS高可用負載均衡叢集(riccilucifence)

一·RHCS 1.RHCS是什麼 RHCS是Red Hat Cluster Suite的縮寫,也就是紅帽子叢集套件,RHCS是一個能夠提供高可用性、高可靠性、負載均衡、儲存共享且經濟廉價的叢集工具集合,它將集群系統中三大叢集架構融合一體,可以給web應

Nginx 反向代理負載均衡與動靜分離

nginx1、環境:前端Nginx服務器:主機名:server1 IP:172.25.80.1 編譯安裝nginx1..12 後端tomcat: Server2--ip:172.25.80.2 主機名:server2 Server3--ip:172.25.80.3 主機名:server32、Ng

15套java互聯網架構師高並發集群負載均衡高可用數據庫設計緩存性能優化大型分布式 項目實戰視頻教程

二階 並發 支持 線程並發 important http 系統架構 四十 mongodb入門 * { font-family: "Microsoft YaHei" !important } h1 { color: #FF0 } 15套java架構師、集群、高可用、高可擴

大型分布式項目項目實戰Springmvc+Spring+Mybatis+Maven+CMS+Redis+Solr+Linux+Nginx+單點登錄分布式緩存負載均衡視頻課程

edi mina img solr 技術 性能提升 登錄 rom nginx * { font-family: "Microsoft YaHei" !important } h1 { color: #FF0 } 15套java架構師、集群、高可用、高可擴 展、高性能、高

Nginx 反向代理負載均衡

log 內存 error 通過 簡介 set ams worker 並發 ## Nginx 反向代理。 (一)簡介   一、什麽是代理服務器     客戶機原本發送給服務器的請求,不會直接發送給服務器,而是先發送給代理服務器;經過代理服務器處理後轉發給服務器;服務器數據處理

客戶端負載均衡Ribbon之一Spring Cloud Netflix負載均衡組件Ribbon介紹

erl status spring 使用 -c ive res 性能 bili Netflix:[‘netfli?ks] ribbon:英[?r?b?n]美[?r?b?n]n. 帶; 綬帶; (打印機的) 色帶; 帶狀物;v. 把…撕成條帶; 用緞帶

如何通俗理解——>集群負載均衡分布式

windows 高峰 介紹 一點 一個人 bsp 科學 集群 ear 轉自:周洲 (Julie)   在“高並發,海量數據,分布式,NoSql,雲計算......”概念滿天飛的年代,相信不少朋友都聽說過甚至常與人提起“集群,負載均衡”等,但不是所有人都有機會真正接觸到這些技

「mysql優化專題」高可用性負載均衡的mysql集群解決方案(12)

格式 return 建議 處理方式 sage 主機 等待 status 深度 一、為什麽需要mysql集群? 一個龐大的分布式系統的性能瓶頸中,最脆弱的就是連接。連接有兩個,一個是客戶端與後端的連接,另一個是後端與數據庫的連接。簡單如圖下兩個藍色框框(其實,這張圖是我在悟空

apache分別基於三種方案實現tomcat的代理負載均衡及會話綁定

tomcat apacheapache分別基於mod_proxy_ajp, mod_proxy_http, mod_jk三種方案實現代理、負載均衡、會話綁定及Tomcat session cluster1、nginx, haproxy, apache(mod_proxy_ajp, mod_proxy_http

nginx反向代理tomacat+keepalived實現動靜分離負載均衡高可用

時間 超時 error css 權限命令 上傳 轉發 onf ioc 本文的動靜分離主要是通過nginx+tomcat來實現,其中nginx處理圖片、html、JS、CSS等靜態文件,tomcat處理jsp、servlet等動態請求 服務器名稱

新功能阿裏雲負載均衡SLB支持HTTP/HTTPS超時時間自定義功能

算法 雲計算 摘要: 大家好,很高興的告訴大家,阿裏雲負載均衡SLB已經在新加坡、澳大利亞(悉尼)、馬來西亞(吉隆坡)、日本(東京)、美國(矽谷)、美國(弗吉尼亞)、德國(法蘭克福)、阿聯酋(迪拜)、印度(孟買)上述地域支持HTTP/HTTPS超時時間自定義功能(增加黑名單),國內地域也即將上線。1.