Flume基本使用--mysql数据输出

MySQL数据输出

在MySQL中建立数据库school,在数据库中建立表student。SQL语句如下:

python 复制代码
create database school;
use school;
create table student(
        id   int not null,
        name   varchar(40),
        age   int,
        grade   int,
        primary   key(id)
);

请使用Flume实时捕捉MySQL数据库中的记录更新,一旦有新的记录生成,就捕获该记录并显示到控制台。可以使用如下SQL语句模拟MySQL数据库中的记录生成操作。

python 复制代码
insert into   student(id,name,age,grade)value(1,'Xiaoming',23,98);

insert into   student(id,name,age,grade)value(2,'Zhangsan',24,96);

insert into   student(id,name,age,grade)value(3,'Lisi',24,93);

insert into   student(id,name,age,grade)value(4,'Wangwu',21,91);

insert into   student(id,name,age,grade)value(5,'Weiliu',21,91);

要求:

(1)给出配置文件

安装好flume-ng-sql-source-1.5.2.jar以及mysql-connector-java-8.0.23.jar

python 复制代码
#设置名称
a1.sources=r1
a1.sinks=k1
a1.channels=c1

#配置Source
a1.sources.r1.type=org.keedio.flume.source.SQLSource
a1.sources.r1.hibernate.connection.url=jdbc:mysql://localhost:3306/school
a1.sources.r1.hibernate.connection.user=root
a1.sources.r1.hibernate.connection.password=123456
a1.sources.r1.hibernate.connection.autocommit=true
a1.sources.r1.table=student
a1.sources.r1.run.query.delay=5000
a1.sources.r1.status.file.path=C:/software/apache-flume-1.9.0-bin
a1.sources.r1.status.file.name=a1.status

#配置Sink
a1.sinks.k1.type=logger

#配置channels
a1.channels.c1.type=memory

#绑定sink source到channels上
a1.sources.r1.channels=c1
a1.sinks.k1.channel=c1

(2)写出启动Flume的命令

新建一个cmd窗口,输入如下命令启动Flume:

> cd C:\apache-flume-1.9.0-bin

> .\bin\flume-ng agent --conf .\conf --conf-file .\conf\znconsole.conf --name a1 -property flume.root.logger=INFO,console

(3)在MySQL窗口中执行如下SQL语句,向数据库中插入记录后,在Flume窗口将运行结果展出来

建表,插入数据

Flume接收到数据,可以看到我在插入数据时还把自己的名字发过去了

相关推荐
写点什么呢17 小时前
Word使用记录
word·1024程序员节
开开心心就好18 小时前
内存清理工具点击清理,自动间隔自启
linux·运维·服务器·安全·硬件架构·材料工程·1024程序员节
开开心心就好2 天前
内存清理工具开源免费,自动优化清理项
linux·运维·服务器·python·django·pdf·1024程序员节
张萌杰5 天前
深度学习的基础知识(常见名词解释)
人工智能·深度学习·机器学习·1024程序员节
开开心心就好6 天前
免费无广告卸载工具,轻便安全适配全用户
linux·运维·服务器·网络·安全·启发式算法·1024程序员节
开开心心就好6 天前
图片格式转换工具,右键菜单一键转换简化
linux·运维·服务器·python·django·pdf·1024程序员节
徐子童9 天前
网络协议---TCP协议
网络·网络协议·tcp/ip·面试题·1024程序员节
扫地的小何尚10 天前
NVIDIA RTX PC开源AI工具升级:加速LLM和扩散模型的性能革命
人工智能·python·算法·开源·nvidia·1024程序员节
数据皮皮侠AI11 天前
上市公司股票名称相似度(1990-2025)
大数据·人工智能·笔记·区块链·能源·1024程序员节
开开心心就好12 天前
系统清理工具清理缓存日志,启动卸载管理
linux·运维·服务器·神经网络·cnn·pdf·1024程序员节