广告
返回顶部
首页 > 资讯 > 数据库 >Flume的安装及使用
  • 836
分享到

Flume的安装及使用

Flume的安装及使用 2015-07-16 23:07:18 836人浏览 才女
摘要

Flume的安装及使用 目录Flume的安装及使用Flume的安装1、上传至虚拟机,并解压2、重命名目录,并配置环境变量3、查看flume版本4、测试flume5、flume的使用 Flume的安装 1、上传至虚拟机,并解压 tar -z

Flume的安装及使用

Flume的安装及使用

目录
  • Flume的安装及使用
    • Flume的安装
      • 1、上传至虚拟机,并解压
      • 2、重命名目录,并配置环境变量
      • 3、查看flume版本
      • 4、测试flume
      • 5、flume的使用

Flume的安装

1、上传至虚拟机,并解压

tar -zxvf apache-flume-1.9.0-bin.tar.gz -C /usr/local/soft/

在环境变量中增加如下命令,可以使用 soft 快速切换到 /usr/local/soft

alias soft="cd /usr/local/soft/"

2、重命名目录,并配置环境变量

mv apache-flume-1.9.0-bin/ flume-1.9.0
vim /etc/profile
source /etc/profile

3、查看flume版本

flume-ng version
[root@master soft]# flume-ng version
Flume 1.9.0
Source code repository: https://git-wip-us.apache.org/repos/asf/flume.git
Revision: d4fcab4f501d41597bc616921329a4339f73585e
Compiled by fszabo on Mon Dec 17 20:45:25 CET 2018
From source with checksum 35db629a3bda49d23e9b3690c80737f9
[root@master soft]# 

4、测试flume

  • 监控一个目录,将数据打印出来

    • 配置文件
    # 首先先给agent起一个名字 叫a1
    # 分别给source channel sink取名字
    a1.sources = r1
    a1.channels = c1
    a1.sinks = k1
    
    # 分别对source、channel、sink进行配置
    
    # 配置source
    # 将source的类型指定为 spooldir 用于监听一个目录下文件的变化
    # 因为每个组件可能会出现相同的属性名称,所以在对每个组件进行配置的时候 
    # 需要加上 agent的名字.sources.组件的名字.属性 = 属性值
    a1.sources.r1.type = spooldir
    a1.sources.r1.spoolDir = /root/data/
    a1.sources.r1.fileSuffix = .ok
    a1.sources.r1.fileHeader = true
    
    # 给r1这个souces配置一个拦截器并取名为 i1
    a1.sources.r1.interceptors = i1
    # 将拦截器i1的类型设置为timestamp 会将处理数据的时间以毫秒的格式插入event的header中
    # a1.sources.r1.interceptors.i1.type = timestamp
    # 将拦截器i1的类型设置为regex_filter 会根据正则表达式过滤数据
    a1.sources.r1.interceptors.i1.type = regex_filter
    # 配置正则表达式
    a1.sources.r1.interceptors.i1.regex = \d{3,6}
    # excludeEvents = true 表示将匹配到的过滤,未匹配到的放行
    a1.sources.r1.interceptors.i1.excludeEvents = true
    
    # 配置sink
    # 使用logger作为sink组件,可以将收集到数据直接打印到控制台
    a1.sinks.k1.type = logger
    
    # 配置channel
    # 将channel的类型设置为memory,表示将event缓存在内存中
    a1.channels.c1.type = memory
    
    # 组装
    # 将sources的channels属性指定为c1
    a1.sources.r1.channels = c1
    
    # 将sinks的channel属性指定为c1
    a1.sinks.k1.channel = c1
    
    • 启动agent
    flume-ng agent -n a1 -f ./spoolingtest.conf -Dflume.root.logger=DEBUG,console
    
    • 新建/root/data目录
    mkdir /root/data
    
    • 在/root/data/目录下新建文件,输入内容,观察flume进程打印的日志
    # 随意在a.txt中加入一些内容
    vim /root/data/a.txt
    

