亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

日志采集框架Flume的安裝及使用

2019-11-08 00:14:51
字體:
來源:轉載
供稿:網友

日志采集框架Flume的安裝及使用

1.Flume介紹

1.1.Flume概述

Flume是一個分布式、可靠、和高可用(舊版Flume og才有高可用)的海量日志采集、傳輸和聚合的系統。Flume可以采集文件,socket數據包等各種形式源數據, 又可以將采集到的數據輸出到HDFS、hbase、hive、kafka等眾多外部存儲系統中 一般的采集需求,通過對flume的簡單配置即可實現Flume針對特殊場景也具備良好的自定義擴展能力,因此,flume可以適用于大部分的日常數據采集場景

1.2.運行機制

1、Flume分布式系統中最核心的角色是agent,flume采集系統就是由一個個agent所連接起來形成2、每一個agent相當于一個數據傳遞員,內部有三個組件:a)Source:采集源,用于跟數據源對接,以獲取數據b)Sink:下沉地,采集數據的傳送目的,用于往下一級agent傳遞數據或者往最終存儲系統傳遞數據c)Channel:angent內部的數據傳輸通道,用于從source中將數據傳遞到sink

Markdown

1.3.Flume采集系統結構圖

1.3.1.簡單結構

單個agent采集數據

Markdown

1.3.2.復雜結構

多級agent之間串聯

Markdown

2.安裝Flume

2.1.解壓Flume壓縮文件到指定目錄

[root@node02 software]# tar -zxvf apache-flume-1.6.0-bin.tar.gz -C /opt/modules/

2.2.文件重命名

[root@node02 modules]# mv apache-flume-1.6.0-bin flume-1.6.0You have new mail in /var/spool/mail/root[root@node02 modules]# lltotal 24drwxr-xr-x. 9 matrix matrix 4096 Jan 7 13:44 elasticsearch-2.4.2drwxr-xr-x. 7 root root 4096 Jan 24 13:09 flume-1.6.0drwxr-xr-x. 12 matrix matrix 4096 Jan 23 21:00 hadoop-2.5.1drwxr-xr-x. 8 root root 4096 Jan 23 18:43 hive-1.2.1drwxr-xr-x. 3 matrix matrix 4096 Dec 19 16:01 journalnodedrwxr-xr-x. 12 matrix matrix 4096 Dec 17 21:20 zookeeper

2.3.配置Flume環境變量

[root@node02 ~]# ls -a. anaconda-ks.cfg .bash_logout .bashrc .hivehistory install.log.syslog .MySQL_history .ssh zookeeper.out.. .bash_history .bash_PRofile .cshrc install.log jdk-7u79-linux-x64.rpm .pki .tcshrc[root@node02 ~]# vi .bash_profile

Markdown

export FLUME_HOME=/opt/modules/flume-1.6.0export PATH=$PATH:$FLUME_HOME/bin

Markdown

2.4.使配置生效

[root@node02 ~]# source .bash_profile

2.5.采集文件到HDFS

采集需求:比如業務系統使用log4j生成的日志,日志內容不斷增加,需要把追加到日志文件中的數據實時采集到hdfs根據需求,首先定義以下3大要素采集源,即source——監控文件內容更新:exec 'tail -F file'下沉目標,即sink——HDFS文件系統:hdfs sinkSource和sink之間的傳遞通道——channel,可用file channel也可以用內存channel

2.5.1.配置Flume配置文件

[root@node02 flume-1.6.0]# vi conf/tail-hdfs.conf

Markdown

# Name the components on this agenta1.sources = r1a1.sinks = k1a1.channels = c1#exec 指的是命令# Describe/configure the sourcea1.sources.r1.type = exec#F根據文件名追中, f根據文件的nodeid追中a1.sources.r1.command = tail -F /home/hadoop/log/test.loga1.sources.r1.channels = c1# Describe the sink#下沉目標a1.sinks.k1.type = hdfsa1.sinks.k1.channel = c1#指定目錄, flum幫做目的替換a1.sinks.k1.hdfs.path = /flume/events/%y-%m-%d/%H%M/#文件的命名, 前綴a1.sinks.k1.hdfs.filePrefix = events-#10 分鐘就改目錄a1.sinks.k1.hdfs.round = truea1.sinks.k1.hdfs.roundValue = 10a1.sinks.k1.hdfs.roundUnit = minute#文件滾動之前的等待時間(秒)a1.sinks.k1.hdfs.rollInterval = 3#文件滾動的大小限制(bytes)a1.sinks.k1.hdfs.rollSize = 500#寫入多少個event數據后滾動文件(事件個數)a1.sinks.k1.hdfs.rollCount = 20#5個事件就往里面寫入a1.sinks.k1.hdfs.batchSize = 5#用本地時間格式化目錄a1.sinks.k1.hdfs.useLocalTimeStamp = true#下沉后, 生成的文件類型,默認是Sequencefile,可用DataStream,則為普通文本a1.sinks.k1.hdfs.fileType = DataStream# Use a channel which buffers events in memorya1.channels.c1.type = memorya1.channels.c1.capacity = 1000a1.channels.c1.transactionCapacity = 100# Bind the source and sink to the channela1.sources.r1.channels = c1a1.sinks.k1.channel = c1

