大數據【八】Flume部署

来源:http://www.cnblogs.com/1996swg/archive/2017/08/07/7294667.html
-Advertisement-
Play Games

如果說大數據中分散式收集日誌用的是什麼,你完全可以回答Flume!(面試小心問到哦) 首先說一個複製本伺服器文件到目標伺服器上,需要目標伺服器的ip和密碼: 命令: scp filename ip:目標路徑 一 概述 Flume是Cloudera提供的一個高可用的,高可靠的,分散式的海量日誌採集、聚 ...


如果說大數據中分散式收集日誌用的是什麼,你完全可以回答Flume!(面試小心問到哦)

首先說一個複製本伺服器文件到目標伺服器上,需要目標伺服器的ip和密碼:

命令:  scp  filename   ip:目標路徑

一  概述

Flume是Cloudera提供的一個高可用的,高可靠的,分散式的海量日誌採集、聚合和傳輸的系統,Flume支持在日誌系統中定製各類數據發送方,用於收集數據;同時,Flume提供對數據進行簡單處理,並寫到各種數據接受方(可定製)的能力。

Flume提供對數據進行簡單處理,並寫到各種數據接受方(可定製)的能力 Flume提供了從console(控制台)、RPC(Thrift-RPC)、text(文件)、tail(UNIX tail)、syslog(syslog日誌系統,支持TCP和UDP等2種模式),exec(命令執行)等數據源上收集數據的能力。

當前Flume有兩個版本Flume 0.9X版本的統稱Flume-og,Flume1.X版本的統稱Flume-ng。由於Flume-ng經過重大重構,與Flume-og有很大不同,使用時請註意區分。

Flume-og採用了多Master的方式。為了保證配置數據的一致性,Flume引入了ZooKeeper,用於保存配置數據,ZooKeeper本身可保證配置數據的一致性和高可用,另外,在配置數據發生變化時,ZooKeeper可以通知Flume Master節點。Flume Master間使用gossip協議同步數據。

Flume-ng最明顯的改動就是取消了集中管理配置的 Master 和 Zookeeper,變為一個純粹的傳輸工具。Flume-ng另一個主要的不同點是讀入數據和寫出數據現在由不同的工作線程處理(稱為 Runner)。 在 Flume-og 中,讀入線程同樣做寫出工作(除了故障重試)。如果寫出慢的話(不是完全失敗),它將阻塞 Flume 接收數據的能力。這種非同步的設計使讀入線程可以順暢的工作而無需關註下游的任何問題。

Flume以agent為最小的獨立運行單位。一個agent就是一個JVM。單agent由Source、Sink和Channel三大組件構成。

二  啟動Flume集群

1‘  首先,啟動Hadoop集群(詳情見前博客)。

2’  其次,(剩下的所有步驟只需要在master上操作就可以了)安裝並配置Flume任務,內容如下:

    將Flume 安裝包解壓到/usr/cstor目錄,並將flume目錄所屬用戶改成root:root

        tar -zxvf flume-1.5.2.tar.gz -c /usr/cstor

        chown -R root:root /usr/cstor/flume

      

3‘  進入解壓目錄下,在conf目錄下新建test.conf文件並添加以下配置內容:

 1 #定義agent中各組件名稱
 2 agent1.sources=source1
 3 agent1.sinks=sink1
 4 agent1.channels=channel1
 5 # source1組件的配置參數
 6 agent1.sources.source1.type=exec
 7 #此處的文件/home/source.log需要手動生成,見後續說明
 8 agent1.sources.source1.command=tail -n +0 -F /home/source.log
 9 # channel1的配置參數
10 agent1.channels.channel1.type=memory
11 agent1.channels.channel1.capacity=1000
12 agent1.channels.channel1.transactionCapactiy=100
13 # sink1的配置參數
14 agent1.sinks.sink1.type=hdfs
15 agent1.sinks.sink1.hdfs.path=hdfs://master:8020/flume/data
16 agent1.sinks.sink1.hdfs.fileType=DataStream
17 #時間類型
18 agent1.sinks.sink1.hdfs.useLocalTimeStamp=true
19 agent1.sinks.sink1.hdfs.writeFormat=TEXT
20 #文件首碼
21 agent1.sinks.sink1.hdfs.filePrefix=%Y-%m-%d-%H-%M
22 #60秒滾動生成一個文件
23 agent1.sinks.sink1.hdfs.rollInterval=60
24 #HDFS塊副本數
25 agent1.sinks.sink1.hdfs.minBlockReplicas=1
26 #不根據文件大小滾動文件
27 agent1.sinks.sink1.hdfs.rollSize=0
28 #不根據消息條數滾動文件
29 agent1.sinks.sink1.hdfs.rollCount=0
30 #不根據多長時間未收到消息滾動文件
31 agent1.sinks.sink1.hdfs.idleTimeout=0
32 # 將source和sink 綁定到channel
33 agent1.sources.source1.channels=channel1
34 agent1.sinks.sink1.channel=channel1