5、flume的使用

  • spoolingTohdfs.conf

    • 配置文件
    # a表示给agent命名为a
    # 给source组件命名为r1
    a.sources = r1
    # 给sink组件命名为k1
    a.sinks = k1 
    # 给channel组件命名为c1
    a.channels = c1
    #指定spooldir的属性
    a.sources.r1.type = spooldir 
    a.sources.r1.spoolDir = /root/data 
    a.sources.r1.fileHeader = true 
    a.sources.r1.interceptors = i1 
    a.sources.r1.interceptors.i1.type = timestamp
    #指定sink的类型
    a.sinks.k1.type = hdfs
    a.sinks.k1.hdfs.path = /flume/data/dir1
    # 指定文件名前缀
    a.sinks.k1.hdfs.filePrefix = student
    # 指定达到多少数据量写一次文件 单位:bytes
    a.sinks.k1.hdfs.rollSize = 102400
    # 指定多少条写一次文件
    a.sinks.k1.hdfs.rollCount = 1000
    # 指定文件类型为 流 来什么输出什么
    a.sinks.k1.hdfs.fileType = DataStream
    # 指定文件输出格式 为text
    a.sinks.k1.hdfs.writeFORMat = text
    # 指定文件名后缀
    a.sinks.k1.hdfs.fileSuffix = .txt
    
    #指定channel
    a.channels.c1.type = memory 
    a.channels.c1.capacity = 1000
    # 表示sink每次会从channel里取多少数据
    a.channels.c1.transactionCapacity = 100
    # 组装
    a.sources.r1.channels = c1 
    a.sinks.k1.channel = c1
    
    • 在 /root/data/目录下准备数据
    The Zen of python, by Tim Peters
    
    Beautiful is better than ugly.
    Explicit is better than implicit.
    Simple is better than complex.
    Complex is better than complicated.
    Flat is better than nested.
    Sparse is better than dense.
    Readability counts.
    Special cases aren"t special enough to break the rules.
    Although practicality beats purity.
    Errors should never pass silently.
    Unless explicitly silenced.
    In the face of ambiguity, refuse the temptation to guess.
    There should be one-- and preferably only one --obvious way to do it.
    Although that way may not be obvious at first unless you"re Dutch.
    Now is better than never.
    Although never is often better than *right* now.
    If the implementation is hard to explain, it"s a bad idea.
    If the implementation is easy to explain, it may be a Good idea.
    Namespaces are one honking great idea -- let"s do more of those!
    
    • 启动agent
    flume-ng agent -n a -f ./spoolingToHDFS.conf -Dflume.root.logger=DEBUG,console
    
  • HBaseLogToHDFS

    • 配置文件
    # a表示给agent命名为a
    # 给source组件命名为r1
    a.sources = r1
    # 给sink组件命名为k1
    a.sinks = k1 
    # 给channel组件命名为c1
    a.channels = c1
    #指定exec的属性
    a.sources.r1.type = exec 
    a.sources.r1.command = tail -f /usr/local/soft/hbase-1.4.6/logs/hbase-root-master-master.log
    #指定sink的类型
    a.sinks.k1.type = hdfs
    a.sinks.k1.hdfs.path = /flume/data/dir2
    # 指定文件名前缀
    a.sinks.k1.hdfs.filePrefix = hbaselog
    # 指定达到多少数据量写一次文件 单位:bytes
    a.sinks.k1.hdfs.rollSize = 102400
    # 指定多少条写一次文件
    a.sinks.k1.hdfs.rollCount = 1000
    # 指定文件类型为 流 来什么输出什么
    a.sinks.k1.hdfs.fileType = DataStream
    # 指定文件输出格式 为text
    a.sinks.k1.hdfs.writeFormat = text
    # 指定文件名后缀
    a.sinks.k1.hdfs.fileSuffix = .txt
    
    #指定channel
    a.channels.c1.type = memory 
    a.channels.c1.capacity = 1000
    # 表示sink每次会从channel里取多少数据
    a.channels.c1.transactionCapacity = 100
    # 组装
    a.sources.r1.channels = c1 
    a.sinks.k1.channel = c1
    
  • hbaselogToHBase

    • 在hbase中创建log表
    create "log","cf1"
    
    • 配置文件
    # a表示给agent命名为a
    # 给source组件命名为r1
    a.sources = r1
    # 给sink组件命名为k1
    a.sinks = k1 
    # 给channel组件命名为c1
    a.channels = c1
    #指定exec的属性
    a.sources.r1.type = exec 
    a.sources.r1.command = cat /usr/local/soft/hbase-1.4.6/logs/hbase-root-master-master.log
    #指定sink的类型
    a.sinks.k1.type = hbase
    a.sinks.k1.table = log
    a.sinks.k1.columnFamily = cf1
    
    #指定channel
    a.channels.c1.type = memory 
    a.channels.c1.capacity = 100000
    # 表示sink每次会从channel里取多少数据
    a.channels.c1.transactionCapacity = 100
    # 组装
    a.sources.r1.channels = c1 
    a.sinks.k1.channel = c1
    
  • netcatLogger

    监听telnet端口

    • 安装telnet
    yum install telnet
    
    • 配置文件
    # a表示给agent命名为a
    # 给source组件命名为r1
    a.sources = r1
    # 给sink组件命名为k1
    a.sinks = k1 
    # 给channel组件命名为c1
    a.channels = c1
    #指定netcat的属性
    a.sources.r1.type = netcat 
    a.sources.r1.bind = 0.0.0.0 
    a.sources.r1.port = 8888 
    
    #指定sink的类型
    a.sinks.k1.type = logger
    #指定channel
    a.channels.c1.type = memory 
    a.channels.c1.capacity = 1000
    # 表示sink每次会从channel里取多少数据
    a.channels.c1.transactionCapacity = 100
    # 组装
    a.sources.r1.channels = c1 
    a.sinks.k1.channel = c1
    
    • 启动

      • 先启动agent
      flume-ng agent -n a -f ./netcatToLogger.conf -Dflume.root.logger=DEBUG,console
      
      • 在启动telnet
      telnet master 8888
      
  • HttpToLogger

    • 配置文件
    # a表示给agent命名为a
    # 给source组件命名为r1
    a.sources = r1
    # 给sink组件命名为k1
    a.sinks = k1 
    # 给channel组件命名为c1
    a.channels = c1
    #指定http的属性
    a.sources.r1.type = http
    a.sources.r1.port = 6666 
    
    #指定sink的类型
    a.sinks.k1.type = logger
    #指定channel
    a.channels.c1.type = memory 
    a.channels.c1.capacity = 1000
    # 表示sink每次会从channel里取多少数据
    a.channels.c1.transactionCapacity = 100
    # 组装
    a.sources.r1.channels = c1 
    a.sinks.k1.channel = c1
    
    • 启动

      • 先启动agent
      flume-ng agent -n a -f ./httpToLogger.conf -Dflume.root.logger=DEBUG,console
      
      • 再使用curl发起一个http请求
      curl -X POST -d "[{ "headers" :{"a" : "a1","b" : "b1"},"body" : "hello~http~flume~"}]" http://master:666
      
