Flume安装

介绍

Flume本身的安装比较简单(flume的介绍请参考http://blog.csdn.net/rzhzhz/article/details/7448633),安装前先说明几个概念,先看flume的架构

1.    Flume分三种角色

Mater:  master负责配置及通信管理,是集群的控制器。

Collector: collector用于对数据进行聚合,往往会产生一个更大的流,然后加载到storage中。

Agent: Agent用于采集数据,agent是flume中产生数据流的地方,同时,agent会将产生的数据流传输到collector

2.    Collector和Agent的配置数据必须指定Source(可以理解为数据入口)和Sink(可以理解为数据出口)

常用的source如:

text(“filename”):将文件filename作为数据源,按行发送

tail(“filename”):探测filename新产生的数据,按行发送出去

fsyslogTcp(5140):监听TCP的5140端口,并且接收到的数据发送出去

常用的sink如:

console[("format")] :直接将将数据显示在桌面上

text(“txtfile”):将数据写到文件txtfile中

dfs(“dfsfile”):将数据写到HDFS上的dfsfile文件中

syslogTcp(“host”,port):将数据通过TCP传递给host节点

具体介绍可以参考

http://blog.csdn.net/rzhzhz/article/details/7457956

http://blog.csdn.net/rzhzhz/article/details/7449662

安装

1.    下载解压安装

a)    Flume的下载地址http://archive.cloudera.com/cdh/3/

b)    这里所说的安装包括jdk,flume本身及zookeeper的安装,这里就不再赘述jdk的安装过程。Zookeeper集群安装请参考http://blog.csdn.net/rzhzhz/article/details/7448894

c)     把下载好的flume包解压到相应位置(flume集群每台机器都需安装),以下以$FLUME_HOME代替安装路径,至于以哪个用户安装按本身实际情况而定。

d)    我们暂且先配置一个master,一个collector,一个agent,主机名对应如下

Mater: master

Collector : collector

Agent : agent

2.    配置相关路径

a)    这里要配置相关路径无非也就是因为flume在启动的时候如果依赖到相关软件(如java,hadoop,zookeeper)时会去其根目录下加载jar包和去conf目录下加载配置文件

b)    我习惯在/etc/profile下配置export,当然你也可以去$FLUME_HOME/bin目录下flume-env.sh配置(由flume-env.sh.template改名而成)

配置大致如下(内容仅供参考,加载过程大家可参考$FLUME_HOME/bin/flume脚本内容)

#Java

export  JAVA_HOME=/usr/java/jdk1.6.0_25

export  CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export  PATH=$PATH:$JAVA_HOME/bin

#hadoop

export  HADOOP_HOME=/usr/local/hadoop

export  PATH=$PATH:$HADOOP_HOME/bin

#zookeeper

export  ZOOKEEPER_HOME=/usr/local/zookeeper

export  PATH=$PATH:$ZOOKEEPER_HOME/bin

#flume

export  FLUME_HOME=/usr/local/flume

export  FLUME_CONF_DIR=$FLUME_HOME/conf

export  PATH=$PATH:$FLUME_HOME/bin

3.    修改配置文件

a)    $FLUME_HOME/conf目录下本身有flume-conf.xml和flume-site.xml.template两个文件,flume-conf.xml是默认的配置文件,虽说也可以修改,但不建议修改,用户配置应该在flume-site.xml(由flume-site.xml.template改名而成)文件中(即相当于覆盖flume-conf.xml文件中的原有配置)。flume-site.xml文件应该是针对节点在集群中的不同角色而做不同的修改(详细的配置参数可以参考flume-conf.xml,针对不同角色做了分门别类,一目了然),这里就不具体描述了,可参考http://blog.csdn.net/rzhzhz/article/details/7457956

b)    Collector和Agent的用户配置文件中flume-site.xml必须指定master的地址flume.master.servers,如下:

<property>

<name>flume.master.servers</name>

<value>master</value>

</property>

4.    启动zookeeper集群

