Flume安装配置
简介
Apache Flume 是一个分布式、可靠、高可用的服务,用于有效地收集、聚合和移动大规模数据。Flume 主要用于大数据环境下的日志收集和数据传输,能够帮助用户实现数据流的可靠传输和集中处理。
flume安装配置
解压安装包
tar -zxvf apache-flume-1.9.0-bin.tar.gz -C /opt/module
配置环境变量
vi /etc/profile
export FLUME_HOME=/opt/module/apache-flume-1.9.0-bin
export PATH=$PATH:$FLUME_HOME/bin
#刷新环境变量
source /etc/profile
配置flume
进入到解压后的flume目录,找到conf文件夹。找到 flume-env.sh.template
文件,将其复制并重命名为 flume-env.sh
cd /opt/module/apache-flume-1.9.0-bin/conf
cp flume-env.sh.template flume-env.sh
编辑 flume-env.sh
文件,设置 JAVA_HOME
为系统中 Java 的安装路径:
export JAVA_HOME=/path/to/your/java
配置Flume Agent
在conf
文件夹中。创建一个新的Flume配置文件,例如my-flume-agent.conf
。编辑这个文件并添加相应的Flume Agent配置。
a1.sources = r1
a1.sinks = k1
a1.channels = c1
a1.sources.r1.type = exec
a1.sources.r1.command = tail -F /opt/module/hadoop-3.1.3/logs/hadoop-root-namenode-master.log
a1.sinks.k1.type = hdfs
a1.sinks.k1.hdfs.path = hdfs://master:9000/tmp/flume/%Y%m%d
a1.sinks.k1.hdfs.filePrefix = log-
a1.sinks.k1.hdfs.fileType = DataStream
a1.sinks.k1.hdfs.useLocalTimeStamp = true
a1.channels.c1.type = memory
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1
解决jar包冲突问题
如果你使用的hadoop版本为3.0以上,就需要执行此步骤。jar包冲突问题(guava-27.0-jre.jar)在hadoop和flume中选择较高版本进行替换
hadoop下的jar包存在位置:
/opt/module/hadoop-3.1.3/share/hadoop/common/lib/
flume下的jar包存在位置:
/opt/module/apache-flume-1.9.0-bin/lib
cp /opt/module/hadoop-3.1.3/share/hadoop/common/lib/guava-27.0-jre.jar /opt/module/apache-flume-1.9.0-bin/lib/
复制过去后进入到flume下的jar包路径下,删除低版本的jar包
cd /opt/module/apache-flume-1.9.0-bin/lib
rm -rf guava-19.0-jre.jar
在HDFS上创建目录
hdfs dfs -mkdir -p /tmp/flume
运行Flume Agent
flume-ng agent --conf conf/ --conf-file /opt/flume/conf/my-flume-agent.conf --name a1 -Dflume.root.logger=INFO,console
or:
flume-ng agent --conf conf/ --conf-file /opt/flume/conf/my-flume-agent.conf --name a1 -Dflume.root.logger=DEBUG,console
查看生成的文件
hdfs dfs -ls /tmp/flume
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通