1 常见正则表达式语法

元字符	描述
^ 匹配输入字符串的开始位置。如果设置了RegExp对象的Multiline属性,^也匹配“\n”或“\r”之后的位置。
$ 匹配输入字符串的结束位置。如果设置了RegExp对象的Multiline属性,$也匹配“\n”或“\r”之前的位置。
* 匹配前面的子表达式任意次。例如,zo*能匹配“z”,“zo”以及“zoo”。*等价于{0,}。
+ 匹配前面的子表达式一次或多次(大于等于1次)。例如,“zo+”能匹配“zo”以及“zoo”,但不能匹配“z”。+等价于{1,}。
[a-z] 字符范围。匹配指定范围内的任意字符。例如,“[a-z]”可以匹配“a”到“z”范围内的任意小写字母字符。
注意:只有连字符在字符组内部时,并且出现在两个字符之间时,才能表示字符的范围; 如果出字符组的开头,则只能表示连字符本身.

  题:

1 如何实现Flume数据传输的监控的

使用第三方框架Ganglia实时监控Flume。

2 Flume的Source,Sink,Channel的作用?你们Source是什么类型?

1、作用

(1)Source组件是专门用来收集数据的,可以处理各种类型、各种格式的日志数据,包括avro、thrift、exec、jms、spooling directory、netcat、sequence generator、syslog、http、legacy

(2)Channel组件对采集到的数据进行缓存,可以存放在Memory或File中。

(3)Sink组件是用于把数据发送到目的地的组件,目的地包括Hdfs、Logger、avro、thrift、ipc、file、Hbase、solr、自定义。

2、我公司采用的Source类型为:

(1)监控后台日志:exec

(2)监控后台产生日志的端口:netcat

Exec  spooldir

3 Flume的Channel Selectors

4 Flume参数调优

1. Source

增加Source个(使用Tair Dir Source时可增加FileGroups个数)可以增大Source的读取数据的能力。例如:当某一个目录产生的文件过多时需要将这个文件目录拆分成多个文件目录,同时配置好多个Source 以保证Source有足够的能力获取到新产生的数据。

batchSize参数决定Source一次批量运输到Channel的event条数,适当调大这个参数可以提高Source搬运Event到Channel时的性能。

2. Channel

type 选择memory时Channel的性能最好,但是如果Flume进程意外挂掉可能会丢失数据。type选择file时Channel的容错性更好,但是性能上会比memory channel差。

使用file Channel时dataDirs配置多个不同盘下的目录可以提高性能。

Capacity 参数决定Channel可容纳最大的event条数。transactionCapacity 参数决定每次Source往channel里面写的最大event条数和每次Sink从channel里面读的最大event条数。transactionCapacity需要大于Source和Sink的batchSize参数。

3. Sink

增加Sink的个数可以增加Sink消费event的能力。Sink也不是越多越好够用就行,过多的Sink会占用系统资源,造成系统资源不必要的浪费。

batchSize参数决定Sink一次批量从Channel读取的event条数,适当调大这个参数可以提高Sink从Channel搬出event的性能。

5 Flume的事务机制

Flume的事务机制(类似数据库的事务机制):Flume使用两个独立的事务分别负责从Soucrce到Channel,以及从Channel到Sink的事件传递。比如spooling directory source 为文件的每一行创建一个事件,一旦事务中所有的事件全部传递到Channel且提交成功,那么Soucrce就将该文件标记为完成。同理,事务以类似的方式处理从Channel到Sink的传递过程,如果因为某种原因使得事件无法记录,那么事务将会回滚。且所有的事件都会保持到Channel中,等待重新传递。

6 Flume采集数据会丢失吗?

不会,Channel存储可以存储在File中,数据传输自身有事务。

最新文章

  1. Oracle分页查询=======之伪列的使用
  2. PHP网页缓存技术
  3. JS中的for/in语句和arguments参数
  4. android应用程序的安装方式与原理
  5. Ngrok 内网穿透神器(转载)
  6. Python多线程学习资料1
  7. 获得临时文件目录(Temp文件夹)
  8. Linux设备总线
  9. Apache 编译扩展的方法
  10. 关于bash
  11. github提交代码contributions不显示小绿块
  12. 【转】APK反编译
  13. tkinter中combobox下拉选择控件(九)
  14. centos关机、重启、图形界面与命令行界面切换命令
  15. 别致的语言GO(GO语言初涉)
  16. 堆排序 GPLT L2-012 关于堆的判断
  17. 视频转换ffmpeg
  18. Storm累计求和Demo并且在集群上运行
  19. React入门基础(学习笔记)
  20. Hadoop RPC protocol description--转

热门文章

  1. Docker下打包FastDFS镜像以及上传遇到的问题
  2. Tarjan求有向图强连通分量 BY:优少
  3. 【题解】Luogu P5290 [十二省联考2019]春节十二响
  4. Golang ---json解析
  5. linux安装mysql后报错启动不了Starting MySQL. ERROR! The server quit without updating PID file (/var/lib/mysql/localhost.localdomain.pid).
  6. Redis Cluster: (error) MOVED
  7. C# vb .net实现焦距灰度特效滤镜
  8. 2019 家居云java面试笔试题 (含面试题解析)
  9. 2019三六零 java面试笔试题 (含面试题解析)
  10. 基于SVM的道路简单分割