a)    这里zookeeper集群会在master的配置文件里配置。

<property>

<name>flume.master.zk.use.external</name>

<value>true</value>

</property>

<property>

<name>flume.master.zk.servers</name>

<value>master:2181,collector:2181,agent:2181</value>

</property>

flume.master.zk.use.external   是否使用外部zookeeper集群

flume.master.zk.servers zookeeper集群地址

b)    如果不配置则使用flume内部提供的zookeeper。flume使用使用zookeeper进行管理和负载均衡.

c)     关于zookeeper保存的master的配置数据是可以配置(flume.master.store)的,可以选择存在zookeeper中(zookeeper),也可以选择存储在内存中(memory)

5.    启动master,collector,Agent

a)    启动master:  flume master

b)    启动node(collector):  flume node_nowatch

c)     启动node(agent):  flume node_nowatch

后两者的启动方式是一样的,只是在配置参数中有所差异

启动node的时候可以选择指定node的名字的参数  -n ,默认为主机名

如(flume node_nowatch –n node1)

6.    查看

a)    Web查看

Master :

http://master:35871/flumemaster.jsp

可以在master页面查看和配置node参数

node :

http://collector:35862/flumeagent.jsp

http://agent:35862/flumeagent.jsp

单机部署的时候,如果启动了多个node,则端口以此增加(如35863,35864)

b)    Shell连接(简略介绍下,更详细的命令请参考help)

flume shell

collect master

7.    在master修改节点配置

a)    这里我们其实可以这样先易后难,不要一开始就弄复杂的配置,这样很难定位错误,还有flume本身的错误基本就是在控制台输出,这与我们的调试思路有点违背,我们一般的查错首先都会想到日志文件,但它的日志文件实在是没什么东西

b)    配置界面大致如下

当然你也可以在shell端配置,此处就不多做介绍。

Web界面配置步骤如下

首先选择configure node选择要选择的node,或者指定不存在于list中的节点(or specify another node)

配置source

配置sink

提交

提交之后可以在master的界面查看是否成功,大致如下图

c)     Collector配置

SOURCE: collectorSource(35853)

监听35853端口,接受agent发送的消息

SINK: collectorSink("file:///tmp/flume/collected","sink")

将数据加载到文件中

d)    Agent配置

SOURCE: console

从控制台接受输入

SINK: agentE2ESink( "collector",35853 )

指定collector的名字及端口

下面简单介绍一下调试流程

首先我们可以这么配置 先配置最简单的source ,console(控制台输入)

最简单的sink,collectorSink("file:///tmp/flume/collected", "file")

然后看file:///tmp/flume/collected文件目录下是否有控制台输入的内容

调试成功后说明agent与collector是相通的。

再把source换成text或者其他再做调试

最后把sink换成hdfs或者hbase什么的

8.    配置生效(自动),查看结果

