環境4c 4g虛擬機器,上面部署應用業務,flume採集應用日誌,幾乎機器可用記憶體就幾十m,還有4gswap交換記憶體,硬體環境就這樣,提好幾次新增記憶體,資源有限一直沒加。
之前業務日誌小flume也可以正常採集日誌,但是最近公司flume經常假死,明明程序在資料就是採集不到,之前沒在意。都是重啟後看有日誌,就不管了,第二天一看只採集乙個小時就不採集了,苦不堪言,每天都在補資料的路上。配置如下:
#agent
provider.channels = c1
provider.sources = s1
provider.sinks = k1
#provider spooling directory source
#注(1)
provider.sources.s1.type = exec
provider.sources.s1.shell = /bin/bash -c
provider.sources.s1.command = tail -f /home/logs/test.log
provider.sources.s1.channels = c1
provider.sources.s1.threads = 10
#provider filechannel
#注(2)
provider.channels.c1.type = file
provider.channels.c1.checkpointdir = /data/logs/test1
provider.channels.c1.datadirs = /data/logs/test
provider.channels.c1.capacity = 10000000 機器記憶體太小這個不要設定這麼大 10000即可
provider.channels.c1.transactioncapacity = 1000 設定成2000
provider.channels.c1.keep-alive = 30
provider.channels.c1.write-timeout = 30
provider.channels.c1.checkpoint-timeout=600
provider.sinks.k1.hdfs.threadspoolsize = 10
provider.sinks.k1.hdfs.minblockreplicas = 1
provider.sinks.k1.hdfs.uselocaltimestamp = true
provider.sinks.k1.hdfs.filetype = datastream
#provider.sinks.k1.hdfs.filetype = compressedstream
#provider.sinks.k1.hdfs.codec = gzip
provider.sinks.k1.hdfs.writeformat = text
provider.sinks.k1.hdfs.serializer = text
provider.sinks.k1.hdfs.calltimeout = 120000
provider.sinks.k1.hdfs.hdfs.idletimeout=3601此值要大於等於rollinterval
配置反覆核查也沒有發覺不妥,為什麼起來兩個程序,其中乙個正常採集,另乙個就採集不正常,經過這兩天的跟蹤發現是業務日誌每天變大,當flume在日誌超過2g以後重啟flume就不能好好的工作了,好吧,反覆查,這幾天因為加班,0點之後起來發現該flume可以正常採集,為了驗證,我在中午殺掉程序,之後再啟動,又出現採集一會就不採集資料的情況,第二天日誌切割完日誌變小,我在重啟flume發現能很好的執行,定位問題是機器記憶體太小重啟是tail 是從頭開始,導致資料載入記憶體後,把記憶體撐滿,因此flume處於假死狀態,不能好好工作
二是transactioncapacity ,batchsize,capacity設定合理的值。
Flume採集檔案到HDFS
在flume和hadoop安裝好的情況下 1.遇到的坑 在安裝hadoop時,配置 core site.xml 檔案一定要注意。fs.defaultfs name hdfs master 9000 value property 上述的value值使用的是主機名稱 master 或者ip位址,不能使用...
Flume採集目錄及檔案到HDFS案例
使用flume採集目錄需要啟動hdfs集群 vi spool hdfs.conf name the components on this agent a1.sources r1 a1.sinks k1 a1.channels c1 describe configure the source 注意 不...
Flume採集檔案到HDFS(跟蹤檔案內容)
1.配置檔案編寫 在flume下新建tail hdfs.conf pooldir flume中自帶的讀取目錄的source,只要出現新檔案就會被讀走 定義三大元件的名稱 ag1.sources source1 ag1.sinks sink1 ag1.channels channel1 配置sourc...