硬件环境:

      腾讯云,两台服务器8G 双核

软件环境:

      flume1.8、jdk1.8,centos6

第一次搭建也是各种找文件,只知道flume是日志抓取服务,也听说了非常稳定强大的服务,正好公司需要抓取广告点击次数产生的日志要做费用统计,就和做大数据的同事学习了一下,初次学习flume的时候是通过flume官网还有各种论坛的例子结合查询,flume官网是纯英文,二把刀的我只能凭借关键字查询了解配置问题,没法官网是最权威的。

flume运行流程图:

 

手动绘画,忍着点把,^_^~ 简单解释一下图的意思,这是一个“单机版”的flume也就是新手第一次搭建的图,测试环境,安装flume之后去ping这台server的端口产生日志之后flume接收通过,然后输出到控制台的一个流程。

简单的介绍一下flume的工作流程,拿到日志(数据)——flume处理——发送——结束,大概就是这个样子 ,主要我们学习的是flume处理的这个过程

flume是一个分布式的java开发出来的服务工具,学过java的话,对它的报错和提示信息 我们基本是没问题能看得懂的,

当我们通过方式来接收数据是由flume中的source来接收的,它主要是用来配置:去哪里接收?怎么接收数据?数据如何发送?这些是需要我们来告诉它的,可以实时监听端口、日志、文件/文件夹,反正就是各种接收吧,具体怎么接收?哪种接收?如何配置?官网的帮助文档上写的特清晰,一定要忍住看一下。我现在只解读我的测试环境监听的配置是什么意思,(其实例子也是在官网看到的。。。。)就可以照猫画虎的去做了,途中肯定会报错,一定冷静下来,我也是一步一步解决的。

首先要准备flume和jdk

下载flume版本在官网 这个就不教了http://flume.apache.org/download.html

我这里用的是flume1.8版本,官网推荐1.6,可以在生产环境部署,比较稳定,我们测试环境就用最新的了。

jdk下载自己查一下吧,不会jdk安装估计也学不到这里了。。。

所有下载tar包到linux服务器上

我放到了/opt下面了

解压完成之后就来部署环境变量

vim /etc/profile

在最后加上jdk和flume的环境变量方便操作

立即生效profile文件

source /etc/profile

然后随便位置测试一下环境变量是否生效

出现可以命令参数就说明环境变量正常了。如果没有那一定要检查自己电脑的环境问题,会不会发生冲突了或其他问题

接下来配置flume的配置文件

首先要copy一份配置文件来用改名为flume.conf

cp /opt/apache-flume-1.8.-bin/conf/flume-conf.properties.template /opt/apache-flume-1.8.-bin/conf/flume.conf

打开刚复制好的配置文件来删除里面所有内容,然后修改成我这样的

vim /opt/apache-flume-1.8.-bin/conf/flume.conf

配置文件内容:

 # example.conf: A single-node Flume configuration

 # Name the components on this agent
a1.sources = r1
a1.sinks = k1
a1.channels = c1 # Describe/configure the source
a1.sources.r1.type = netcat
a1.sources.r1.bind = localhost
a1.sources.r1.port = # Describe the sink
a1.sinks.k1.type = logger # Use a channel which buffers events in memory
a1.channels.c1.type = memory
a1.channels.c1.capacity =
a1.channels.c1.transactionCapacity = # Bind the source and sink to the channel
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1

其实已经配置完成了,现在就可以启动来测试flume是否能用了

启动命令:

flume-ng agent --conf conf --conf-file /opt/apache-flume-1.8.-bin/conf/flume.conf --name a1 -Dflume.root.logger=INFO,console

然后会进入监听状态:

这就说明启动成功了,然后在打开一个登陆窗口

使用telnet来检测这个端口是否能用,如果没有telnet需要安装,yum install telnet -y 这个如果有什么问题,自己解决一下把。

完成!

在这里我截图来解释一下这个配置文件的配置参数都是什么

对照参数和上面的画图,然后理解一下sources 、channels和sinks之间的工作原理,以上代码全部真实有效全部都是亲测之后,原创,不是转载别人的,所以复制可以直接使用。之后会研究flume集群搭建,到时候在分享给大家

