1. 程式人生 > >玩轉Flume+Kafka原來也就那點事兒

玩轉Flume+Kafka原來也就那點事兒

作者介紹 

程超易寶支付架構師,10年JAVA工作經驗,擅長分散式和大資料技術領域,目前主要從事金融支付類方效能分析向。

  一、Flume介紹

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


設計目標:


(1) 可靠性


當節點出現故障時,日誌能夠被傳送到其他節點上而不會丟失。Flume提供了三種級別的可靠性保障,從強到弱依次分別為:end-to-end(收到資料agent首先將event寫到磁碟上,當資料傳送成功後,再刪除;如果資料傳送失敗,可以重新發送。),Store on failure(這也是scribe採用的策略,當資料接收方crash時,將資料寫到本地,待恢復後,繼續傳送),Best effort(資料傳送到接收方後,不會進行確認)。

(2) 可擴充套件性


Flume採用了三層架構,分別為agent,collector和storage,每一層均可以水平擴充套件。其中,所有agent和collector由master統一管理,這使得系統容易監控和維護,且master允許有多個(使用ZooKeeper進行管理和負載均衡),這就避免了單點故障問題。

(3) 可管理性


所有agent和colletor由master統一管理,這使得系統便於維護。多master情況,Flume利用ZooKeeper和gossip,保證動態配置資料的一致性。使用者可以在master上檢視各個資料來源或者資料流執行情況,且可以對各個資料來源配置和動態載入。Flume提供了web 和shell script command兩種形式對資料流進行管理。

(4) 功能可擴充套件性


使用者可以根據需要新增自己的agent,collector或者storage。此外,Flume自帶了很多元件,包括各種agent(file, syslog等),collector和storage(file,HDFS等)。

  二、Flume的一些核心概念

\

  三、Flume的整體構成圖

\

注意:

  1. 源將事件寫到一個多或者多個通道中。

  2. 接收器只從一個通道接收事件。

  3. 代理可能會有多個源、通道與接收器。

  四、Flume環境配置

\

安裝包內容如下:

\

配置檔案

  • 常用配置模式一

掃描指定檔案

\

  • 常用配置模式二

\

  • 常用配置模式三

\

我們今天重點使用第一種模式,因為要與Kafka相結合。


配置好引數以後,回到如下目錄:

\

使用如下命令啟動Flume:

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

\

最後一行顯示Component type:SINK,name:k1 started表示啟動成功。

在啟動Flume之前,Zookeeper和Kafka要先啟動成功,不然啟動Flume會報連不上Kafka的錯誤。

1、使用./zkServer.sh start啟動zookeeper。

\

3、使用Kafka預設提供的Consumer來接收訊息

\

4、編寫簡單Shell指令碼output.sh,並修改許可權為可執行許可權

\

迴圈向abc.log檔案插入test文字訊息。


5、執行output.sh。

\

整個過程流程如下:

\

至此簡單的使用介紹已經講完,關於Flume還有非常多的屬性和配置技巧需要我們去挖掘,我們以此文章作為開篇為的是為以後原始碼分析作為鋪墊。

向原作者表示感謝!!!

相關推薦

Flume+Kafka原來事兒

作者介紹  程超,易寶支付架構師,10年JAVA工作經驗,擅長分散式和大資料技術領域,目前主要從事金融支付類方效能分析向。   一、Flume介紹 Flume是一個分散式、可靠、和高可用的海量日誌聚合的系統,支援在系統中定製各類資料傳送方,用於收集資料;同時,Fl

flume+Kafka配置

一、FLUME介紹 Flume是一個分散式、可靠、和 高可用 的海量日誌聚合的系統,支援在系統中定製各類資料傳送方,用於收集資料;同時,Flume提供對資料進行簡單處理,並寫到各種資料接受方(可定製)的能力。 設計目標: (1) 可靠性 當節點出現故障時,日誌能夠被傳

iOS應用支援IPV6,事兒

果然是蘋果打個哈欠,iOS行業內就得起一次風暴呀。自從5月初Apple明文規定所有開發者在6月1號以後提交新版本需要支援IPV6-Only的網路,大家便開始熱火朝天的研究如何支援IPV6,以及應用中哪些模組目前不支援IPV6。 一、IPV6-Only支援是啥? 首

DJL 之 Java 多維陣列,像 NumPy 一樣

