三十七、Flume的安裝及測試

象在舞發表於2020-12-26

上一篇文章我們簡單介紹了一下Flume這個框架,本文主要介紹一下Flume的安裝及測試,最近這幾篇部落格內容相對簡單一些。關注專欄《破繭成蝶——大資料篇》,檢視更多相關的內容~


目錄

一、Flume的安裝

1.1 下載Flume

1.2 上傳解壓

1.3 修改配置檔案

二、Flume的測試

2.1 環境準備

2.2 建立配置檔案

2.3 開啟埠、生產資料

2.3.1 開啟監聽埠

2.3.2 啟動埠傳送資料


 

一、Flume的安裝

1.1 下載Flume

首先我們需要去官網下載Flume的安裝包,點選此處進行下載~我們下載的是1.7.0的版本。

1.2 上傳解壓

將下載好的tar包上傳到指定目錄,並解壓:

1、解壓
tar -zxvf ./apache-flume-1.7.0-bin.tar.gz -C ../modules/

2、切換到解壓縮的目錄
cd ../modules/

3、修改一下檔名,目的是為了簡單點,可以不修改
mv apache-flume-1.7.0-bin flume

1.3 修改配置檔案

1、首先需要切換到flume的conf目錄下,將flume-env.sh.template檔案複製一份,並改名為flume-env.sh

2、在flume-env.sh中新增JAVA_HOME。

二、Flume的測試

上面對Flume進行了安裝,下面來簡單看一下一個官方的案例吧:監控埠資料。啟動Flume監控本機44444埠,通過netcat想本機的44444埠傳送資料,Flume將監聽到的資料列印在控制檯。

2.1 環境準備

1、首先我們得需要使用netstat命令看一下44444埠是否被佔用。netstat命令是一個監控TCP/IP網路的非常有用的工具,它可以顯示路由表、實際的網路連線以及每一個網路介面裝置的狀態資訊。該命令主要的選項引數如下所示:

1、-t或--tcp:顯示TCP傳輸協議的連線狀況; 
2、-u或--udp:顯示UDP傳輸協議的連線狀況;
3、-n或--numeric:直接使用ip地址,而不通過域名伺服器; 
4、-l或--listening:顯示監控中的伺服器的Socket; 
5、-p或--programs:顯示正在使用Socket的程式識別碼(PID)和程式名稱。

如果埠未被佔用,會顯示如下內容:

2、安裝netcat工具

yum install -y nc

2.2 建立配置檔案

在flume的conf目錄下建立flume-netcat-logger.conf檔案,並新增如下配置:

# 宣告source、channel、sink。其中,a1表示agent的名稱,r1表示a1的輸入源,k1表示a1的目的地,c1表示a1的緩衝區。
a1.sources = r1
a1.sinks = k1
a1.channels = c1

# 配置source
# 輸入型別為netcat埠型別
a1.sources.r1.type = netcat
# 監聽的主機名
a1.sources.r1.bind = localhost
# 監聽的埠號
a1.sources.r1.port = 44444

# 指定sink型別為logger
a1.sinks.k1.type = logger

# 設定channel為記憶體模式
a1.channels.c1.type = memory
# 設定channel的總容量為1000個event
a1.channels.c1.capacity = 1000
# 設定channel收集到100條event後再提交事務
a1.channels.c1.transactionCapacity = 100

# 連線source、channel、sink
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1

2.3 開啟埠、生產資料

2.3.1 開啟監聽埠

bin/flume-ng agent --conf conf/ --name a1 --conf-file conf/flume-netcat-logger.conf -Dflume.root.logger=INFO,console

其中相關的引數說明如下所示:

1、--conf conf/:表示配置檔案儲存在conf/目錄,--conf也可以使用-c表示。
2、--name a1:表示給agent起名為a1,--name也可以使用-n代替。
3、--conf-file conf/flume-netcat-logger.conf:flume本次啟動讀取的配置檔案是在conf目錄下的flume-netcat-logger.conf檔案。
4、-Dflume.root.logger==INFO,console:-D表示flume執行時動態修改flume.root.logger引數屬性值,並將控制檯日誌列印級別設定為INFO級別。日誌級別包括:log、info、warn、error。

2.3.2 啟動埠傳送資料

nc localhost 44444

在監聽器頁面可以看到已經接收到了資料:

 

好了,本文非常簡單,就是安裝一下Flume順便測試一個簡單的用例,下篇文章我們們搞幾個複雜一點的例子進行試驗。你們在這個過程中遇到了什麼問題,歡迎留言,讓我看看你們遇到了什麼問題~

相關文章