flume搭建新手测试环境的更多相关文章

  1. 使用XAMPP和DVWA在Windows7上搭建渗透测试环境

    前言: XAMPP是一个Web应用程序运行环境集成软件包,包括MySQL.PHP.PerI和Apache的环境及Apache.MySQL.FilleZilla.Mercury和Tomecat等组件.D ...

  2. 使用WampServer和DVWA在Windows10上搭建渗透测试环境

    前言: DVWA是一个具有脆弱性的Web测试应用,需要PHP和MySQL的环境支持.我们可以手动配置DVWA所需的运行环境,也可以使用WampServer进行搭建.WampServer是集成了Apac ...

  3. 使用Rancher搭建K8S测试环境

    使用Rancher搭建K8S测试环境 http://blog.csdn.net/csdn_duomaomao/article/details/75316926 环境准备(4台主机,Ubuntu16.0 ...

  4. 利用Docker Compose快速搭建本地测试环境

    前言 Compose是一个定义和运行多个Docker应用的工具,用一个YAML(dockder-compose.yml)文件就能配置我们的应用.然后用一个简单命令就能启动所有的服务.Compose编排 ...

  5. 一文教您如何通过 Docker 快速搭建各种测试环境(Mysql, Redis, Elasticsearch, MongoDB) | 建议收藏

    欢迎关注个人微信公众号: 小哈学Java, 文末分享阿里 P8 高级架构师吐血总结的 <Java 核心知识整理&面试.pdf>资源链接!! 个人网站: https://www.ex ...

  6. Docker-教你如何通过 Docker 快速搭建各种测试环境

    今天给大家分享的主题是,如何通过 Docker 快速搭建各种测试环境,本文列举的,也是作者在工作中经常用到的,其中包括 MySQL.Redis.Elasticsearch.MongoDB 安装步骤,通 ...

  7. 一文带你趟过mac搭建appium测试环境的遇到的坑

    做UI自动化,最难的一步就是在环境搭建上,怎么去搭建一个UI自动化测试的环境,会难住很多人,在Mac上搭建appium如何搭建呢,本文带着大家去领略如何在mac上搭建appium测试环境.下面就是详细 ...

  8. 快速搭建IE测试环境(Virtualbox+ievms)

    IE下的测试 作为一个有追求的程序员,应该尽可能的远离Windows系统.不论从专业开发者的角度,还是仅仅作为最终用户从使用体验上来说,Windows都可以算是垃圾中的战斗机: 没有shell . 响 ...

  9. 搭建redsocks 测试环境

    1. 先来谈谈pc的测试环境 socks5代理,因为要在centos下设置,没有yum到socks, 就安装ss5,wget http://jaist.dl.sourceforge.net/proje ...

随机推荐

  1. LeetCode-Subsets ZZ

    LeetCode:Subsets Given a set of distinct integers, S, return all possible subsets. Note: Elements in ...

  2. 一、docker学习笔记——安装docker

    系统win10 企业版 1.下载docker CE 2.安装.注意,由于docker 与Oracle VM VirtualBox 冲突,在windows平台上二者不可共存.你只能2选1!! 3.如果d ...

  3. Newtonsoft.Json code

    序列化 Product product = new Product(); product.ExpiryDate = new DateTime(2008, 12, 28); JsonSerializer ...

  4. iOS文件处理类

    iOS文件处理类 这是一个用来简化iOS中关于文件操作的一个类,所有方法都为类方法. Source File.h // // File.h // FileManager // // http://ho ...

  5. 个人Hadoop编程代码记录

    **WordCount package cn.cpl.recom; import java.io.IOException; import java.util.StringTokenizer; impo ...

  6. 019sys模块

    为了和python解释器交互,控制台执行脚本后面添加变量 import  sysprint(sys.argv) def  post():    print('upload')def  download ...

  7. OC Copy and MutableCopy的使用

    #import <Foundation/Foundation.h> @interface Student : NSObject <NSCopying> // copy代表set ...

  8. BIND简易教程(3):DNSSec配置

    目录:BIND简易教程(1):安装及基本配置BIND简易教程(2):BIND视图配置BIND简易教程(3):DNSSec配置 (本篇) DNSSec,有个半英半中的名字叫DNS安全扩展.说的好听一点, ...

  9. django.db中的transaction

    transaction.set_autocommit(0) ..... ........ ................ transaction.commit() 可以使夹在其两句中间的所有SQL语 ...

  10. jQuery 实现改变图片指定区域的颜色

    javascript本身无法改变图片的颜色,不过我们可以通过一些技巧来实现一样的效果. 1.首先我们要知道图片哪些区域需要改变颜色,这里我们可以用执点地图的方法来弄 例1: <img src=& ...