> 本文適合有 Java 基礎的人群 ![](https://img2020.cnblogs.com/blog/759200/202009/759200-20200902192041033-519825032.png) 作者:**DJL-Lanking** HelloGitHub 推出的[《講解開

談談源碼管理事兒(一)——源碼管理十誡(

我不 evel .html 文件夾 jetbrains enable thum XML 構建 引言: 若是還有能夠毫無偏見地涉及各個編程語言。比源碼管理軟件更必要的工具。我倒是非常想見識一下。源碼管理軟件是我們工作的必備工具,是很多開發團隊的血液。那為什麽我們都

Maven 事兒

做到 conn active cep ant tab name www color 0. 前言 Jason Van Zyl,在 Java 十大風雲人物排行榜上或許會看到他。 這兄弟是幹嘛的? 他就是 Maven 的創始人,人們都尊稱他為“Maven 他爸&

[]程式設計師接私活

雖然說程式設計師都很累,但是熱愛程式設計師的人又累得其所,所以雖然很多程式設計師都很忙,加班是常事,但是錢哪有掙夠的啊,閒不住的程式設計師總想著乾點私活賺點外快。私活可能確實是比做個小軟體加上廣告來錢來的快,但是以目前或將來的趨勢真心不適合單獨的個人開發者來做,

cocos2d-x之三十】九圖和輸入框的使用

登入介面一個帳號/密碼輸入框或者主角命名框是少不了的。這節就來了解一下點九圖的輸入框的使用。這裡只是介紹基礎知識,並不進行平臺的移植,也不處理跨平臺可能出現的問題。 1.點九圖CCScale9S

談談原始碼管理事兒(一)——原始碼管理十誡(

引言:  若是還有可以毫無偏見地涉及各個程式語言,比原始碼管理軟體更必要的工具,我倒是很想見識一下。原始碼管理軟體是我們工作的必備工具,是許多開發團隊的血液。那為什麼我們都會對它有所誤解呢?為什麼都很難理解版本控制系統的核心價值和基本原理呢?  原文作者總結出10條慣例(如

《開源框架事兒19》:特斯拉建“樁”與開源的生命力

充電站 otto 期權 eas gb2 平臺 程序 蘋果 名詞 在美國的矽谷,在中國的中關村,很多的技術先驅者懷揣夢想。用激情不懈地追求著他們宏遠的目標和巨大的個人財富。開源。正在成為這個時代眼下最火熱的名詞之中的一個。開源精神,作為一種合作協同的驅動力,正在發展為一種更

《開源框架事兒25》:對框架模板引擎實現方式的改造實錄

port 內嵌 代碼調試 iter put 文件路徑 children nts fault 點滴悟透設計思想,Tiny模板引擎優化實錄! 增加框架設計興趣小組:http://bbs.tinygroup.org/group-113-1.html Tiny模板引擎的實

關於LOG事兒

java;源碼時代日誌,作為記錄系統中硬件、軟件和系統問題的信息,同時還可以監視系統中發生的事件,是產品運維中非常重要的數據之一,用戶可以通過它來檢查錯誤發生的原因,或者尋找受到攻擊時攻擊者留下的痕跡。日誌根據程序和不同領域,可分為消息日誌,事件日誌,數據庫日誌等等。對於Java工程師而言,程序代碼的日誌是由

css中關於居中的事兒

效果圖 單元格 meta 得到 部分 邊距 絕對定位 lin ble   關於居中,無論是水平居中,還是垂直居中都有很多方式,下面我來介紹一些常用的。 第一部分:水平居中   1.實現行內元素的居中。方法:在行內元素外面的塊元素的樣式中添加:text-align:cen

MVC之前的事兒 ---- 系列文章

需要 cnblogs post omx pip 實現原理 內容 activator div MVC之前的那點事兒系列,是筆者在2012年初閱讀MVC3源碼的時候整理的,主要講述的是從HTTP請求道進入MVCHandler之前的內容,包括了原創,翻譯,轉載,整理等各類型文

php curl事兒

func utf8 格式 姓名 url orm peer div 是否 curl是最常用功能之一初始化句柄 $ch = curl_init(); post 傳$data 1. 如果$data是字符串,則Content-Type是application/x-ww

反編譯事兒

kms ros ogr files 位置 file bsp 所在 命令 1.ildasm.exe 所在文件夾位置 C:\Program Files (x86)\Microsoft SDKs\Windows 2.ilasm.exe 所在文件夾位置:cd C:\Windows

聊聊Cisco 3650交換機系統升級事兒

roc ase necessary 文件 -i 文章 ota catalyst ive 說起思科的交換機升級,大多數人想到的是以下幾步:(1)把系統.bin文件通過TFTP或是FTP上傳到交換機中(2)將原有.bin文件刪除,重啟(或是手動設置引導順序)(3)重啟後升級完成

importnew:Map大家族的事兒

.html dha osc lan hash jdk7 .net href head Map大家族的那點事兒(1) :Map Map大家族的那點事兒(2) :AbstractMap Map大家族的那點事兒(3) :TreeMap Map大家族的那點事兒(4) :HashMa

操作系統和Web服務器事兒

memory ... 還需 不同 圖片 web kill -o 傷感 又一個進程啟動了,操作系統老大嘆了一口氣,畢竟自己的肩頭又多了一份責任。 讓人煩惱的是,新來的家夥們很無知,幾乎就是一張白紙。有些老實本分的會按照自己的規矩來做事,有些刺頭兒喜歡問這問那,時不時還想搞點非

從瘋漲的房租說起,聊聊資源優化配置事兒

工資 cati tee 沒有 獲得 互聯網 nat 二手 cloud 房子,毫無疑問是一種資源。而圍繞房地產交易所存在的公司,不論傳統的中介公司也好,還是新湧現的長租公司也好,其本身存在的價值應該是降低買賣雙方的信息不對稱程度,撮合供需兩端,從而達到房子這種資源的“最優”配