# 這裡的agent名稱定義為agent,其他名稱同理
agent.sources = r1
agent.channels = c1
agent.sinks = k1
# sources
# 定義資源型別為nc,繫結主機為localhost,暴露埠為9999
agent.sources.r1.type=netcat
agent.sources.r1.bind=localhost
agent.sources.r1.port=
9999
# sink
# 這裡的hdfs.path為hdfs檔案路徑,啟動flume之前需要在hdfs檔案系統上新建/usr/centos/flume/sinkdata
# hdfs dfs -mkdir ...
.agent.sinks.k1.type = hdfs
agent.sinks.k1.hdfs.path=
/usr/centos/flume/sinkdata/
%y-%m-
%d/%h/
%m/%
sagent.sinks.k1.hdfs.fileprefix=events-
agent.sinks.k1.hdfs.round =
true
# 每20秒鐘建立一次資料夾(有源頭資料來的情況下才建立,沒有資料過來不會建立)
agent.sinks.k1.hdfs.roundvalue =
20agent.sinks.k1.hdfs.roundunit=second
# 每十秒鐘在當前資料夾下建立乙個檔案(同樣需要有源資料過來)
agent.sinks.k1.hdfs.rollinterval=
10agent.sinks.k1.hdfs.rollsize=
1024
agent.sinks.k1.hdfs.rollcount=
10agent.sinks.k1.hdfs.uselocaltimestamp=
true
# channels
agent.channels.c1.type=memory
# bind_all
agent.sources.r1.channels=c1
agent.sinks.k1.channel=c1
flume-ng agent -f ./conf/nc_memory_hdfs.conf -n agent
該指令在flume的安裝目下執行的,在任何路徑都可以執行,只要對應編輯的配置檔案的路徑就行-f :對應配置檔案的路徑
-n:對應配置檔案中agent的名稱
nc localhost 9999
這裡ip和埠需要對應配置檔案中source的bind和port的值
成功連線後編輯任意測試內容進行回車,然後檢視hdfs檔案系統產生的sink輸出資料,資料為二進位制資料
使用:hdfs dfs -lsr /usr/centos/sinkdata列出產生檔案目錄結構,使用-text指令可以檢視產生的檔案內容
flume筆記(二)之Agent內部原理
首先channelselector的作用是將event 資料傳給哪乙個channel。其中它有兩種選擇策略,分別是 replicating 複製 和 multiplexing 多路復用 replicating 複製 會將同乙個 event 資料發往所有的 channel,每乙個channel都發一遍...
Flume中agent的啟動命令
bin flume ng agent c opt module flume conf n ag1 dflume.root.logger info,console在flume的安裝路徑下,啟動指令碼為bin目錄下的flume ng 引數作用 列表 conf 或 c 指定配置資料夾,包含flume en...
最基本的flume配置
定義agent名,source channel sink的名稱 a4.sources r1 a4.channels c1 a4.sinks k1 具體定義source a4.sources.r1.type spooldir a4.sources.r1.spooldir root training l...