Flume採集目錄及文件到HDFS案例

来源:https://www.cnblogs.com/jifengblog/archive/2018/07/07/9277860.html
-Advertisement-
Play Games

採集目錄到HDFS 使用flume採集目錄需要啟動hdfs集群 spooldir source 監控指定目錄 如果目錄下有新文件產生 就採集走 註意!!! 此組件監控的目錄不能有同名的文件產生 一旦有重名文件:報錯 罷工 註意!!! 此組件監控的目錄不能有同名的文件產生 一旦有重名文件:報錯 罷工 ...


採集目錄到HDFS

  使用flume採集目錄需要啟動hdfs集群

vi spool-hdfs.conf
# Name the components on this agent
a1.sources = r1
a1.sinks = k1
a1.channels = c1

# Describe/configure the source
##註意:不能往監控目中重覆丟同名文件
a1.sources.r1.type = spooldir
a1.sources.r1.spoolDir = /root/logs2
a1.sources.r1.fileHeader = true

# Describe the sink
a1.sinks.k1.type = hdfs
a1.sinks.k1.channel = c1
a1.sinks.k1.hdfs.path = /flume/events/%y-%m-%d/%H%M/
a1.sinks.k1.hdfs.filePrefix = events-
#控制文件夾的滾動頻率 a1.sinks.k1.hdfs.round = true a1.sinks.k1.hdfs.roundValue = 10 a1.sinks.k1.hdfs.roundUnit = minute
#控制文件的滾動頻率 a1.sinks.k1.hdfs.rollInterval
= 3 #時間維度 a1.sinks.k1.hdfs.rollSize = 20  #文件大小維度 a1.sinks.k1.hdfs.rollCount = 5  #event數量維度 a1.sinks.k1.hdfs.batchSize = 1 a1.sinks.k1.hdfs.useLocalTimeStamp = true #生成的文件類型,預設是Sequencefile,可用DataStream,則為普通文本 a1.sinks.k1.hdfs.fileType = DataStream # 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
mkdir /root/logs2

 

    spooldir source 監控指定目錄 如果目錄下有新文件產生 就採集走

    • 註意!!! 此組件監控的目錄不能有同名的文件產生 一旦有重名文件:報錯 罷工

  啟動命令:

bin/flume-ng agent -c ./conf -f ./conf/spool-hdfs.conf -n a1 -Dflume.root.logger=INFO,console

 

採集文件到HDFS

vi tail-hdfs.conf
# Name the components on this agent
a1.sources = r1
a1.sinks = k1
a1.channels = c1

# Describe/configure the source
a1.sources.r1.type = exec
a1.sources.r1.command = tail -F /root/logs/test.log
a1.sources.r1.channels = c1

# Describe the sink
a1.sinks.k1.type = hdfs
a1.sinks.k1.channel = c1
a1.sinks.k1.hdfs.path = /flume/tailout/%y-%m-%d/%H-%M/
a1.sinks.k1.hdfs.filePrefix = events-
a1.sinks.k1.hdfs.round = true
a1.sinks.k1.hdfs.roundValue = 10
a1.sinks.k1.hdfs.roundUnit = minute
a1.sinks.k1.hdfs.rollInterval = 3
a1.sinks.k1.hdfs.rollSize = 20
a1.sinks.k1.hdfs.rollCount = 5
a1.sinks.k1.hdfs.batchSize = 1
a1.sinks.k1.hdfs.useLocalTimeStamp = true
#生成的文件類型,預設是Sequencefile,可用DataStream,則為普通文本
a1.sinks.k1.hdfs.fileType = DataStream



# 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
mkdir /root/logs

 

啟動命令

bin/flume-ng agent -c conf -f conf/tail-hdfs.conf -n a1

 

exec source 可以執行一個shell命令 (tail -F sx.log) 實時採集文件數據變化

模擬數據生成的腳步:

while true;do date >> /root/logs/test.log;sleep 0.5;done

或

    #!/bin/bash

while true

do

  date >> /root/logs/test.log

  sleep 1

done

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1. Load 在將數據載入到表中時,Hive 不會進行任何轉換。載入操作是將數據文件移動到與 Hive表對應的位置的純複製/移動操作。 語法結構: 說明: 1、 filepath 相對路徑,例如:project/data1 絕對路徑,例如:/user/hive/project/data1 完整 U ...
  • 1.實現一個簡單的讀寫分離 這裡通過一個簡單的示例實現ProxySQL的讀寫分離功能,算是ProxySQL的快速入門。即使是快速入門,需要配置的內容也很多,包括:後端MySQL配置、監控配置、發送SQL語句的用戶、SQL語句的路由規則。所以,想要實現一個ProxySQL+MySQL,即使只實現最基本 ...
  • 1.ProxySQL簡介 之前的文章里,介紹了一個MySQL的中間件:MySQL Router。詳細內容參見: "MySQL Router實現MySQL的讀寫分離" 。 這裡準備用一個系列來詳細介紹一個能實實在在用在生產環境的MySQL中間件:ProxySQL。它有兩個版本:官方版和percona版 ...
  • Create database database name;//創建資料庫 Show databases dbName; //顯示所有資料庫 Create table tableName; //創建表 Show tables tName; //顯示所有表 Alter table oldName re... ...
  • DDL(數據定義語言)操作 Hive配置單元包含一個名為 default 預設的資料庫. create database [if not exists] <database name>; 創建資料庫 show databases | schemas; --顯示所有資料庫 drop database ...
  • 簡介 Hive 是基於 Hadoop 的一個數據倉庫工具,可以將結構化的數據文件 映射為一張資料庫表,並提供類 SQL 查詢功能。 本質是將 SQL 轉換為 MapReduce 程式。 Hive組件 用戶介面:包括 CLI、JDBC/ODBC、WebGUI。其中,CLI(command linein ...
  • 廣義上來說,Hadoop大數據平臺也可以看做是新一代的數據倉庫系統, 它也具有很多現代數據倉庫的特征,也被企業所廣泛使用。因為MPP架構的可擴展性,基於MPP的數據倉庫系統有時候也被劃分到大數據平臺類產品。 但是數據倉庫和Hadoop平臺還是有很多顯著的不同。針對不同的使用場景其發揮的作用和給用戶帶 ...
  • 問題是服務裡面mysql沒有啟動或者mysql服務丟失 解決辦法: 開始->運行->cmd,進到mysql安裝的bin目錄(以我的為例,我的安裝在D盤)D:\MySQL\bin>mysqld.exe -installService successfully installed. 這個時候刷新服務列表 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...