硬件环境:

      腾讯云,两台服务器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. python 小词云

    # Author:Alex.wang# Date:2017.06.02# Version:3.6.0 import matplotlib.pyplot as pltfrom wordcloud imp ...

  2. leetcode-wildcard matching-ZZ

    http://yucoding.blogspot.com/2013/02/leetcode-question-123-wildcard-matching.html 几个例子: (1) acbdeabd ...

  3. 一款可以安利的MarkDown编辑器

    Typeora一款可以安利的MarkDown编辑器 Typeora是什么? ​ 一款使用MarkDown的本地编辑器集结了MarkDown的所有特点并展现了简洁.高效的特点,关键是免费. 特点: 支持 ...

  4. 【深入理解JAVA虚拟机】第5部分.高效并发.1.Java内存模型与线程。

    1.概述 摩尔定律:描述处理器晶体管数量与运行效率之间的发展关系.Amdahl定律:通过系统中并行化与串行化的比重来描述多处理器系统能获得的运算加速能力. 从摩尔定律到Amdahl定律的转变,代表了近 ...

  5. 天地图,js 4.0 api,简单调用,高手请绕行

    本文介绍使用天地图 js4.0 api,实现地图显示后台gps分布情况: 主要借用H5 GPS获取,利用天地图的背景展示: 效果图如下: 第一步,通过采集网页,手机gps数据,录入后台数据库:界面如下 ...

  6. 迷宫问题——BFS

    改进版 BFS #include <bits/stdc++.h> using namespace std; #define coordi(x,y) ( m*(x-1)+y ) const ...

  7. PhoneGap实现重力感应

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  8. (二)给Centos配置网络以及使用xshell远程连接Centos

    好吧,我对网络协议以及ip配置知识的匮乏,让我在这里折腾了将近一天才搞定.可以说基本上网上遇到的问题我都遇到了.在这里,记下正确的步骤来给Centos配置网络.希望以后少走弯路. 首先我要说明的是,我 ...

  9. 在Go语言中记录log:seelog包

    前两周调bug调的吐血,虽然解决了但是还是挺浪费时间的.跟同事聊了聊,觉得我们现在项目中的日志记录太少了,导致出了问题不知道怎么下手,还得自己改代码记录日志,然后排查问题.这样如果将来还有bug的话还 ...

  10. Python取出SQL表单中的字段名

    def ReturnInfo(self, avalue, akey): cursor = connection.cursor() Sql = "select * from %s where ...