Markdown

2.6.寫數據到指定的文件中

[root@node02 flume-1.6.0]# mkdir -p /home/hadoop/log[root@node02 flume-1.6.0]# touch /home/hadoop/log/test.log[root@node02 ~]# while true> do> echo 11111111111 >> /home/hadoop/log/test.log> sleep 0.6> donewhile truedoecho 11111111111 >> /home/hadoop/log/test.logsleep 0.6done

Markdown

[root@node02 flume-1.6.0]# tail -f /home/hadoop/log/test.log

2.7.啟動Flume日志收集

注意:檢查Hadoop HDFS是否啟動,如沒有啟動,則啟動[root@node02 flume-1.6.0]# ./bin/flume-ng agent -c conf -f conf/tail-hdfs.conf -n a1

Markdown

Markdown

2.8.通過Hadoop Web UI查看Flume在HDFS上創建的目錄

[root@node02 hadoop-2.5.1]# ./bin/hdfs dfs -ls -R /flumedrwxr-xr-x - root supergroup 0 2017-01-24 13:36 /flume/eventsdrwxr-xr-x - root supergroup 0 2017-01-24 13:36 /flume/events/17-01-24drwxr-xr-x - root supergroup 0 2017-01-24 13:38 /flume/events/17-01-24/1330-rw-r--r-- 3 root supergroup 140 2017-01-24 13:36 /flume/events/17-01-24/1330/events-.1485236169660-rw-r--r-- 3 root supergroup 140 2017-01-24 13:36 /flume/events/17-01-24/1330/events-.1485236169661-rw-r--r-- 3 root supergroup 70 2017-01-24 13:36 /flume/events/17-01-24/1330/events-.1485236169662-rw-r--r-- 3 root supergroup 77 2017-01-24 13:36 /flume/events/17-01-24/1330/events-.1485236189653-rw-r--r-- 3 root supergroup 77 2017-01-24 13:36 /flume/events/17-01-24/1330/events-.1485236195683-rw-r--r-- 3 root supergroup 77 2017-01-24 13:36 /flume/events/17-01-24/1330/events-.1485236201641-rw-r--r-- 3 root supergroup 77 2017-01-24 13:36 /flume/events/17-01-24/1330/events-.1485236207790-rw-r--r-- 3 root supergroup 84 2017-01-24 13:36 /flume/events/17-01-24/1330/events-.1485236213809-rw-r--r-- 3 root supergroup 70 2017-01-24 13:37 /flume/events/17-01-24/1330/events-.1485236219808-rw-r--r-- 3 root supergroup 84 2017-01-24 13:37 /flume/events/17-01-24/1330/events-.1485236225867-rw-r--r-- 3 root supergroup 77 2017-01-24 13:37 /flume/events/17-01-24/1330/events-.1485236231852-rw-r--r-- 3 root supergroup 70 2017-01-24 13:37 /flume/events/17-01-24/1330/events-.1485236238116-rw-r--r-- 3 root supergroup 84 2017-01-24 13:37 /flume/events/17-01-24/1330/events-.1485236244133-rw-r--r-- 3 root supergroup 63 2017-01-24 13:37 /flume/events/17-01-24/1330/events-.1485236250160-rw-r--r-- 3 root supergroup 56 2017-01-24 13:37 /flume/events/17-01-24/1330/events-.1485236254744-rw-r--r-- 3 root supergroup 42 2017-01-24 13:37 /flume/events/17-01-24/1330/events-.1485236260456-rw-r--r-- 3 root supergroup 35 2017-01-24 13:37 /flume/events/17-01-24/1330/events-.1485236264210-rw-r--r-- 3 root supergroup 35 2017-01-24 13:37 /flume/events/17-01-24/1330/events-.1485236267832-rw-r--r-- 3 root supergroup 49 2017-01-24 13:37 /flume/events/17-01-24/1330/events-.1485236271410-rw-r--r-- 3 root supergroup 84 2017-01-24 13:38 /flume/events/17-01-24/1330/events-.1485236275630-rw-r--r-- 3 root supergroup 77 2017-01-24 13:38 /flume/events/17-01-24/1330/events-.1485236281581-rw-r--r-- 3 root supergroup 77 2017-01-24 13:38 /flume/events/17-01-24/1330/events-.1485236287587-rw-r--r-- 3 root supergroup 84 2017-01-24 13:38 /flume/events/17-01-24/1330/events-.1485236293646-rw-r--r-- 3 root supergroup 70 2017-01-24 13:38 /flume/events/17-01-24/1330/events-.1485236299642-rw-r--r-- 3 root supergroup 49 2017-01-24 13:38 /flume/events/17-01-24/1330/events-.1485236305888-rw-r--r-- 3 root supergroup 70 2017-01-24 13:38 /flume/events/17-01-24/1330/events-.1485236311177-rw-r--r-- 3 root supergroup 35 2017-01-24 13:38 /flume/events/17-01-24/1330/events-.1485236315362-rw-r--r-- 3 root supergroup 77 2017-01-24 13:38 /flume/events/17-01-24/1330/events-.1485236320019-rw-r--r-- 3 root supergroup 77 2017-01-24 13:38 /flume/events/17-01-24/1330/events-.1485236324629-rw-r--r-- 3 root supergroup 42 2017-01-24 13:38 /flume/events/17-01-24/1330/events-.1485236330636

