2013-05-18 36 views
-2

我是新來的水槽,所以請告訴我...如何使用水槽將本地機器的日誌文件存儲到本地我的HDFS 我在設置classpath和水槽方面存在問題.conf文件如何使用水槽從本地機器加載數據到hdfs

謝謝 阿賈伊

+0

你剛剛做了什麼,以及什麼是你的enco錯誤/問題untering? – larsen

+0

@peter先生謝謝你的迴應......我有1個「.tsv」文件,我試圖用flume將這個文件加載到hdfs中,現在我得到這樣的錯誤「如果你有conf文件,你必須將它包含在槽中班級路徑「。我跟隨的用戶指南和亞倫金博爾水槽視頻 –

回答

0

我們確實需要更多的信息,知道爲什麼事情爲你工作。

簡短的回答是,你需要一個源從(也許是假脫機目錄源)中讀取數據,一個通道(內存通道,如果你並不需要可靠的存儲)和HDFS下沉。

更新

收到錯誤消息OP報道,「你必須在水槽類路徑的conf文件」。

您需要提供conf文件作爲參數。您可以使用--conf-file參數。例如,我在開發中使用的命令行是:因爲bin/flume-ng腳本運行之前水槽添加--conf-file參數到classpath的內容 bin/flume-ng agent --conf-file /etc/flume-ng/conf/flume.conf --name castellan-indexer --conf /etc/flume-ng/conf

錯誤信息讀取方式。

+0

先生感謝您的答覆。我花了一個「.tsv格式」文件作爲來源,我設置水槽主節點,水槽exactly.when我試圖加載該文件到HDFS我遇到以下「你必須在flume類路徑中包含conf文件」....所以我不知道如何解決這個問題,我正在關注flume用戶指南和aaron kimball的視頻....請幫助我 –

0

如果要將數據添加到您的本地文件,你可以使用帶有「尾巴-F」命令執行exec源。如果文件是靜態的,則使用cat命令將數據傳輸到hadoop。

整體架構將是:

來源:從文件

頻道Exec的源讀取數據:要麼存儲器信道或文件通道

水槽:HDFS水槽數據被傾倒在哪裏。

使用用戶指南創建您的conf文件(https://flume.apache.org/FlumeUserGuide.html

一旦你有你的conf文件準備好了,你可以這樣運行:

bin/flume-ng agent -n $agent_name -c conf -f conf/your-flume-conf.conf 
0
agent.sources = weblog 
agent.channels = memoryChannel 
agent.sinks = mycluster 

## Sources ######################################################### 
agent.sources.weblog.type = exec 
agent.sources.weblog.command = tail -F REPLACE-WITH-PATH2-your.log-FILE 
agent.sources.weblog.batchSize = 1 
agent.sources.weblog.channels = 
REPLACE-WITH- 
CHANNEL-NAME 

## Channels ######################################################## 
agent.channels.memoryChannel.type = memory 
agent.channels.memoryChannel.capacity = 100 agent.channels.memoryChannel.transactionCapacity = 100 

## Sinks ########################################################### 
agent.sinks.mycluster.type =REPLACE-WITH-CLUSTER-TYPE 
agent.sinks.mycluster.hdfs.path=/user/root/flumedata 
agent.sinks.mycluster.channel =REPLACE-WITH-CHANNEL-NAME 

保存此文件作爲logagent。 conf並按照以下命令運行

# flume-ng agent –n agent –f logagent.conf & 
相關問題