log 这个事, 说大不大说小又不小. 大点的, 可以用scribe flume 这样的系统去做, 小点的, 也就打印一个调试信息而已. 在Erlang 中, log 这事情确实比较伤, error_logger 是个单点, io:format 容易导致节点崩溃. 在开源社区, lager 算是使用...
分类:
其他好文 时间:
2015-03-18 01:01:46
阅读次数:
350
我前面曾经写过:中小企业的大数据技术路线选择 和 低调、奢华、有内涵的敏捷式大数据方案:Flume+Cassandra+Presto+SpagoBI 。前面用两个月的时间验证了Presto JDBC驱动、Prestogres和SHIB三种方案。Prestogres,可以使用PostgreSQL 客户端和JDBC驱动,支持SpagoBI等BI工具。但这种方式架构复杂,可能有性能瓶颈,无法发挥该方案的优势。SHIB现在代码量较小,在Team中有报表开发经验的成员即可上手。如果时间和人力允许,开发一个轻量级的Bi...
分类:
其他好文 时间:
2015-03-16 14:33:24
阅读次数:
264
1.flume是分布式的日志收集系统,把收集来的数据传送到目的地去。2.flume里面有个核心概念,叫做agent。agent是一个java进程,运行在日志收集节点。3.agent里面包含3个核心组件:source、channel、sink。3.1 source组件是专用于收集日志的,可以处理各种类...
分类:
Web程序 时间:
2015-03-14 18:17:59
阅读次数:
186
使用flume收集数据,将数据传递给kafka和hdfs,kafka上的数据可以使用storm构建实时计算,而hdfs上的数据,经过MR处理之后可以导入hive中进行处理。 环境:hadoop1.2.1,hive 0.13.1,maven 3.2.5,flume 1.4,kafka 0.7.2,ec...
分类:
Web程序 时间:
2015-03-14 18:17:55
阅读次数:
4961
不知道各位用过flume的读者对这两个概念是否熟悉了解
一开始本人的确有点迷惑,觉得这是不是重复了啊?
没感觉到transactionCapacity的作用啊?
batchSize又是干啥的啊?
……
……
带着这些问题,我们深入源码来看一下:
batchSize
batchSize这个概念首先它出现在哪里呢?
kafkaSink的process方法
HDFS Sink...
分类:
Web程序 时间:
2015-03-12 17:17:17
阅读次数:
11871
这里以按自定义头部的配置为例(根据某些业务不同写入不同的主目录)配置:source:interceptors=i1
interceptors.i1.type=regex_extractor
interceptors.i1.regex=/apps/logs/(.*?)/
interceptors.i1.serializers=s1
interceptors.i1.serializers.s1.name=logtypenamesink:hdfs..
分类:
其他好文 时间:
2015-03-12 08:34:37
阅读次数:
1480
在1.5.0的flume版本中开始提供这个功能,判断配置文件的更新时间戳来reload服务原理:1)在启动中使用EventBus.register注册Application对象,同时Application有一个Subscribe的方法handleConfigurationEvent(参数是MaterializedConfiguration对象)2)定义了一个计划任务线程..
分类:
Web程序 时间:
2015-03-12 01:06:34
阅读次数:
245
RegexExtractorInterceptor作为一个Interceptor实现类可以根据一个正则表达式匹配eventbody来提取字符串,并使用serializers把字符串作为header的值实例:以如下的命令使用execsource收集日志的时候,可以根据文件的名称设置不同的header,进行不同的操作#!/bin/sh
filename=$1..
分类:
其他好文 时间:
2015-03-12 01:04:37
阅读次数:
157
1.启动命令nohupbin/flume-ngagent-nagent-server-fagent-server1.conf&flume-ng是一个shell脚本:agentrunaFlumeagent--->org.apache.flume.node.Application类
avro-clientrunanavroFlumeclient--->org.apache.flume.client.avro.AvroCLIClient类run_flume(){#shel..
分类:
Web程序 时间:
2015-03-12 01:04:27
阅读次数:
322
flume可以监控并管理组件的运行状态,在组件关闭的时候可以自动拉起来,原理是通过启动一个计划任务线程池(monitorService,线程的最大数量为30),运行监控线程(MonitorRunnable线程),每隔3s判断组件(包括Channel,SinkRunner)的状态是否符合要求(可用的状态由两种START和..
分类:
Web程序 时间:
2015-03-12 01:04:09
阅读次数:
2319