如何使用flume将数据从本地计算机加载到hdfs

yyhrrdl8  于 2021-06-03  发布在  Hadoop
关注(0)|答案(3)|浏览(323)

我是新来的,所以请告诉我…如何存储日志文件从我的本地机器到本地我的hdfs使用flume我有问题,在设置classpath和flume.conf文件
谢谢你,阿杰

5cnsuln7

5cnsuln71#

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 &
qf9go6mv

qf9go6mv2#

如果要将数据附加到本地文件,可以使用带有“tail-f”命令的exec源代码。如果文件是静态的,使用cat命令将数据传输到hadoop。
总体架构将是:
source:exec source从文件中读取数据
通道:内存通道或文件通道
sink:数据转储的hdfs接收器。
使用用户指南创建conf文件(https://flume.apache.org/flumeuserguide.html)
一旦您准备好了conf文件,就可以这样运行它:

bin/flume-ng agent -n $agent_name -c conf -f conf/your-flume-conf.conf
bgtovc5b

bgtovc5b3#

我们确实需要更多的信息来知道为什么事情对你有用。
简而言之,您需要一个源来读取数据(可能是假脱机目录源)、一个通道(如果不需要可靠存储,则为内存通道)和hdfs接收器。
更新
op报告接收到错误消息,“您必须在flume类路径中包含conf文件”。
您需要提供conf文件作为参数。你这样做是因为 --conf-file 参数。例如,我在开发中使用的命令行是: bin/flume-ng agent --conf-file /etc/flume-ng/conf/flume.conf --name castellan-indexer --conf /etc/flume-ng/conf 错误消息是这样读的,因为 bin/flume-ng 脚本添加 --conf-file 在运行flume之前将参数设置为类路径。

相关问题