flume 多數據源

一:多一個數據源web

首先在dome/flume下新建一個叫app2的目錄,編程

而後再app2目錄下新建一個叫app2.cf內容以下:app

app1.cf負載均衡

agent1.sources=src1 src2dom

agent1.sinks=sin1tcp

agent1.channels=chn1測試

#src1spa

agent1.sources.src1.type=netcatorm

agent1.sources.src1.bind=192.168.208.128ip

agent1.sources.src1.port=6666

agent1.sources.src1.channels=chn1

 

#src2

agent1.sources.src2.type=syslogtcp

agent1.sources.src2.host=192.168.208.128

agent1.sources.src2.port=5140

agent1.sources.src2.channels=chn1

 

#channel

agent1.channels.chn1.type=memory

#

agent1.sinks.sin1.type=logger

agent1.sinks.sin1.channel=chn1

後面的一個東西是咱們把修改了,改爲最簡單的了

r.sh

flume-ng agent --conf-file app1.cf --name agent3 -Dflume.root.logger=INFO,console

咱們把服務啓動起來

而後測試netcat

鍵入:telnet   0   6666

接着鍵入

telnet 192.168.208.128 6666

而後測試syslogtcp

鍵入:

logger neirong

便可

二:一個數據源對應多個channel,多個sink

1:怎麼讓一個數據源對應多個channel

A:數據源就一個,複製這個數據源給其它的channel

a1.sources = r1

a1.channels = c1 c2 c3

a1.source.r1.selector.type = replicating(這個是默認的)

a1.source.r1.channels = c1 c2 c3

a1.source.r1.selector.optional = c3

 

B:根據header把不一樣的分佈到不一樣的channel上(針對channel的)

a1.sources = r1

a1.channels = c1 c2 c3 c4

a1.sources.r1.selector.type = multiplexing

a1.sources.r1.selector.header = state頭部這個字段

a1.sources.r1.selector.mapping.CZ = c1頭部state對應的值含有CZ

a1.sources.r1.selector.mapping.US = c2 c3

a1.sources.r1.selector.default = c4其他的

 

 

C:須要本身編程定製。

三個:多個數據源,多個channel,多個sink,咱們能夠靈活的配置。

咱們還有sinkgroup,這個是用來負載均衡用的,可是沒怎麼經常使用。

a1.sinkgroups = g1

a1.sinkgroups.g1.sinks = k1 k2

a1.sinkgroups.g1.processor.type = load_balance

任意的到一個sink上。

下面這個是具備優先級的:

a1.sinkgroups = g1

a1.sinkgroups.g1.sinks = k1 k2

a1.sinkgroups.g1.processor.type = failover

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

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

a1.sinkgroups.g1.processor.maxpenalty = 10000

先到優先級高的,而後等優先級高的出問題後,纔到優先級低的。

相關文章
相關標籤/搜索