目錄
前言
題目:
一、讀題分析
二、處理過程??
1.先在Kafka中創(chuàng)建符合題意的Kafka的topic
?創(chuàng)建符合題意的Kafka的topic
2.寫出Flume所需要的配置文件
3.啟動(dòng)腳本然后啟動(dòng)Flume監(jiān)聽端口數(shù)據(jù)并傳到Kafka
啟動(dòng)flume指令
啟動(dòng)腳本,觀察Flume和Kafka的變化
三、重難點(diǎn)分析
總結(jié)?
前言
????????本題來源于全國(guó)職業(yè)技能大賽之大數(shù)據(jù)技術(shù)賽項(xiàng)電商賽題 - 實(shí)時(shí)數(shù)據(jù)采集?
題目:
提示:以下是本篇文章正文內(nèi)容,下面案例可供參考()
?
一、讀題分析
涉及組件:Flume,Kafka
涉及知識(shí)點(diǎn):
- Flume的原理,了解sources、,channels,sinks
- Kafka 的基本使用
- Flume的監(jiān)聽方式以及監(jiān)聽方法
二、處理過程??
本題是使用Flume監(jiān)聽端口的數(shù)據(jù)到Kafka,我還寫了一篇關(guān)于Flume監(jiān)聽本地文件到HDFS上。
鏈接:大數(shù)據(jù)之使用Flume監(jiān)聽本地文件采集數(shù)據(jù)流到HDFS,使用正則表達(dá)式獲取
1.先在Kafka中創(chuàng)建符合題意的Kafka的topic
先進(jìn)入到Kafka的目錄
cd $KAFKA_HOME
啟動(dòng)Kafka集群(單機(jī)也可以)
?創(chuàng)建符合題意的Kafka的topic
bin/kafka-topics.sh --create --bootstrap-server bigdata1:9092 --replication-factor 1 --partitions 4 --topic ods_mall_log
--partitions 4創(chuàng)建分區(qū)數(shù)為4? --replication-factor 1 生成副本數(shù)量1
2.寫出Flume所需要的配置文件
# Name the components on this agent a1.sources = r1 a1.sinks = k1 a1.channels = c1 # Describe/configure the source a1.sources.r1.type = netcat a1.sources.r1.bind = localhost a1.sources.r1.port = 25001 # Describe the sink KafkaSink a1.sinks.k1.type = org.apache.flume.sink.kafka.KafkaSink a1.sinks.k1.kafka.bootstrap.servers = bigdata1:9092 a1.sinks.k1.kafka.topic = ods_mall_log # Use a channel which buffers events in memory a1.channels.c1.type = memory a1.channels.c1.capacity = 1000 a1.channels.c1.transactionCapacity = 100 # Bind the source and sink to the channel a1.sources.r1.channels = c1 a1.sinks.k1.channel = c1
3.啟動(dòng)腳本然后啟動(dòng)Flume監(jiān)聽端口數(shù)據(jù)并傳到Kafka
在 ~ 目錄 進(jìn)入到 /data_log目錄下,啟動(dòng)gen_ds_data_to_socket腳本
cd /data_log
./gen_ds_data_to_socket
啟動(dòng)flume指令
#如果Kafka沒有對(duì)應(yīng)的主題,則Flume會(huì)自動(dòng)創(chuàng)建Kafka的topic
#但是很有可能會(huì)不符合文章的意思,在這里必須要先手動(dòng)創(chuàng)建3個(gè)分區(qū)的Topic
bin/flume-ng agent -c conf/ -n a1 -f /opt/data/flume1.conf -Dflume.root.logger=INFO,console
flume-ng agent 必備!
-c????????Flume所需要的配置文件
-n????????conf配置文件取的名字,在這里是a1
-f? ? ? ? 寫出Flume配置文件的地址
-Dflume.root.logger=INFO,console? ? ? ? 在這里指定flume將數(shù)據(jù)打印在控制臺(tái)上,方便觀察
在這里看到k1 啟動(dòng)了,就是我們配置的sink啟動(dòng)了,如果卡在這不動(dòng)了,說明flume沒有接受到數(shù)據(jù),檢查flune配置文件以及數(shù)據(jù)獲取的方式是否正確。
啟動(dòng)腳本,觀察Flume和Kafka的變化
啟動(dòng)腳本
?1.觀察Flume,如果Flume有一行Cluster ID:xxxx的話,說明Flume已經(jīng)采集到數(shù)據(jù)并發(fā)到指定的地方?
?2.使用消費(fèi)Kafka的topic,觀察數(shù)據(jù)是否成功上傳到Kafka中
?#消費(fèi)Kafka指定的topic 并取2條
--max-message 2????????最多獲取2條消息
--from-beginning? ? ? ? ?從最開始消費(fèi),如果沒有則是實(shí)時(shí)消費(fèi)
bin/kafka-console-consumer.sh --bootstrap-server bigdata1:9092 --from-beginning --topic ods_mall_log --max-message 2
三、重難點(diǎn)分析
Flume的配置文件需要自己手動(dòng)的去創(chuàng)建,官方?jīng)]有自帶的,這個(gè)如果不熟悉可以去Flume官網(wǎng)的用戶手冊(cè)上查到所有的配置,花點(diǎn)時(shí)間都是可以看懂的。
鏈接:Apache Flume Documentation
然后就是Kafka的基本使用,在這里不做敘述,請(qǐng)自行搜索學(xué)習(xí)
總結(jié)?
題目很簡(jiǎn)單,比賽過程中,對(duì)于這題的麻煩點(diǎn)就是,創(chuàng)建Kafka的主題時(shí),留意題目中給的分區(qū)的數(shù)量,然后就是Flume配置文件的記憶,你需要了解flume的原理和單元。
如何高效地采集數(shù)據(jù)是一個(gè)重要的問題。Flume是一個(gè)分布式的、可靠的、高可用的海量日志采集工具,可以輕松地采集、聚合和移動(dòng)大量的數(shù)據(jù)。在數(shù)據(jù)采集過程中,F(xiàn)lume可以使用網(wǎng)絡(luò)協(xié)議、文件系統(tǒng)和各種其他數(shù)據(jù)源來收集數(shù)據(jù)。Flume設(shè)計(jì)了一個(gè)事件模型來處理數(shù)據(jù),使用稱為“通道”的可配置緩沖區(qū)來存儲(chǔ)事件,以確保數(shù)據(jù)不會(huì)丟失。同時(shí),使用Flume將數(shù)據(jù)流轉(zhuǎn)到Kafka中,可以滿足將大量數(shù)據(jù)快速穩(wěn)定地傳輸至數(shù)據(jù)處理流程中的需求。Kafka是一個(gè)可擴(kuò)展的分布式流媒體平臺(tái),適用于處理觀察型數(shù)據(jù)。在Kafka中,數(shù)據(jù)以主題(topic)進(jìn)行組織,生產(chǎn)者(producer)向主題發(fā)送消息,消費(fèi)者(consumer)從主題讀取消息。Flume監(jiān)聽端口后采集數(shù)據(jù)流到Kafka中,在Kafka中以主題為單位高效地傳輸數(shù)據(jù),支持?jǐn)?shù)據(jù)的批量消費(fèi)和處理,能夠滿足大數(shù)據(jù)實(shí)時(shí)處理和分析的需求。因此,使用Flume監(jiān)聽端口采集數(shù)據(jù)流到Kafka中是大數(shù)據(jù)處理中常用的數(shù)據(jù)采集方案之一。文章來源:http://www.zghlxwxcb.cn/news/detail-713317.html
原創(chuàng)作品如需引用請(qǐng)標(biāo)明出處文章來源地址http://www.zghlxwxcb.cn/news/detail-713317.html
到了這里,關(guān)于大數(shù)據(jù)之使用Flume監(jiān)聽端口采集數(shù)據(jù)流到Kafka的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!