Flume的安裝與部署

2022-09-06 09:45:09 字數 3150 閱讀 3325

軟體環境

作業系統:ubuntu server 18.04

jdk:1.8.0

* 先登入root賬號再進行以下操作

1.安裝jdk

cd /home

3.解壓安裝包

tar -xvf apache-flume-1.9.0-bin.tar.gz

4.改名

mv apache-flume-1.9.0-bin flume

cd /home/flume/conf

mv flume-conf.properties.example flume-conf

5.配置系統環境變數

vim ~/.bashrc

新增以下內容:

export path=$path:home/flume/bin

更新環境變數

source ~/.bashrc

6.修改配置檔案

cd /home/flume/conf

vim flume-conf

新增以下內容:

# 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 = 44444

# describe the sink

a1.sinks.k1.type =logger

# 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

這裡的a1是agent名,也就是啟動例項名,對應啟動命令的agent名(--name)。

常修改的有2個屬性

(1) a1.sources.r1.type

接收的資料來源型別,官方說明文件:

* 常用的有:

netcat -接收的是原始資料,一般是telnet測試時使用

**ro -只能接收用**ro序列化後的資料,一般是實際生產時使用

spooling -監聽本地硬碟的指定目錄的檔案

kafka - 從kafka的topic獲取資料

(2) a1.sinks.k1.type

接收資料的目的地型別(就是儲存到**),官方說明文件:

* 常用的有:

logger -輸出到log4j配置的地方

file_roll -輸出到指定目錄

kafka -輸出資料到kafka的指定topic,大資料場景常用

hbase -存入hbase

hive -存入hive

elasticsearch -輸出到elasticsearch,檢索類大資料場景常用

**ro - 輸出為以**ro序列化的資料,一般是多級flume時使用。例如,flume1接收原始資料後,序列化為**ro資料,再傳送給flume2

7.啟動

flume-ng agent --conf conf --conf-file /home/flume/conf/flume-conf --name a1 -dflume.root.logger=info,console

也可以用縮寫引數,下面語句跟上面的同樣效果:

flume-ng agent -c conf -f /home/flume/conf/flume-conf -n a1 -dflume.root.logger=info,console

* 這裡的a1必須跟flume-conf裡面的agent名一致

8.命令測試

由於上面的flume啟動是用前台執行,獨佔了終端不能繼續輸入命令,所以如果要測試,有2個方法:

a.新開視窗來輸入測試命令

b.使用&或nohup在後台執行flume,使用後只能用kill來關閉程序

flume-ng agent -c conf -f /home/flume/conf/flume-conf -n a1 -dflume.root.logger=info,console &或

nohup flume-ng agent -c conf -f /home/flume/conf/flume-conf -n a1 -dflume.root.logger=info,console

或nohup flume-ng agent -c conf -f /home/flume/conf/flume-conf -n a1 -dflume.root.logger=info,console &

使用telnet命令進行測試:

telnet localhost 44444

然後輸入任意內容,看到執行flume的視窗顯示對應訊息,就是部署成功了。

9.**測試

測試之前要先把a1.sources.r1.type = netcat的改成a1.sources.r1.type = **ro,否則會報錯(因為api預設是傳送**ro序列化資料)。

public

class

flumesender

}catch

(exception e)

finally}}

}

Flume安裝部署

flume的安裝非常簡單,只需要解壓即可,當然,前提是已有hadoop環境 上傳安裝包到資料來源所在節點上 然後解壓 tar zxvfapache flume 1.6.0 bin.tar.gz 先用乙個最簡單的例子來測試一下程式環境是否正常 1 先在flume的conf目錄下新建乙個檔案 vi ne...

flume的安裝與使用

安裝flume 2 主目錄解壓 tar zxvf xx.tar mv usr share 3 修改 vi etc profile 在最後追加下面配置 flume export flume home usr share flume export path path flume home bin 4 檢...

大資料 八 Flume部署

如果說大資料中分布式收集日誌用的是什麼,你完全可以回答flume!面試小心問到哦 首先說乙個複製本伺服器檔案到目標伺服器上,需要目標伺服器的ip和密碼 命令 scp filename ip 目標路徑 一 概述 flume是cloudera提供的乙個高可用的,高可靠的,分布式的海量日誌採集 聚合和傳輸...