Ubuntu16.04+Flume1.8.0
?
1.下載apache-flume-1.8.0-bin.tar.gz
http://flume.apache.org/download.html
?
2.解壓到/usr/local/flume中
?
3.設置配置文件/etc/profile文件,增加flume的路徑
①vi /etc/profile
export FLUME_HOME=/usr/local/flume
export PATH=$PATH:$FLUME_HOME/bin
②讓配置文件立即生效
source /etc/profile
?
4.檢查flume環境是否生效
flume-ng version
?
5.在/usr/local/flume/conf中增加一個example.conf文件
# example.conf: A single-node Flume configuration# Name the components on this agent
a1.sources = r1
a1.sinks = k1
a1.channels = c1# Describe/configure the source
a1.sources.r1.type = netcat
a1.sources.r1.bind = localhost
a1.sources.r1.port = 44444# Describe the sink
a1.sinks.k1.type = logger# 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
?
6.啟動flume
flume-ng agent --conf /usr/local/flume/conf --conf-file /usr/local/flume/conf/example.conf --name a1 -Dflume.root.logger=INFO,console
?
7.使用telnet連接到flume并發送數據
$ telnet localhost 44444
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
Hello world! <ENTER>
OK
?
8.在flume的進程中可以看到如下信息
[INFO - org.apache.flume.sink.LoggerSink.process(LoggerSink.java:95)] Event: { headers:{} body: 48 65 6C 6C 6F 20 57 6F 72 6C 64 21 0D Hello World!. }
?
?PS:當你發送的數據超過16字節時,也只能最多顯示16字節,其實數據是能完全接收完全的!
如果發送數據真的超過最大長度,會出現Client sent event exceeding the maximum length錯誤。
可參考《flume-ng 測試過程中event丟失部分body數據》
?
以上。
?