flume搭建新手测试环境
硬件环境:
腾讯云,两台服务器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搭建新手测试环境的更多相关文章
- 使用XAMPP和DVWA在Windows7上搭建渗透测试环境
前言: XAMPP是一个Web应用程序运行环境集成软件包,包括MySQL.PHP.PerI和Apache的环境及Apache.MySQL.FilleZilla.Mercury和Tomecat等组件.D ...
- 使用WampServer和DVWA在Windows10上搭建渗透测试环境
前言: DVWA是一个具有脆弱性的Web测试应用,需要PHP和MySQL的环境支持.我们可以手动配置DVWA所需的运行环境,也可以使用WampServer进行搭建.WampServer是集成了Apac ...
- 使用Rancher搭建K8S测试环境
使用Rancher搭建K8S测试环境 http://blog.csdn.net/csdn_duomaomao/article/details/75316926 环境准备(4台主机,Ubuntu16.0 ...
- 利用Docker Compose快速搭建本地测试环境
前言 Compose是一个定义和运行多个Docker应用的工具,用一个YAML(dockder-compose.yml)文件就能配置我们的应用.然后用一个简单命令就能启动所有的服务.Compose编排 ...
- 一文教您如何通过 Docker 快速搭建各种测试环境(Mysql, Redis, Elasticsearch, MongoDB) | 建议收藏
欢迎关注个人微信公众号: 小哈学Java, 文末分享阿里 P8 高级架构师吐血总结的 <Java 核心知识整理&面试.pdf>资源链接!! 个人网站: https://www.ex ...
- Docker-教你如何通过 Docker 快速搭建各种测试环境
今天给大家分享的主题是,如何通过 Docker 快速搭建各种测试环境,本文列举的,也是作者在工作中经常用到的,其中包括 MySQL.Redis.Elasticsearch.MongoDB 安装步骤,通 ...
- 一文带你趟过mac搭建appium测试环境的遇到的坑
做UI自动化,最难的一步就是在环境搭建上,怎么去搭建一个UI自动化测试的环境,会难住很多人,在Mac上搭建appium如何搭建呢,本文带着大家去领略如何在mac上搭建appium测试环境.下面就是详细 ...
- 快速搭建IE测试环境(Virtualbox+ievms)
IE下的测试 作为一个有追求的程序员,应该尽可能的远离Windows系统.不论从专业开发者的角度,还是仅仅作为最终用户从使用体验上来说,Windows都可以算是垃圾中的战斗机: 没有shell . 响 ...
- 搭建redsocks 测试环境
1. 先来谈谈pc的测试环境 socks5代理,因为要在centos下设置,没有yum到socks, 就安装ss5,wget http://jaist.dl.sourceforge.net/proje ...
随机推荐
- java面试题之----Java内部类
这是我学习Java内部类的笔记 1.为什么使用内部类? 使用内部类最吸引人的原因是:每个内部类都能独立地继承一个(接口的)实现,所以无论外围类是否已经继承了某个(接口的)实现, 对于内部类都没有影响 ...
- LESS嵌套中的Mixins和classes
less的嵌套规则对于有效组织你的css代码有较好的作用.其中使用mixin或者class都可以作为被嵌套的实体,但是二者还是有区别的: mixin必须由.name+(){}的pattern来定义,而 ...
- tp.c
calculate throughput /* gput.c: out.tr¤ò²òÀϤ·¤Æ¥¹¥ë¡¼¥×¥Ã¥ÈÆÃÀ¤ò·×»»¤¹¤ë * out.et¤ò²òÀϤ·¤ÆºÆÁ÷¥¿¥ ...
- 学会利用Ionic官网文档
和任何新技术一样,ionic也提供了详细的官方文档说明.网址如下: http://ionicframework.com/docs/ 学会使用ionic控件 ionic提供了大量优秀的高性能的仿原生控件 ...
- ZT 创建类模式总结篇
创建类模式总结篇 分类: 设计模式 2012-03-26 09:03 7320人阅读 评论(11) 收藏 举报 编程优化设计模式任务 创建类模式主要关注对象的创建过程,将对象的创建过程进行封装,使客户 ...
- some language grammars
ANSI C grammar Python grammar 怎么识别LL(1) LR(0) SLR(1) 等文法,一个不错的解答. http://stackoverflow.com/questions ...
- 面试知识整理-Java基础
三大特征:封装,继承,多态 多态:简单的说就是用同样的对象引用调用同样的方法但是做了不同的事情. 抽象:抽象是将一类对象的共同特征总结出来构造类的过程 包装,可以讲基本类型当做对象来使用,抽象只关心对 ...
- AngularJs学习笔记--Understanding Angular Templates
原版地址:http://docs.angularjs.org/guide/dev_guide.mvc.understanding_model angular template是一个声明规范,与mode ...
- 使用npoi插件将excel文件导出
大致流程:前端使用URL地址的方式跳转到action后返回file类型数据 js: window.location.href = '/Home/index?Id=' + id 后台代码: /// &l ...
- JsonHelp
using Newtonsoft.Json; using Newtonsoft.Json.Converters; using Newtonsoft.Json.Linq; using System; u ...