flume 多路復用

2021-09-10 02:31:12 字數 1529 閱讀 8456

同一時刻,source只能傳輸給乙個channel

source是通過event header來決定傳輸到哪乙個channel

source 本地

channel c1 localfile c2 mem

sink k1 logger k2本地目錄

如果檔名1_txt 傳輸到logger 如果是2_txt 傳輸到本地

a1.sources = s1

a1.channels = c1 c2

a1.sinks = k1 k2

a1.sources.s1.type = spooldir

a1.sources.s1.channels = c1 c2

a1.sources.s1.spooldir = /home/wangfutai/a/flume/logs

a1.sources.s1.basenameheader = true

a1.sources.s1.basenameheaderkey = myselect

#新增選擇器 多路復用

a1.sources.s1.selector.type= multiplexing

# basename=2_txt

a1.sources.s1.selector.header = myselect

a1.sources.s1.selector.default= c1 c2

#配置c1 記憶體

a1.channels.c1.type = memory

a1.channels.c1.capacity = 10000

a1.channels.c1.transactioncapacity = 10000

a1.channels.c1.bytecapacitybufferpercentage = 20

a1.channels.c1.bytecapacity = 800000

#配置c2 本地磁碟

a1.channels.c2.type = file

a1.channels.c2.checkpointdir = /home/wangfutai/a/flume/checkpoint

a1.channels.c2.datadirs = /home/wangfutai/a/flume/data

a1.sinks.k1.type = file_roll

a1.sinks.k1.channel = c1

a1.sinks.k1.sink.directory = /home/wangfutai/a/flume/netlogs

#本地回滾時間,每隔60s自動生成乙個新的文字.

a1.sinks.k1.sink.rollinterval = 60

a1.sinks.k1.sink.pathmanager.prefix = network

#配置 sinks

a1.sinks.k2.type = logger

#注意:乙個sinks只能設定乙個channel

a1.sinks.k2.channel = c2

Linux IO多路復用

一.select 函式 include include include int select int n,fd set readfds,fd set writefds,fd set exceptfds,struct timeval timeout fd clr int fd,fd set set f...

I O多路復用

一 五種i o模型 1 阻塞i o模型 最流行的i o模型是阻塞i o模型,預設情形下,所有套介面都是阻塞的。我們以資料報套介面為例來講解此模型 我們使用udp而不是tcp作為例子的原因在於就udp而言,資料準備好讀取的概念比較簡單 要麼整個資料報已經收到,要麼還沒有。然而對於tcp來說,諸如套介面...

Linux C Socket多路復用

1.迴圈伺服器 udp伺服器 udp迴圈伺服器的實現非常簡單 udp伺服器每次從套接字上讀取乙個客戶端的請求,處理,然後將結果返回給客戶機.可以用下面的演算法來實現.socket bind while 1 因為udp是非面向連線的,沒有乙個客戶端可以老是佔住服務端.只要處理過程不是死迴圈,伺服器對於...