Flume個人心得筆記之Sink安裝

                     Flume個人心得筆記之Sink安裝

目錄

                     Flume個人心得筆記之Sink安裝

一.Logger Sink

一、概述

二、可配置項說明

三、示例

二.File_roll Sink

一、概述

二、可配置選項說明

三、示例

1.複製文本

2.編輯配置

3.啓動指令  啓動不了,殺死對應進程重新啓動

4.編輯文件  如果誤操作,可以按照Ctrl +Backspace 回退

5.查詢數據

三.HDFS Sink

一、概述

二、可配置選項說明

三、示例

1.備份一份文件

2.編輯配置

3.啓動

4.確保HDFS啓動

5.傳輸數據

6.查詢

四、存在問題

1.報錯是因爲flume缺少相關hadoop的依賴jar包,

2.但是一個一個找特別麻煩,所以解決辦法是將hadoop的jar包都拷貝到flume的lib目錄下:

四.Avro Sink

一、概述

二、可配置選項說明

三、多級流動

1.概述

2.實現步驟

3.第一個雲主機配置

4.第二個雲主機配置

5.第三個雲主機配置

6.啓動第三個節點 往後向前啓動

7.輸入數據

8.接收數據

四、扇出流

1.編輯文件

2.第一個和第二個配置相同

3.第三個節點

4.啓動 從最後一個啓動

5.發送數據

6.接收數據


一.Logger Sink

一、概述

  1. 記錄指定級別(比如INFO,DEBUG,ERROR等)的日誌,通常用於調試
  2. 要求,在 --conf(-c )參數指定的目錄下有log4j的配置文件
  3. 根據設計,logger sink將body內容限制爲16字節,從而避免屏幕充斥着過多的內容。如果想要查看調試的完整內容,那麼你應該使用其他的sink,也許可以使用file_roll sink,它會將日誌寫到本地文件系統中

二、可配置項說明

配置項

說明

channel

綁定通道

type

logger

三、示例

默認配置,就不演示了  

https://blog.csdn.net/LiuY521/article/details/94721238

 

二.File_roll Sink

一、概述

  1. 在本地系統中存儲事件
  2. 每隔指定時長生成文件保存這段時間內收集到的日誌信息

二、可配置選項說明

配置項

說明

channel

綁定通道

type

file_roll

sink.directory

文件被存儲的目錄

sink.rollInterval

30  記錄日誌到文件裏,每隔30秒生成一個新日誌文件。如果設置爲0,則禁止滾動,從而導致所有數據被寫入到一個文件中。

三、示例

1.複製文本

 mv basic2.conf filerollsink.txt

2.編輯配置

3.啓動指令  啓動不了,殺死對應進程重新啓動

4.編輯文件  如果誤操作,可以按照Ctrl +Backspace 回退

5.查詢數據

 

三.HDFS Sink

一、概述

  1. 此Sink將事件寫入到Hadoop分佈式文件系統HDFS中
  2. 目前它支持創建文本文件和序列化文件,並且對這兩種格式都支持壓縮
  3. 這些文件可以分卷,按照指定的時間或數據量或事件的數量爲基礎
  4. 它還通過類似時間戳或機器屬性對數據進行 buckets/partitions 操作
  5. HDFS的目錄路徑可以包含將要由HDFS替換格式的轉移序列用以生成存儲事件的目錄/文件名
  6. 使用這個Sink要求haddop必須已經安裝好,以便Flume可以通過hadoop提供的jar包與HDFS進行通信

二、可配置選項說明

配置項

說明

channel

綁定的通道

type

hdfs

hdfs.path

HDFS 目錄路徑 (hdfs://namenode/flume/webdata/)

hdfs.inUseSuffix

.tmp        Flume正在處理的文件所加的後綴

hdfs.rollInterval

文件生成的間隔事件,默認是30,單位是秒   

hdfs.rollSize

生成的文件大小,默認是1024個字節 ,0表示不開啓此項

hdfs.rollCount

每寫幾條數據就生成一個新文件,默認數量爲10

每寫幾條數據就生成一個新文件,

hdfs.fileType

SequenceFile/DataStream/CompressedStream

hdfs.retryInterval

80        Time in seconds between consecutive attempts to close a file. Each close call costs multiple RPC round-trips to the Namenode, so setting this too low can cause a lot of load on the name node. If set to 0 or less, the sink will not attempt to close the file if the first attempt fails, and may leave the file open or with a ”.tmp” extension.

三、示例

1.備份一份文件

vim HDFS.conf

2.編輯配置

3.啓動

4.確保HDFS啓動

5.傳輸數據

報錯  格式不支持

配置寫錯了

6.查詢

四、存在問題

1.報錯是因爲flume缺少相關hadoop的依賴jar包,

找到以下的jar包,放到flume的lib目錄下即可。

  • commons-configuration-1.6.jar
  • hadoop-auth-2.5.2.jar
  • hadoop-common-2.5.2.jar
  • hadoop-hdfs-2.5.2.jar
  • hadoop-mapreduce-client-core-2.5.2.jar

2.但是一個一個找特別麻煩,所以解決辦法是將hadoop的jar包都拷貝到flume的lib目錄下:

  • 執行:
  • scp common/* 
  • common/lib/*   
  • hdfs/*   
  • hdfs/lib/* 
  • mapreduce/*  
  • mapreduce/lib/*   
  • tools/lib/*
  • 10.42.60.249:/home/software/flume/lib/

四.Avro Sink

一、概述

  1. 將源數據進行利用avro進行序列化之後寫到指定的節點上
  2. 是實現多級流動、扇出流(1到多) 扇入流(多到1) 的基礎

二、可配置選項說明

配置項

說明

channel

綁定的通道

type

 avro

hostname

要發送的主機

port

要發往的端口號

三、多級流動

1.概述

  1. 讓01機的flume通過netcat source源接收數據,然後通過avro sink 發給02機
  2. 02機的flume利用avro source源收數據,然後通過avro sink 傳給03機
  3. 03機通過avro source源收數據,通過logger sink 輸出到控制檯上

2.實現步驟

  1. 準備三個節點,並安裝好flume(關閉每臺機器的防火牆)
  2. 配置每臺flume的配置文件

3.第一個雲主機配置

4.第二個雲主機配置

5.第三個雲主機配置

6.啓動第三個節點 往後向前啓動

7.輸入數據

8.接收數據

四、扇出流

1.編輯文件

vim shanru.conf

2.第一個和第二個配置相同

3.第三個節點

4.啓動 從最後一個啓動

../bin/flume-ng agent -n a1 -c ../conf -f 要啓動的文件 -Dflume.root.logger=INFO,console

5.發送數據

6.接收數據

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章