久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

flume上傳文件到hdfs上

 昵稱23016082 2017-05-23

在第一篇文章中我們是將log4j的日志輸出到了agent的日志文件當(dāng)中。配置文件如下:

  1. tier1.sources=source1  
  2. tier1.channels=channel1  
  3. tier1.sinks=sink1  
  4.   
  5. tier1.sources.source1.type=avro  
  6. tier1.sources.source1.bind=0.0.0.0  
  7. tier1.sources.source1.port=44444  
  8. tier1.sources.source1.channels=channel1  
  9.   
  10. tier1.channels.channel1.type=memory  
  11. tier1.channels.channel1.capacity=10000  
  12. tier1.channels.channel1.transactionCapacity=1000  
  13. tier1.channels.channel1.keep-alive=30  
  14.   
  15. tier1.sinks.sink1.type=logger  
  16. tier1.sinks.sink1.channel=channel1  

本次我們把log4j的日志直接采集輸出到hdfs中去,。需要修改flume.conf中sink的配置:
  1. tier1.sources=source1  
  2. tier1.channels=channel1  
  3. tier1.sinks=sink1  
  4.   
  5. tier1.sources.source1.type=avro  
  6. tier1.sources.source1.bind=0.0.0.0  
  7. tier1.sources.source1.port=44444  
  8. tier1.sources.source1.channels=channel1  
  9.   
  10. tier1.channels.channel1.type=memory  
  11. tier1.channels.channel1.capacity=10000  
  12. tier1.channels.channel1.transactionCapacity=1000  
  13. tier1.channels.channel1.keep-alive=30  
  14.   
  15. tier1.sinks.sink1.type=hdfs  
  16. tier1.sinks.sink1.channel=channel1  
  17. tier1.sinks.sink1.hdfs.path=hdfs://master68:8020/flume/events  
  18. tier1.sinks.sink1.hdfs.fileType=DataStream  
  19. tier1.sinks.sink1.hdfs.writeFormat=Text  
  20. tier1.sinks.sink1.hdfs.rollInterval=0  
  21. tier1.sinks.sink1.hdfs.rollSize=10240  
  22. tier1.sinks.sink1.hdfs.rollCount=0  
  23. tier1.sinks.sink1.hdfs.idleTimeout=60  
簡單說明一下修改的部分,,我們將sink的type由logger變?yōu)閔dfs,然后指定輸出path, 默認(rèn)是輸出到HDFS后為sequencefile,里面的內(nèi)容無法直接打開瀏覽,,為了便于直觀看到我們輸出的日志信息,,所以我這里將fileType為DataStream, writeFormat=Text,這樣就可以直接打開生成的文件進(jìn)行查看了。

下面幾個roll開頭的參數(shù)都是用來控制滾動日志輸出的,,官方文檔上的說明也很詳細(xì),,我這里配置的只按文件大小來滾動rollSize=10240,也就是10K滾動生成一個新的文件用來接收新的EVENTS。實際中這個Size應(yīng)該更大一些,,我覺得設(shè)置成HDFS的blocksize大小應(yīng)該挺合適的,。

idleTimeout設(shè)置為60秒(默認(rèn)值為0),這里面的原理是這樣的,,flume里面每生成一個接收文件時的命名規(guī)則如:FlumeData.1406251462179.tmp,,.tmp表示這個文件正在被使用來接收EVENTS,當(dāng)滿10K之后,,這個文件會被rename成FlumeData.1406251462179,,把.tmp后綴去掉,但是如果你停止了應(yīng)用程序后,,F(xiàn)lumeData.1406251462179.tmp還沒滿10K,,按照默認(rèn)的idleTimeout設(shè)置,不會將它rename,也就是.tmp后綴一直在,,造成了這個文件一直在使用當(dāng)中的一個假象,,這是有問題的,我們設(shè)置idleTimeout=60,,即60秒后這個文件還沒有被寫入數(shù)據(jù),,就會關(guān)閉它然后rename它去掉.tmp,以后新進(jìn)來的events,會新開一個.tmp文件來接收,。

我們再運行第一篇文章中的那個示例應(yīng)用程序,,然后去path指定的目錄下面就能看到log4j輸出的日志信息了。


補(bǔ)充注意點(針對cm安裝的flume):

首先在hdfs上創(chuàng)建/flume目錄:hadoop fs -mkdir /flume
給該目錄授權(quán)給flume用戶和組:hadoop fs -chown -R flume:flume /flume

注意給目錄授權(quán)很重要,,不然會報錯,。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多