Hadoop之Flume 記錄

 

出現這個錯誤是自己的粗心大意,解決:

在配置flume-conf.properties文件時,source和channel的對應關係是:

myAgentName.sources.mySourceName.channels = myChannelName

myAgentName.sinks.mySinkName.channel = myChannelName

注意其中的後綴,帶s和不帶s後綴。

這也恰好說明

source可以“流向”多個channel,而sink只能接收一個channel的“流入”。

從channel的角度看:channel既可以接收多個source的“流入”,又可以“流向”多個sink

 

例如多對多關係:

對應的配置如下:

 1 # example.conf: A single-node Flume configuration
 2 
 3 # Name the components on this agent
 4 agent1.sources=sour1 s2 s3
 5 agent1.sinks=sink1 sink12 sink21 sink3
 6 agent1.channels=chan1 chan2 chan3
 7 
 8 # Describe/configure the source
 9 agent1.sources.sour1.type=netcat
10 agent1.sources.sour1.bind=localhost
11 agent1.sources.sour1.port=44444
12 
13 agent1.sources.s2.type=netcat
14 agent1.sources.s2.bind=localhost
15 agent1.sources.s2.port=44445
16 
17 agent1.sources.s3.type=netcat
18 agent1.sources.s3.bind=localhost
19 agent1.sources.s3.port=44446
20 
21 # Describe the sink
22 agent1.sinks.sink1.type=logger
23 agent1.sinks.sink12.type=logger
24 agent1.sinks.sink21.type=logger
25 agent1.sinks.sink3.type=logger
26 
27 # Use a channel which buffers events in memory
28 agent1.channels.chan1.type=memory
29 agent1.channels.chan1.capacity=1000
30 #agent1.channels.chan1.transactionCapacity=100
31 
32 agent1.channels.chan2.type=memory
33 agent1.channels.chan2.capacity=1000
34 
35 agent1.channels.chan3.type=memory
36 agent1.channels.chan3.capacity=1000
37 
38 
39 # Bind the source and sink to the channel
40 agent1.sources.sour1.channels=chan1 chan2
41 agent1.sources.s2.channels=chan2
42 agent1.sources.s3.channels=chan2 chan3
43 
44 agent1.sinks.sink1.channel=chan1
45 agent1.sinks.sink12.channel=chan1
46 agent1.sinks.sink21.channel=chan2
47 agent1.sinks.sink3.channel=chan3

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章