最近在学习hadoop大数据平台,但是却感觉无从下手,于是看了一些专业的书籍,觉得还是先从下往上为学习也就是从源数据——数据抽取——存储——计算——展示这个路线来学习比较容易一些,所以就先从非结构化数据传输工具flume开始。下面介绍flume 的安装及简单使用

  Flume是一个分布式、高可靠、高可用的用来收集、聚合、转移不同来源的大量日志数据到中央数据仓库的工具,下面是官方给出的一个工作流程图:

流程图中很清楚的描述了fluem的工作流程,落盘数据被读取到  agent的Source ,Source进入到指定的Channel  ,然后发送到指定的Sink  ,Sink发送到目标端。其中Source 可以对应多个Channel,但是sink只能绑定一个Channel。下面开始安装和初步试验。

前提准备:安装java JDK并配置好环境变量

一、官网下载安装包 https://flume.apache.org/ (不得不说,flume的官网真是技术官网典范

二、将安装包上传到服务器 /opt/software/ 下 (无software的话需自行创建)

三、在/usr/local/下创建flume 文件夹

cd  /usr/local/
mkdir flume

四、将压缩包解压到/usr/local/ flume 下(注意tar包名称和路径)

tar -xzvf xxx.tar.gz -C   ./

解压后的文件夹结构如下

五、进入conf目录修改flume启动文件

cd conf/

  

重命名将 flume-env.sh.template 改为 flume-env.sh

编辑flume-env.sh 配置JAVA_HOME 为jdk的安装目录

vim flume-env.sh

 

完毕!但是为了进一步验证flume工作是否正常,还需要做一个小场景的测试,就是使fluem 监听一个指定的端口,把从该端口收到的TCP协议的文本数据按行转换为Event,它能识别的是带换行符的文本数据,同其他Source一样,解析成功的Event数据会发送到channel中,然后在控制台打印,用到的source是 NetCat TCP Source,用到sink是Logger Sink 。

 六、安装netcat (用于向指定端口发送数据)

yum install –y nc

七、创建flume agent 配置文件 

在flume文件夹下创建 job文件夹(位置自定义),并在job文件夹下创建配置文件

mkdir  /usr/local/flume/job
cd job
touch netcat-flume-logger.conf

编辑配置文件,添加如下配置

vim netcat-flume-logger.conf
# example.conf: 一个单节点的 Flume 实例配置

# 配置Agent a1各个组件的名称
a1.sources = r1
a1.sinks = k1
a1.channels = c1 # 配置Agent a1的source r1的属性
a1.sources.r1.type = netcat
a1.sources.r1.bind = localhost
a1.sources.r1.port = 44444 # 配置Agent a1的sink k1的属性
a1.sinks.k1.type = logger # 配置Agent a1的channel c1的属性,channel是用来缓冲Event数据的
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100 # 把source和sink绑定到channel上
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1

八、Fluem安装目录下启动fluem  agent     指定conf ,指定配置文件名,指定agent名称

bin/flume-ng agent --conf conf/ --conf-file ../job/netcat-flume-logger.conf  --name a1 -Dflume.root.logger=INFO,console

  控制台打印 本机监听在44444端口,启动成功

九、使用netcat像fluem发送消息

重新开启一个终端 执行命令连接到44444端口,并发送消息

nc localhost 44444  

发送消息 holle flume

控制台成功接收并打印

下一章记录如和配合hadoop平台使用,读取文件内容并发送到hdfs

