IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: 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采集数据的脚本文件,脚本文件我们一般叫xxx.conf这样的文件,这个脚本文件中配置的是flume采集框架中的source连接的数据源、sink连接的目的地,以及source和channel\sink如何连接,配置文件编写完成,然后使用Flume相关命令启动即可实现数据采集。

????????其具体使用可参考官网http://flume.apache.org/documentation.html,选择Flume Developer Guide开发者模式。(也可在linux目录/flume-1.8.0/docs下查看)

?一、案例:监控端口数据

目标:Flume监控一端Console,另一端Console发送消息,使被监控端实时显示。

(1)在/opt/data下创建flume01.conf(Flume Agent配置文件)

?????????在大数据中,想这样的配置文件算小的了。解释一下:

?????? (1) 前三行是创建一个flume采集程序,程序名为a1,同时给程序中的source、sink、channel组件起别名r1、k1、c1。

?????? (2) 接着三行是用来配置source连接的数据源来自什么地方。

a1.sources.r1.type = netcat?????????????????? netcat代表连接的数据源是一个网络端口

a1.sources.r1.bind = localhost????????????? 连接的端口绑定的ip地址

a1.sources.r1.port = 44444????????????????? 连接的端口号

??????? (3)接下来是sink将数据发送到的位置。

a1.sinks.k1.type = logger ?? 发送到日志记录中,如果日志在控制台打印,那就在控制台显示

????????(4)channel缓冲池的相关配置

a1.channels.c1.type = memory?????????????????????? 缓冲池是在内存中缓冲的

a1.channels.c1.capacity = 1000???????????????????? 缓冲池最多可以存放多少个event

a1.channels.c1.transactionCapacity = 100???? 缓冲池一次给sink多少个event

??????? (5)最后两行将一个Flume程序中source和channel,还有channel和sink连接起来

(2)启动flume(一个进程称为一个月agent)

flume-ng agent -n a1 -f flume01.conf -Dflume.root.logger=INFO,console

?创建成功,如图:

?(3)再开个窗口,给127.0.0.1:44444发数据

首先连接端口(telnet)

先安装telnet工具

yum install -y telnet

再查看127.0.0.1:44444是否被占用

netstat -tunlp | grep 44444

?除了被监听着,没有再被占用了。

先开启flume先听端口

使用telnet工具向本机的44444端口发送内容

telnet localhost 44444

?成功连接。

?(4)输入数据测试

在第二次开启的窗口(telnet)中输入ls

?在最先打开的窗口查看到:

?看到控制台上Event中有ls传来。

多次测试:

?查看第一个窗口:

?ctrl+c结束。

?此案例必须先开启flume监听再去连接端口。

?二、案例:实时读取本地文件到HDFS

目标:实时监控hive日志,并上传到HDFS中

?此案例相当于flume的source连接本地文件,sink连接HDFS

(1)创建flume02.conf文件

?解释一下:

a2.sources.r2.type = exec????????????????????????????? exec代表监听的是一个linux的可执行命令

a2.sources.r2.command = tail -F /opt/module/zookeeper/logs

????????代表监听的命令是tail -F: 监听文件数据动态变化,此时监听的是zookeeper下的logs的zookeeper-root-server-node1.out文件(此处把上面截图的地址修改了)

# Describe the sink

a2.sinks.k2.type = hdfs

a2.sinks.k2.hdfs.path = hdfs://192.168.100.4:9000/flume/%Y%m%d/%H

此句代表上传到hdfs的指定路径下,192.168.100.4:9000为hdfs路径

?(2)启动监听

flume-ng agent -n a2 -f flume02.conf -Dflume.root.logger=INFO,console

?(3)使用zookeeper

????????启动zookeeper的同时就会产生logs日志文件。我们设置flume的生成新文件的时间为600(10分钟),十分钟后控制台才会有回应。这样本地文件数据就上传到HDFS上了。

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-08-29 21:52:17  更:2021-08-29 21:52:21 
 
开发: 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/23 16:50:44-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码