您可能感兴趣的文档:

--结束END--

本文标题: Flume的安装及使用

本文链接: https://www.lsjlt.com/news/8843.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Flume的安装及使用
    Flume的安装及使用 目录Flume的安装及使用Flume的安装1、上传至虚拟机,并解压2、重命名目录,并配置环境变量3、查看flume版本4、测试flume5、flume的使用 Flume的安装 1、上传至虚拟机,并解压 tar -z...
    99+
    2015-07-16
    Flume的安装及使用
  • labelme的安装及使用
    一、Anaconda的安装 步骤1:访问Anaconda官网,点击Download,下载Anaconda软件安装包。 步骤2:双击刚下载好的anaconda软件安装包,按照提示进行下一步操作即可。 ...
    99+
    2023-09-09
    python 深度学习 linux
  • SeleniumIDE安装及使用
    目录1.Selenium IDE简介2.Selenium IDE下载3.使用1.Selenium IDE简介 是Chrome和FireFox的扩展工具,用于在浏览器中进行便捷的录制与...
    99+
    2023-03-22
    Selenium IDE安装 Selenium IDE使用
  • resin3安装及使用
    1.)安装JAVA2.)设置环境变量3.)安装resin4.)resin多进程设置一、下载JAVA的rpm包,直接安装即可二、设置环境变量  1.为了统一路径,将JAVA建一个软连接在/opt目录      ln -s /opt/zimbr...
    99+
    2023-01-31
  • javaFX安装及使用
    一、javaFX下载 Jdk 从 1.8 开始 jdk 自带 JavaFX,到 Jdk 11 开始 jdk 不再内置 JavaFX,所以如果你使用的是高版本的 jdk 在使用 javaFX 的时候就需...
    99+
    2023-09-01
    intellij-idea java javaFX安装及使用 javaFX javaFX安装
  • Labelme 安装以及使用
    好久没有使用标注工具了,应工作需要,补一篇,自己实践后,总结如下 1.labelme 简介 labelme 是一款图像标注工具,主要用于神经网络构建前的数据集准备工作,因为是用 Python 写的,所...
    99+
    2023-09-26
    python 开发语言 深度学习
  • DDDDOCR安装以及使用
    DDDDOCR图片验证码识别技术 在我们日常浏览网页的时候,常常会弹出一张图片让你来验证,有的是滑动验证,有的是输入相应字符来进行验证,今天我就来给大家介绍这么一个技术,可以专门用来识别图片验证码的功...
    99+
    2023-09-18
    python numpy pycharm
  • MySQL Workbench安装及使用
    目录 一、MySQL Workbench简介 二、MySQL数据库安装 三、远程连接MySQL服务器 四、创建数据库 五、创建数据表 六、数据内容维护 七、查看数据表 八、修改数据表 九、删除数据表 一、MySQL Workben...
    99+
    2023-08-31
    数据库 mysql sql
  • MySQL Workbench 安装及使用
    MySQL Workbench 安装及使用 文章目录 MySQL Workbench 安装及使用1. MySQL Workbench 简介2. MySQL Workbench 的下载与安装3. MySQL Workbench 使用...
    99+
    2023-08-18
    mysql 数据库 dba
  • 【iOS】Cocoapods的安装以及使用
    文章目录 前言一、Cocoapods的作用二、安装Cocoapods三、使用Cocoapods总结 前言 最近笔者在仿写天气预报App时用到了api调用数据,一般的基本数据类型我们用Xc...
    99+
    2023-09-17
    ios cocoapods cocoa xcode objective-c
  • httplib库的安装以及使用
    目录 安装httplib库 认识httplib库 httplib请求类  httplib响应类  httplib中的Server类        httplib的client类 httplib库搭建简单的服务器 httplib库搭建简单的客...
    99+
    2023-09-17
    服务器 http 前端
  • PHP中的FFmpeg安装及使用
    本文和大家分享PHP中的FFmeg安装及使用,希望能帮助到大家 FFmpeg简介 FFmpeg是视频处理最常用的开源软件。 它功能强大,用途广泛,大量用于视频网站和商业软件(比如 Youtube 和 iTunes),也是许多音频和视频格式的...
    99+
    2023-09-02
    ffmpeg
  • Kettle的安装及简单使用
    Kettle的安装及简单使用 目录Kettle的安装及简单使用一、kettle概述二、kettle安装部署和使用Windows下安装案例1:MySQL to MySQL案例2:使用作业执行上述转换,并且额外在表stu2中添加一条数据案例3...
    99+
    2017-11-05
    Kettle的安装及简单使用
  • iotop的安装及使用方法
    这篇文章主要讲解了“iotop的安装及使用方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“iotop的安装及使用方法”吧! ...
    99+
    2022-10-18
  • yarn的安装及使用详解
    目录一、引言二、同为包管理工具 npm和yarn的区别三、yarn的安装四、总结一、引言 之前出过一篇关于 用 npm 创建 react 项目的介绍与使用教程,本文在此介绍并对比一下...
    99+
    2022-11-13
  • gradle的安装配置及使用
    一、gradle的安装 1.官网下载链接:https://gradle.org/releases/ 1、下载后解压 2、配置环境变量,新建 GRADLE_HOME 环境变量指向你的 Gradle 解压路径 3、将 %GRADLE_H...
    99+
    2023-08-19
    gradle java 开发语言
  • PowerDesigner如何安装及使用
    PowerDesigner是一款强大的建模工具,用于设计和管理数据库、业务过程、数据仓库和应用程序等。下面是PowerDesigne...
    99+
    2023-09-14
    PowerDesigner
  • jconsole如何安装及使用
    jconsole是Java自带的一种监视和管理工具,用于监控和管理Java虚拟机(JVM)的性能和资源使用情况。要安装和使用jcon...
    99+
    2023-09-25
    jconsole
  • opencv如何安装及使用
    要安装和使用OpenCV,您可以按照以下步骤进行操作:1. 首先,您需要下载并安装OpenCV的库文件。您可以在OpenCV的官方网...
    99+
    2023-09-20
    opencv
  • Jupyter 介绍、安装及使用
    Jupyter 介绍、安装及使用 一.Jupyter介绍 Jupyter Notebook是一个开源的web应用程序,可以使用它来创建和共享包含实时代码、方程、可视化和文本的文档。 Jupyter ...
    99+
    2023-09-05
    python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作