| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> flume -> 正文阅读 |
|
[大数据]flume |
一.Flume架构 flume是通过flume agent进行数据的采集、传送工作的。Flume agent可以理解为flume中的一个基本单元,它包含source、channel、sink三个部分。 Source用于数据采集工作,将采集到的数据传送到channel中。 Channel是一个通道,连接source和sink,用于数据的传送。 Sink用来消费channel中的数据,可以将数据持久化或者将数据传送给另一个source。 二.Flume Agent FlumeAgent包含三个部分,Source、Channel和Sink。 1.Source Agent Source可以有很多种类,比如Avro Source、Thrift Source、Exec Source、Kafka Source、Http Source,以及自定义Source等。可以根据不同的场景选用合适的Source。 2.Channel Channel同样有很多的种类,比如Memory Channel、JDBC Channel、Kafka Channel、File Channel等。同样也可以自定义Channel。 3.Sink Sink也是有很多种类,包括HDFS Sink、Hive Sink、Logger Sink、Avro Sink、Kafka Sink、Http Sink、ElasticSearch Sink等等,同样可以根据需要自定义Sink。 三.如何自定义Source 首先创建一个java工程,引入flume依赖包。
然后创建java类,继承AbstractSource、实现Configurable、PollableSource接口。 PollableSource接口代表该Source是轮询拉取类型。我们也可以创建事件驱动类型的Source,实现EventDriveSource即可。两者的区别在于PollableSource是通过线程不断去调用process方法,主动拉取消息,而EventDrivenSource是需要触发一个调用机制,即被动等待。实现Configurable接口,以便在项目中初始化某些配置用的。 然后将我们打的jar包放到flume的lib目录下,如果有依赖jar包,也需要将依赖包放在lib目录下,如果有配置文件,需要在flume的bin目录中将配置文件或文件夹放进去,因为我们flume的启动入口就是bin目录下面的flume-ng文件。 接下来编写flume配置文件。将source类型定义为我们自定义的source。如下:
然后就可以启动flume程序了。进入flume目录,然后执行以下命令: bin/flume-ng agent –c conf –f conf/test-mysource.conf –n a1 agent 代表的是我们要创建一个flume agent。 -c 用于指定配置文件目录 -f 指定使用的配置文件 -n 是启动的agent的名称,需要和配置文件中的agent名称一致 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 4:54:42- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |