我是新來的水槽,所以請告訴我...如何使用水槽將本地機器的日誌文件存儲到本地我的HDFS 我在設置classpath和水槽方面存在問題.conf文件如何使用水槽從本地機器加載數據到hdfs
謝謝 阿賈伊
我是新來的水槽,所以請告訴我...如何使用水槽將本地機器的日誌文件存儲到本地我的HDFS 我在設置classpath和水槽方面存在問題.conf文件如何使用水槽從本地機器加載數據到hdfs
謝謝 阿賈伊
我們確實需要更多的信息,知道爲什麼事情爲你工作。
簡短的回答是,你需要一個源從(也許是假脫機目錄源)中讀取數據,一個通道(內存通道,如果你並不需要可靠的存儲)和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
錯誤信息讀取方式。
先生感謝您的答覆。我花了一個「.tsv格式」文件作爲來源,我設置水槽主節點,水槽exactly.when我試圖加載該文件到HDFS我遇到以下「你必須在flume類路徑中包含conf文件」....所以我不知道如何解決這個問題,我正在關注flume用戶指南和aaron kimball的視頻....請幫助我 –
如果要將數據添加到您的本地文件,你可以使用帶有「尾巴-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
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 &
你剛剛做了什麼,以及什麼是你的enco錯誤/問題untering? – larsen
@peter先生謝謝你的迴應......我有1個「.tsv」文件,我試圖用flume將這個文件加載到hdfs中,現在我得到這樣的錯誤「如果你有conf文件,你必須將它包含在槽中班級路徑「。我跟隨的用戶指南和亞倫金博爾水槽視頻 –