Markdown

3.Flume多個agent連接

Markdown

從tail命令獲取數據發送到avro端口(tail->avro)另一個節點可配置一個avro源來中繼數據,發送外部存儲(avro->log)

3.1.在node03上安裝Flume

3.2.配置node02上的Flume

從tail命令獲取數據發送到avro端口[root@node02 flume-1.6.0]# vi conf/tail-avro.conf# Name the components on this agenta1.sources = r1a1.sinks = k1a1.channels = c1# Describe/configure the sourcea1.sources.r1.type = execa1.sources.r1.command = tail -F /home/hadoop/log/test.loga1.sources.r1.channels = c1# Describe the sink#綁定的不是本機, 是另外一臺機器的服務地址, sink端的avro是一個發送端, avro的客戶端, 往node03這個機器上發a1.sinks = k1a1.sinks.k1.type = avroa1.sinks.k1.channel = c1a1.sinks.k1.hostname = 192.168.230.12a1.sinks.k1.port = 4141a1.sinks.k1.batch-size = 2# Use a channel which buffers events in memorya1.channels.c1.type = memorya1.channels.c1.capacity = 1000a1.channels.c1.transactionCapacity = 100# Bind the source and sink to the channela1.sources.r1.channels = c1a1.sinks.k1.channel = c1

3.2.1.運行node02上的Flume,發送數據給node03

[root@node02 flume-1.6.0]# ./bin/flume-ng agent -c conf -f conf/tail-avro.conf -n a1

Markdown

3.3.配置node03上的Flume

配置一個avro源來中繼數據,發送外部存儲/hdfs(avro->log)[root@node03 flume-1.6.0]# vi conf/avro-hdfs.conf# Name the components on this agenta1.sources = r1a1.sinks = k1a1.channels = c1# Describe/configure the source#source中的avro組件是接收者服務, 綁定本機a1.sources.r1.type = avroa1.sources.r1.channels = c1a1.sources.r1.bind = 0.0.0.0a1.sources.r1.port = 4141# Describe the sinka1.sinks.k1.type = logger# Use a channel which buffers events in memorya1.channels.c1.type = memorya1.channels.c1.capacity = 1000a1.channels.c1.transactionCapacity = 100# Bind the source and sink to the channela1.sources.r1.channels = c1a1.sinks.k1.channel = c1

3.3.1.運行node03上的Flume,接收來自node02的數據

[root@node03 flume-1.6.0]# ./bin/flume-ng agent -c conf -f conf/avro-hdfs.conf -n a1 -Dflume.root.logger=INFO,console

Markdown

可以看到4141端口有監聽[root@node03 ~]# netstat -nltp

Markdown

Markdown