flume安装及配置的更多相关文章

  1. Flume简介与使用(一)——Flume安装与配置

    Flume简介与使用(一)——Flume安装与配置 Flume简介 Flume是一个分布式的.可靠的.实用的服务——从不同的数据源高效的采集.整合.移动海量数据. 分布式:可以多台机器同时运行采集数据 ...

  2. CentOS6安装各种大数据软件 第七章:Flume安装与配置

    相关文章链接 CentOS6安装各种大数据软件 第一章:各个软件版本介绍 CentOS6安装各种大数据软件 第二章:Linux各个软件启动命令 CentOS6安装各种大数据软件 第三章:Linux基础 ...

  3. flume安装及配置介绍(二)

    注: 环境: skylin-linux Flume的下载方式: wget http://www.apache.org/dyn/closer.lua/flume/1.6.0/apache-flume-1 ...

  4. Flume 安装和配置

    安装步骤 1.安装jdk,1.6版本以上 2.上传flume的安装包 3.解压安装 4.在conf目录下,创建一个配置文件,比如:template.conf(名字可以不固定,后缀也可以不固定) 5.配 ...

  5. CentOS6安装各种大数据软件 第九章:Hue大数据可视化工具安装和配置

    相关文章链接 CentOS6安装各种大数据软件 第一章:各个软件版本介绍 CentOS6安装各种大数据软件 第二章:Linux各个软件启动命令 CentOS6安装各种大数据软件 第三章:Linux基础 ...

  6. CentOS6安装各种大数据软件 第八章:Hive安装和配置

    相关文章链接 CentOS6安装各种大数据软件 第一章:各个软件版本介绍 CentOS6安装各种大数据软件 第二章:Linux各个软件启动命令 CentOS6安装各种大数据软件 第三章:Linux基础 ...

  7. Flume的安装与配置

    Flume的安装与配置 一.       资源下载 资源地址:http://flume.apache.org/download.html 程序地址:http://apache.fayea.com/fl ...

  8. 具体说明 Flume介绍、安装和配置

    社论: 本文总结"Hadoop生态系统"中的当中一员--Apache Flume 写在前面二: 所用软件说明: 一.什么是Apache Flume 官网:Flume is a di ...

  9. 3.flume安装以及环境配置

    1.安装jdk 我这里已经安装过了,这里就不演示了 2.安装flume 安装cdh版本的,http://archive.cloudera.com/cdh5/cdh/5/ 安装完毕之后,配置环境变量. ...

随机推荐

  1. sharepoint 2013 配件控制FileUpload如何检查是否图像的方法

    它记录的附件控制FileUpload如何检查是否图像的方法: function checkImg() { var fileObj =document.getElementById('<%=Fil ...

  2. 为 Oracle Database 开发 WCF Data Services 和 OData 应用程序

    为 Oracle Database 开发 WCF Data Services 和 OData 应用程序 本教程包含以下部分:   目的   所需时间   概述   先决条件   创建新的网站项目   ...

  3. SSIS从理论到实战,再到应用(7)----常用的数据类型转换操作

    原文:SSIS从理论到实战,再到应用(7)----常用的数据类型转换操作 上期回顾: SSIS从理论到实战,再到应用(6)----SSIS的自带日志功能 在抽取各种应用的数据时候,经常会遇到数据需要转 ...

  4. ASP.NET MVC+EF框架+EasyUI实现权限管理系列(20)-多条件模糊查询和回收站还原的实现

    原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(20)-多条件模糊查询和回收站还原的实现 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架 ...

  5. js 正则学习小记之匹配字符串

    原文:js 正则学习小记之匹配字符串 今天看了第5章几个例子,有点收获,记录下来当作回顾也当作分享. 关于匹配字符串问题,有很多种类型,今天讨论 js 代码里的字符串匹配.(因为我想学完之后写个语法高 ...

  6. c/c++和java达到swap不同功能

    首先我们来看看c/c++实施swap性能 void swap ( int & a, int & b) { int Temp; temp = a; a = b; b = temp; } ...

  7. 基于Servlet、JSP、JDBC、MySQL登录模块(包括使用的过滤器和配置)

    遇见前文的注冊模块,本篇是登录模块.主要包含登录主界面,和登录相关编写的LoginAction.LoginDao和LoginService.以及配置的Filter.以下按逻辑顺序记录具体过程和代码: ...

  8. 深度解析javascript中的浅复制和深复制

    原文:深度解析javascript中的浅复制和深复制 在谈javascript的浅复制和深复制之前,我们有必要在来讨论下js的数据类型.我们都知道有Number,Boolean,String,Null ...

  9. 算法 & 分析 (收集)

    算法一:快速排序算法 快速排序是由东尼·霍尔所发展的一种排序算法.在平均状况下,排序 n 个项目要Ο(n log n)次比较.在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见.事实上,快速排序通 ...

  10. 【转】height,posHeight和pixelHeight区别

    height 返回高度    带单位 posHeight    不带单位的数字 pixelHeight 转换成像素后的数字    不带单位 更多资料 http://www.1fan.com.cn