Flume配置|shell指令碼|python|SQL

來源:互聯網
上載者:User

標籤:

Flume是一種高可用的,高可靠的,分布式的海量日誌採集、彙總和傳輸的系統。

 

可以看一下模型:

 

每一個flume代理(agent)可以提供一項flume服務。每一個代理有三個成員:source、channel、sink

 

如所示,由source擷取資料並發送給channel,channel就好比一個緩衝區,由sink來從channel裡讀取資料。

---------------------------------------------- 

暫時沒有圖寫個思路先:

模型1:多source---1channel---1sink

模型2:單source---多channel---多sink

-----------------------------------------------

一個JVM環境僅僅只能運行一個agent

but..如果在同一台機器上起多個JVM環境則可以運行多個agent一樣的道理。

應用情境的話多資料來源接入且要匯入到同一類型sink且地址相同的不同路徑下(好吧我文法比較差不知道這句話怎麼描述,後續補圖)

關於多JVM環境啟動並執行話需要更深入的瞭解FLUME的配置..後續有時間瞭解一下。

==========================

關於FLUME的源碼,在flume官網上可以下載它的源碼包,用哪裡讀哪裡,對配置和使用的協助很大。

 

=============================================

關於shell指令碼:

if[[ $? -ne 0 ]]

$? :指的是上一條指令碼執行的返回結果,如上一條指令碼是一條基本的ls -l命令,如果成功查詢,當然返回就是0了,可如果出錯,傳回值不為0。

 

如果要修改某一檔案中的某一個欄位,或者某一行或某幾行,sed指令會幫上你大忙。

 

如果要擷取路徑:那麼pwd、dirname這些都是你的好幫手。

 

指令碼裡可以將你想要的到的結果直接賦值給變數,好像這樣:

hadoop_path=`hadoop fs -ls /path1/path2/path3/path4`

注意這裡的``可是數字1左邊的鍵呦。

得到這個path了以後我就可以判斷這個path是不是存在了呀呀呀。

 

活學活用活記。指令碼可以幹很多事。

 

====================================

SQL,如果別人寫了一條非常長非常長非常繞的SQL命令。

不要覺得看不懂,看不懂放到資料庫跑一把,就懂了。不要死死的一行一行盯著看,看半天也不會看出來的。浪費時間。

慢慢寫。

 

Flume配置|shell指令碼|python|SQL

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.