3.3.發送數據


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品日韩在线一区| 久久成人亚洲精品| 欧美最猛黑人xxxx黑人猛叫黄| 欧美资源在线观看| 全亚洲最色的网站在线观看| 国产精品永久免费视频| 国产+成+人+亚洲欧洲| 亚洲欧美日韩天堂一区二区| 久久精品视频一| 欧美丝袜美女中出在线| 亚洲人成77777在线观看网| 亚洲成人激情在线| 国产精品h在线观看| 国产精品高清网站| 欧美劲爆第一页| 亚洲一区亚洲二区亚洲三区| 久久久av电影| 国产日韩欧美91| 98精品国产高清在线xxxx天堂| 欧美一级免费看| 午夜精品久久久久久久久久久久久| 国产精品国模在线| 亚洲国产中文字幕久久网| 91av福利视频| 国产成人鲁鲁免费视频a| 久久久精品999| 免费av一区二区| 91精品久久久久久久久久久久久| 欧美丰满老妇厨房牲生活| 日本久久91av| 综合欧美国产视频二区| 中文精品99久久国产香蕉| 久久影视电视剧免费网站| 青青青国产精品一区二区| 日韩精品中文字幕在线观看| 欧美视频免费在线观看| 欧美一区二区大胆人体摄影专业网站| 日韩精品久久久久久久玫瑰园| 另类专区欧美制服同性| 国产精品第10页| 国产精品网站视频| 欧美性xxxx18| 欧美www视频在线观看| 亚洲综合最新在线| 羞羞色国产精品| 国产成人av在线播放| 成人中文字幕在线观看| 97超碰蝌蚪网人人做人人爽| 欧美视频裸体精品| 欧美精品一区二区免费| 亚洲精品美女网站| 亚洲欧美成人网| 性金发美女69hd大尺寸| 欧美一二三视频| www.亚洲人.com| 另类美女黄大片| 国产精品久久久久福利| 久久天天躁狠狠躁夜夜av| 亚洲人成电影在线| 亚洲人成电影在线播放| 欧美成人精品三级在线观看| 欧美性猛交xxxx黑人猛交| 不卡av电影在线观看| 亚洲国模精品私拍| 日本高清视频精品| 国产精品老女人视频| 97国产一区二区精品久久呦| 91亚洲精品在线| 成人久久18免费网站图片| 国产精品久久久久福利| 日韩欧美第一页| 欧美在线免费看| 爽爽爽爽爽爽爽成人免费观看| 成人精品视频在线| 亚洲日本成人网| 日韩经典第一页| 欧美午夜视频一区二区| 欧美精品久久久久a| 精品日韩美女的视频高清| 精品偷拍一区二区三区在线看| 亚洲成人av片在线观看| 久久久久免费精品国产| 国外成人在线直播| 亚洲乱码国产乱码精品精| 91久久久久久久久久| 欧美大片第1页| 91亚洲精品久久久久久久久久久久| 欧美日韩国产丝袜美女| 日韩欧美在线播放| 日韩av免费看| 亚洲欧美国产精品va在线观看| 成人国产精品av| 色综合五月天导航| 国产成人一区二区| 一本色道久久88综合日韩精品| 亚洲激情成人网| 久久夜精品va视频免费观看| 成人国产精品一区二区| 在线看国产精品| 国产欧美精品xxxx另类| 中文字幕久热精品在线视频| 精品在线欧美视频| 69av在线播放| 亚洲永久在线观看| 国产精品激情av电影在线观看| 久久综合88中文色鬼| 亚洲天天在线日亚洲洲精| 中文字幕精品国产| 久久精品视频中文字幕| 国产精品日韩一区| 国产精品美女久久久久久免费| 亚洲最大福利网| 欧美激情在线观看| 麻豆精品精华液| 在线成人中文字幕| 国产成人福利夜色影视| 欧洲精品在线视频| www.亚洲人.com| 亚洲久久久久久久久久| 91精品久久久久久久久中文字幕| 亚洲男人天堂2024| 中文字幕日本精品| 亚洲影院色在线观看免费| 成人免费福利视频| 亚洲精品美女久久久| 在线播放日韩欧美| 亚洲视频欧美视频| 国产精品男女猛烈高潮激情| 中文字幕欧美日韩精品| 日韩精品www| 国内精品久久久久久| 国产欧美va欧美va香蕉在| 欧美性猛交xxxxx水多| 国产精品扒开腿爽爽爽视频| 亚洲欧美日韩天堂一区二区| 红桃av永久久久| 中文综合在线观看| 欧美成人免费全部观看天天性色| 欧美性20hd另类| 一区二区三区视频免费| 国产精品美女主播| 欧美一级片久久久久久久| 欧美在线影院在线视频| 久久99亚洲精品| 日韩高清免费在线| 日本精品久久电影| 最近2019中文字幕在线高清| 国产精品久久精品| 欧美福利小视频| 国产精品一区电影| 清纯唯美亚洲综合| 美女性感视频久久久| 国产91|九色| 亚洲一区二区免费在线| 亚洲男人天堂2023| 亚洲精品国产欧美| 91视频8mav| 92国产精品视频| 日韩av在线直播| 欧美日韩一区二区在线播放| 亚洲黄页视频免费观看| 亚洲xxx自由成熟| 色悠久久久久综合先锋影音下载| 亚洲精品美女在线|