flume安装及使用的更多相关文章

  1. sqoop、flume 安装

    sqoop安装步骤 1.上传解压tar包 tar -zxvf  sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz 2.修改配置文件 进入 sqoop/conf/ c ...

  2. Flume简介与使用(一)——Flume安装与配置

    Flume简介与使用(一)——Flume安装与配置 Flume简介 Flume是一个分布式的.可靠的.实用的服务——从不同的数据源高效的采集.整合.移动海量数据. 分布式:可以多台机器同时运行采集数据 ...

  3. flume安装及配置

    Flume安装 介绍 Flume本身的安装比较简单(flume的介绍请参考http://blog.csdn.net/rzhzhz/article/details/7448633),安装前先说明几个概念 ...

  4. flume安装

    1.flume安装 将压缩包减压到当前目录 tar -zxf apache-flume-1.8.0-bin.tar.gz 配置环境变量  编辑当前目录中的  .bashrc  文件(这影响当前用户的环 ...

  5. Apache Flume 安装文档、日志收集

    简介: 官网 http://flume.apache.org 文档 https://flume.apache.org/FlumeUserGuide.html hadoop 生态系统中,flume 的职 ...

  6. CentOS6安装各种大数据软件 第七章:Flume安装与配置

    相关文章链接 CentOS6安装各种大数据软件 第一章:各个软件版本介绍 CentOS6安装各种大数据软件 第二章:Linux各个软件启动命令 CentOS6安装各种大数据软件 第三章:Linux基础 ...

  7. 3.flume安装以及环境配置

    1.安装jdk 我这里已经安装过了,这里就不演示了 2.安装flume 安装cdh版本的,http://archive.cloudera.com/cdh5/cdh/5/ 安装完毕之后,配置环境变量. ...

  8. flume入门之一:flume 安装及测试

    http://flume.apache.org/ flume下载:http://mirror.bit.edu.cn/apache/flume/1.7.0/apache-flume-1.7.0-bin. ...

  9. Flume安装部署

    Flume安装部署 Flume的安装(非常简单) 上传安装包到数据源所在节点上,实际上不是数据源节点也是可以的,只要运行Flume的这台机器与数据源节点的这台机器能够通过某种协议进行通信即可. 然后解 ...

  10. FLUME安装&环境(二):拉取MySQL数据库数据到Kafka

    Flume安装成功,环境变量配置成功后,开始进行agent配置文件设置. 1.agent配置文件(mysql+flume+Kafka) #利用Flume将MySQL表数据准实时抽取到Kafka a1. ...

随机推荐

  1. [BUUCTF]REVERSE——reverse1

    reverse1 附件 首先检查一下附件程序,64位,没有壳 64位ida载入,shift+f12检索程序里的字符串 我们得到了this is flag的提示,而且还看见了一个类似flag的字符串{h ...

  2. java 网络编程基础 InetAddress类;URLDecoder和URLEncoder;URL和URLConnection;多线程下载文件示例

    什么是IPV4,什么是IPV6: IPv4使用32个二进制位在网络上创建单个唯一地址.IPv4地址由四个数字表示,用点分隔.每个数字都是十进制(以10为基底)表示的八位二进制(以2为基底)数字,例如: ...

  3. ABP VNext框架中Winform终端的开发和客户端授权信息的处理

    在ABP VNext框架中,即使在它提供的所有案例中,都没有涉及到Winform程序的案例介绍,不过微服务解决方案中提供了一个控制台的程序供了解其IDS4的调用和处理,由于我开发过很多Winform项 ...

  4. django——django链接mysql数据库

    1.创建项目 django-admin startproject django_mysql 2.创建App python manage.py startapp app1 3.Mysql数据库配置 (1 ...

  5. 惊!世界上竟然有O(N)时间复杂度的排序算法!计数排序!

    啥?你以为排序算法的时间复杂度最快也只能O(N*log(N))了? O(N)时间复杂度的排序算法听说过没有?计数排序!!它是世界上最快最简单的算法!!! 计数排序算法操作起来只有三步,看完秒懂! 根据 ...

  6. 【LeetCode】310. Minimum Height Trees 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 BFS 相似题目 参考资料 日期 题目地址:http ...

  7. 【LeetCode】915. Partition Array into Disjoint Intervals 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 题目地址: https://leetcode.com/problems/partitio ...

  8. Beautiful Walls

    [1553] Beautiful Walls 时间限制: 1000 ms 内存限制: 65535 K 问题描述 To simplify the building process, XadillaX b ...

  9. Blazor组件的new使用方式与动态弹窗

    1. 前言 在Blazor中的无状态组件文中,我提到了无状态组件中,有人提到这个没有diff,在渲染复杂model时,性能可能会更差.确实,这一点确实是会存在的.以上文的方式来实现无状态组件,确实只要 ...

  10. Java Web项目 慧心人力资源管理系统

    题目:慧心人力资源管理系统 文档下载:https://download.csdn.net/download/weixin_44893902/16336711 完整项目下载:https://downlo ...