同一時刻,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是非面向連線的,沒有乙個客戶端可以老是佔住服務端.只要處理過程不是死迴圈,伺服器對於...