flume安装

1.解压安装包

bash 复制代码
sudo tar -zxvf apache-flume-1.7.0-bin.tar.gz -C /opt
//解压安装包
bash 复制代码
cd /opt
sudo mv apache-flume-1.7.0-bin flume
//修改文件名
bash 复制代码
sudo chown -R hadoop flume
//给予用户权限

2.配置环境变量

bash 复制代码
gedit ~/.bashrc
//打开配置文件
bash 复制代码
export FLUME_HOME=/opt/flume
export FLUME_CONF_DIR=$FLUME_HOME/conf
export PATH=$PATH:$FLUME_HOME/bin
//配置
bash 复制代码
source ~/.bashrc
//使环境生效

3.修改flume-env.sh配置文件

bash 复制代码
cd /opt/flume/conf
sudo cp flume-env.sh.template flume-env.sh
sudo vim flume-env.sh
//复制,打开配置文件

4.如果有hbase要进行下面的步骤

bash 复制代码
cd /opt/hbase/conf
sudo vim hbase-env.sh
//打开配置文件

5.查看版本信息

bash 复制代码
cd /opt/flume
./bin/flume-ng version
//查看版本信息

6.测试Flume

1.进入 Flume 安装目录

bash 复制代码
cd /opt/flume
//进入flume目录

2.创建 Flume 配置文件(定义 Agent 规则)

bash 复制代码
sudo vim conf/avro-source.conf
//创建配置文件
bash 复制代码
# 定义 Agent 名称为 a1,包含 1 个 Source、1 个 Channel、1 个 Sink
a1.sources = r1
a1.channels = c1
a1.sinks = k1

# 配置 Source(Avro 类型,监听本地 41414 端口)
a1.sources.r1.type = avro
a1.sources.r1.bind = localhost  # 绑定本地地址
a1.sources.r1.port = 41414      # 监听端口(自定义,需未被占用)

# 配置 Channel(内存通道,临时存储数据)
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000   # 通道最大缓存 1000 条数据
a1.channels.c1.transactionCapacity = 100  # 每次事务处理 100 条数据

# 配置 Sink(控制台输出,方便实时查看结果)
a1.sinks.k1.type = logger

# 绑定 Source → Channel → Sink 的关联关系
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1

//写入配置文件中

3.启动 Flume Agent(第一个终端保持运行)

bash 复制代码
/opt/jdk1.8.0_162/bin/java -Xmx20m -Dflume.root.logger=INFO,console -cp '/opt/flume/conf:/opt/flume/lib/*:/opt/hbase/conf:/opt/jdk1.8.0_162/lib/tools.jar:/opt/hbase/lib/shaded-clients/hbase-shaded-client-2.2.2.jar:/opt/hbase/lib/client-facing-thirdparty/audience-annotations-0.5.0.jar:/opt/hbase/lib/client-facing-thirdparty/commons-logging-1.2.jar:/opt/hbase/lib/client-facing-thirdparty/findbugs-annotations-1.3.9-1.jar:/opt/hbase/lib/client-facing-thirdparty/jetty-tracer-core-4.2.0-incubating.jar:/opt/hbase/lib/client-facing-thirdparty/log4j-1.2.17.jar:/opt/hbase/lib/client-facing-thirdparty/slf4j-api-1.7.25.jar:/opt/hbase/conf:/opt/hive/lib/*' -Djava.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib org.apache.flume.node.Application --name a1 --conf-file /opt/flume/conf/avro-source.conf
//启动flume agent(跳过jdk找不到的报错)

4.准备测试数据文件(打开第二个终端)

bash 复制代码
cd /tmp
echo "hello flume avro" > log.00
//创建测试数据文件

5.用 Flume 自带工具发送数据(第二个终端执行)

bash 复制代码
/opt/flume/bin/flume-ng avro-client --host localhost --port 41414 --filename /tmp/log.00
//用flume自带工具发送数据

6.验证测试结果(回到第一个 Agent 终端)

bash 复制代码
INFO sink.LoggerSink - Event: { headers:{} body: 68 65 6C 6C 6F 20 66 6C 75 6D 65 20 61 76 72 6F  hello flume avro }
//有类似输出即为成功
相关推荐
路边草随风42 分钟前
java 实现 flink cdc 读 mysql binlog 按表写入kafka不同topic
java·大数据·mysql·flink
safestar20121 小时前
Elasticsearch与SelectDB的正面对决:日志分析场景的架构深度调优与选型指南
大数据·elasticsearch·架构
老蒋新思维2 小时前
创客匠人峰会复盘:AI 时代知识变现,从流量思维到共识驱动的系统重构
大数据·人工智能·tcp/ip·重构·创始人ip·创客匠人·知识变现
东哥说-MES|从入门到精通9 小时前
GenAI-生成式人工智能在工业制造中的应用
大数据·人工智能·智能制造·数字化·数字化转型·mes
万岳软件开发小城10 小时前
教育APP/小程序开发标准版图:课程、题库、直播、学习一站式梳理
大数据·php·uniapp·在线教育系统源码·教育app开发·教育软件开发
STLearner11 小时前
AI论文速读 | U-Cast:学习高维时间序列预测的层次结构
大数据·论文阅读·人工智能·深度学习·学习·机器学习·数据挖掘
数字化顾问11 小时前
(65页PPT)大型集团物料主数据管理系统建设规划方案(附下载方式)
大数据·运维·人工智能
老蒋新思维12 小时前
创客匠人 2025 全球创始人 IP+AI 万人高峰论坛:AI 赋能下知识变现与 IP 变现的实践沉淀与行业启示
大数据·人工智能·网络协议·tcp/ip·重构·创始人ip·创客匠人
河南博为智能科技有限公司13 小时前
高集成度国产八串口联网服务器:工业级多设备联网解决方案
大数据·运维·服务器·数据库·人工智能·物联网