4'  然後,在HDFS上創建/flume/data目錄:

      cd /usr/cstor/hadoop/bin

      ./hdfs dfs -mkdir /flume

      ./hdfs dfs -mkdir /flume/data

5'  最後,進入Flume安裝的bin目錄下

      cd /usr/cstor/flume/bin

6'  啟動Flume,開始收集日誌信息。

      ./flume-ng agent --conf conf --conf-file /usr/cstor/flume/conf/test.conf --name agent1 -Dflume.root.logger=DEBUG,console

      !!!>>運行此命令有時候會出現一個許可權問題,此時需要用命令   chmod o+x  flume-ng

    如果正常運行,最後悔顯示  started,如圖:

三  收集日誌

1’  啟動成功之後需要手動生成消息源即配置文件中的/home/source.log,使用如下命令去不斷的寫入文字到/home/source.log中:

      

2'  到此就可以去查看生成結果:

      

 

小結:

  這隻是配置Flume,然後簡單的讀寫日誌。想要深入下去,還要收集更複雜,更龐大的日誌

 

       

      

 


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

-Advertisement-
Play Games
更多相關文章
  • 平時我都用Navicat for MySQL工具進行導入的,但今天碰到的一個.sql的文件太大了,超過了1G。用Navicat from MySQL 時執行了1個多小時,還報了許多錯誤出來(導入時設置略過錯誤,所以最終還是完成了)。我嘗試用別的方式進行導入。上網查了一個,原來MySQL自帶導入工作: ...
  • --用oracle系統許可權的賬號 登陸 -- 1.創建用戶 --2.賦予許可權 --3.創建目錄 dictionary create directory directory_name as 'D:\oracleEnv\Oracle\product\11.2.0\db\backup'; --路徑可以自己 ...
  • 本文旨在展示CDH基於Kerberos身份認證和基於Sentry的許可權控制功能的測試示例。 1. 準備測試數據 1 2 3 4 5 6 cat /tmp/events.csv 10.1.2.3,US,android,createNote 10.200.88.99,FR,windows,updateN ...
  • 情景進入 情境進入: 今天調試某查詢頁面,偶爾發現一個問題,剛剛插入的數據,沒有正常排序顯示,經過後臺調試sql,發現一個問題??? 經過上面紅色對比,不知道你發現問題沒,Order by 只是多一個欄位,順序居然不一樣,在我看來,是不是今天出門沒看黃曆,見鬼了,哈哈。。。。。 怎麼想也不明白了,後 ...
  • 談起刷LeetCode的心得,想要先扯點別的,說實話我是比較自虐的人,大學時候本專業從來不好好上,一直覬覦著別人的專業,因為自己文科生,總覺得沒有項技術在身出門找工作都沒有底氣,然後看什麼炫學什麼,簡直沒有目的和節操,覺得平面設計美就去狂記色號(當然不是 ,十六進位顏色碼這個名字太長我想簡稱色號), ...
  • 全球領先的企業商業智能(BI)軟體提供商Pyramid Analytics與微軟聯手,憑藉完善的分析平臺BI Office強化Power BI Desktop的個人生產力功能。新的“Publish to Pyramid Server”功能通過基於web的內部或私有雲平臺,允許用戶將報告和可視化內容發 ...
  • SQL Server中授予用戶查看對象定義的許可權 在SQL Server中,有時候需要給一些登錄名(用戶)授予查看所有或部分對象(存儲過程、函數、視圖、表)的定義許可權存。如果是部分存儲過程、函數、視圖授予查看定義的許可權,那麼就像下麵腳本所示,比較繁瑣: GRANT VIEW DEFINITION O... ...
  • SQL Server授予用戶訪問對象的許可權,通常的模式是:Grants permissions on a securable to a principal(user or login),也就是說,授予許可權的命令分為三部分:Permission,Securable 和 Principal,用一句話來解 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...