日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Flume多source,多sink组合框架搭建

發(fā)布時(shí)間:2024/1/18 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Flume多source,多sink组合框架搭建 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Flume多source,多sink組合框架搭建

文章目錄

  • Flume多source,多sink組合框架搭建
  • 一、實(shí)驗(yàn)?zāi)康?/li>
  • 二、實(shí)驗(yàn)原理
  • 三、實(shí)驗(yàn)環(huán)境
  • 四、實(shí)驗(yàn)內(nèi)容
  • 五、實(shí)驗(yàn)步驟
  • 總結(jié)


一、實(shí)驗(yàn)?zāi)康?/h1>

1.了解Flume數(shù)據(jù)傳輸原理

2.了解Flume的配置文件

3.了解Flume采集與投遞數(shù)據(jù)的框架搭建

二、實(shí)驗(yàn)原理

Flume運(yùn)行的核心是Agent。它是一個(gè)完整的數(shù)據(jù)收集工具,含有三個(gè)核心組件,分別是Source、Channel、Sink。通過這些組件,Event可以從一個(gè)地方流向另一個(gè)地方。

Source可以接收外部源發(fā)送過來的數(shù)據(jù)。不同的Source可以接受不同的數(shù)據(jù)格式。

Channel是一個(gè)存儲(chǔ)地,接收Source的輸出,直到有Sink消費(fèi)掉Channel中的數(shù)據(jù)。

Sink消費(fèi)Channel中的數(shù)據(jù),將數(shù)據(jù)推送給外部源或者其他Source。當(dāng)Sink寫入失敗后,可以自動(dòng)重啟,不會(huì)造成數(shù)據(jù)丟失,因此很可靠。

在實(shí)際生產(chǎn)環(huán)境中,Flume允許多個(gè)Agent連在一起,形成前后相連的多級(jí)跳。Flume有多種組合方式。比如多個(gè)Source收集不同格式的數(shù)據(jù)輸出到同一個(gè)Sink中,或者一個(gè)Source收集的數(shù)據(jù)輸出到多個(gè)Sink中去。

現(xiàn)在有三臺(tái)機(jī)器,分別是:Hadoop1,Hadoop2,Hadoop3,以Hadoop1為日志匯總

Hadoop1匯總的同時(shí)往多個(gè)目標(biāo)進(jìn)行輸出。

三、實(shí)驗(yàn)環(huán)境

Linux Ubuntu 16.04

jdk-7u75-linux-x64

hadoop-2.6.0-cdh5.4.5

flume-ng-1.5.0-cdh5.4.5

四、實(shí)驗(yàn)內(nèi)容


1.使用nc命令產(chǎn)生Syslog日志,發(fā)送到6868端口。

2.創(chuàng)建兩個(gè)Channel,Channel1和Channel2,用于暫存Syslog日志。

3.創(chuàng)建兩個(gè)Sink,Sink1_To_HDFS是將數(shù)據(jù)傳入到HDFS文件系統(tǒng)/myflume/syslog_mem_hdfsandlogger中,Sink2_To_Logger是將數(shù)據(jù)以logger的形式,發(fā)送到console界面上。

五、實(shí)驗(yàn)步驟

1.首先檢查Hadoop相關(guān)進(jìn)程,是否已經(jīng)啟動(dòng)。若未啟動(dòng),切換到/apps/hadoop/sbin目錄下,啟動(dòng)Hadoop。

cd /apps/hadoop/sbin ./start-all.sh

2.切換目錄到/apps/flume/conf目錄下,創(chuàng)建Flume的配置文件。

cd /apps/flume/conf touch syslog_mem_hdfsandlogger.conf

3.使用vim打開syslog_mem_hdfsandlogger.conf文件。

vim syslog_mem_hdfsandlogger.conf

定義各個(gè)組件

#定義各個(gè)組件 agent1.sources = src agent1.channels = ch1 ch2 agent1.sinks = des1 des2

配置Flume的Source為syslogtcp,并監(jiān)聽6868端口。

#配置source agent1.sources.src.type = syslogtcp agent1.sources.src.bind = localhost agent1.sources.src.port = 6868

配置兩個(gè)Channel,都設(shè)置為memory。

#配置channel agent1.channels.ch1.type = memory agent1.channels.ch2.type = memory

配置hdfs sink,將數(shù)據(jù)發(fā)送到HDFS上。

#配置hdfs sink agent1.sinks.des1.type = hdfs agent1.sinks.des1.hdfs.path = hdfs://localhost:9000/myflume4/syslog_mem_hdfsandlogger/ agent1.sinks.des1.hdfs.useLocalTimeStamp = true #設(shè)置flume臨時(shí)文件的前綴為 . 或 _ 在hive加載時(shí),會(huì)忽略此文件。 agent1.sinks.des1.hdfs.inUsePrefix=_ #設(shè)置flume寫入文件的前綴是什么 agent1.sinks.des1.hdfs.filePrefix = q7 agent1.sinks.des1.hdfs.fileType = DataStream agent1.sinks.des1.hdfs.writeFormat = Text #hdfs創(chuàng)建多久會(huì)新建一個(gè)文件,0為不基于時(shí)間判斷,單位為秒 agent1.sinks.des1.hdfs.rollInterval = 20 #hdfs寫入的文件達(dá)到多大時(shí),創(chuàng)建新文件 0為不基于空間大小,單位B agent1.sinks.des1.hdfs.rollSize = 10 #hdfs有多少條消息記錄時(shí),創(chuàng)建文件,0為不基于條數(shù)判斷 agent1.sinks.des1.hdfs.rollCount = 5 #hdfs空閑多久就新建一個(gè)文件,單位秒 agent1.sinks.des1.hdfs.idleTimeout = 20

配置logger sink。

#配置logger sink agent1.sinks.des2.type = logger

把上面設(shè)置的組件關(guān)聯(lián)起來。

##下面是把上面設(shè)置的組件關(guān)聯(lián)起來(把點(diǎn)用線連起來) agent1.sources.src.channels = ch1 ch2 agent1.sinks.des1.channel = ch1 agent1.sinks.des2.channel = ch2

4.啟動(dòng)Flume,執(zhí)行收集工作。

切換目錄到/apps/flume目錄下,啟動(dòng)flume-ng的配置。

cd /apps/flume flume-ng agent -c /conf -f /apps/flume/conf/syslog_mem_hdfsandlogger.conf -n agent1 -Dflume.root.logger=DEBUG,console

新打開一個(gè)窗口,執(zhí)行nc命令,向6868端口發(fā)送消息。

echo "hello can you hear me?" | nc localhost 6868

5.查看執(zhí)行效果

可以看到,執(zhí)行flume-ng配置的界面輸出效果為:

從上面可以看到sink.LoggerSink,也就是發(fā)送給logger的輸出。

再來查看HDFS上的輸出。

hadoop fs -ls -R / hadoop fs -cat /myflume4/syslog_mem_hdfsandlogger/*

總結(jié)

以上就是今天要講的內(nèi)容,本文簡單介紹了Flume運(yùn)行的核心是Agent。它是一個(gè)完整的數(shù)據(jù)收集工具,含有三個(gè)核心組件,分別是Source、Channel、Sink。通過這些組件,Event可以從一個(gè)地方流向另一個(gè)地方。

總結(jié)

以上是生活随笔為你收集整理的Flume多source,多sink组合框架搭建的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。