分享

Flume安装和使用说明

pig2 2013-11-12 21:42:20 发表于 安装配置 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 11 53988
1.flume简介

FlumeCloudera提供的日志收集系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。
Flume是一个分布式、可靠、和高可用的海量日志采集、聚合和传输的系统。

2.安装和使用说明:
2.1 安装
a. 下载: http://archive.cloudera.com/cdh/3/ flume-0.9.0+1.tar.gz
接着解压.暂时用$flume代表解压路径.
c. 下载: http://archive.cloudera.com/cdh/3/ zookeeper-3.3.1.tar.gz
d. 安装zookeeper
yum install hadoop-zookeeper –y
yum install hadoop-zookeeper-server –y
修改/zookeeper-3.3.1/conf/ zoo_sample.cfg重命名为zoo.cfg
执行如下命令:

export  ZOOKEEPER_HOME=/home/hadoop/zookeeper-3.3.1
export  FLUME_HOME=/home/hadoop/flume-0.9.0+1
export  PATH=.:$FLUME_HOME/bin:$ZOOKEEPER_HOME/bin:$PATH

2.2 使用

执行>flume
输出如下:
usage: flume command [args...]
commands include:
  dump            Takes a specified source and dumps to console
  node            Start a Flume node/agent (with watchdog)
  master          Start a Flume Master server (with watchdog)
  version         Dump flume build version information
  node_nowatch    Start a flume node/agent (no watchdog)
  master_nowatch  Start a Flume Master server (no watchdog)
      class <class>   Run specified fully qualified class using Flume environment (no watchdog)
                   ex: flume com.cloudera.flume.agent.FlumeNode
  classpath       Dump the classpath used by the java executables
  shell           Start the flume shell
启动flumemaster节点执行:bin/flume master
通过flume打开文件
输入命令
$ flume dump 'tail("/home/hadoop/log/bb.txt")'
输出:
1.png


通过flume导入文件到hdfs
可打开http://10.1.27.30:35871/flumemaster.jsp 即可看到整理节点的情况
从上面URL打开的选项卡config,输入节点配置,然后点提交查询内容
如下:
2.png
Source为数据源,可有多种输入源,sink为接收器,当启动master节点时,会把文件写入到hdsf
启动配置好的节点:bin/flume node –n master
通过flume读取syslog-ng
3.png
分别启动节点hostcollector节点
3.9.png

4.png



3.附录:
Flume Event
Sources console
Stdin console
text("filename")
One shot text file source. One line is one event
tail("filename")
Similar to Unix’s tail -F. One line is one event. Stays open for more data and follows filename if file rotated.
multitail("file1"[, "file2"[, …]])
Similar to tail source but follows multiple files.
asciisynth(msg_count,msg_size)
A source that synthetically generates msg_count random messages of size msg_size. This converts all characters into printable ASCII characters.
syslogUdp(port)
Syslog over UDP port, port. This is syslog compatible.
syslogTcp(port)
Syslog over TCP port, port. This is syslog-ng compatible.
Flume Event Sinks
null
Null sink. Events are dropped.
console[("format")]
Console sink. Display to console’s stdout. The "format" argument is optional and defaults to the "debug" output format.
text("txtfile"[,"format"])
Textfile sink. Write the events to text file txtfile using output format "format". The default format is "raw" event bodies with no metadata.
dfs("dfsfile")
DFS seqfile sink. Write serialized Flume events to a dfs path such as hdfs://namenode/file or file:///file in Hadoop’s seqfile format. Note that because of the hdfs write semantics, no data for this sink write until the sink is closed.
syslogTcp("host",port)
Syslog TCP sink. Forward to events to host on TCP port port in syslog wire format (syslog-ng compatible), or to other Flume nodes setup to listen for syslogTcp.
默认端口如下:
TCP ports are used in all situations.
node collector port
flume.collector.port
35853+
node status web server
flume.node.http.port
35862+
master status web server
flume.master.http.port
35871
master heartbeat port
flume.master.heartbeat.port
35872
master admin/shell port
flume.master.admin.port
35873
master gossip port
flume.master.gossip.port
35890
master → zk port
flume.master.zk.client.port
3181
zk → zk quorum port
flume.master.zk.server.quorum.port
3182
zk → zk election port

flume.master.zk.server.election.port
3183


本帖被以下淘专辑推荐:

已有(11)人评论

跳转到指定楼层
huidl 发表于 2013-12-22 20:07:03
强大,学习了!!感谢分享
回复

使用道具 举报

nettman 发表于 2014-1-16 01:06:38
flume介绍以及安装配置

背景介绍
   Flume是Cloudera提供的日志收集系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。Flume是一个分布式、可靠、和高可用的海量日志采集、聚合和传输的系统。

Flume下载及安装
1,  系统环境
RedHat EnterpriseLinux 5.4(测试系统,flume需安在linux环境下面进行安装)
2,  下载
Flume官方下载地址:http://archive.cloudera.com/cdh/3/
Jdk1.6 官方下载址:http://www.java.net/download/jdk6/6u10/flume需要jdk1.6+环境)
3,  安装
1,  以root身份登录系统。安装jdk之前,先通过java -version检查一下当前的linux系统中是否已经安装了jdk,在redhat5.4企业版中默认安装了jdk1.4。
如果有,请用如下命令yum remove java删除
2,  将下载的jdk和flume拷贝到redhat系统上,这里先通过mkdir /opt/javasoft建立一个目录,然后通过cp命令把jdk-6u21-linux-i586-rpm.bin和flume-0.9.1+1.tar.gz拷贝到这里。注意:如果是用虚拟机安装的redhat,要实现windows和redhat的文件共享需要安装VMWare tools
3,  在终端中转到jdk-6u21-linux-i586-rpm.bin所在的目录,输入命令#chmod +755jdk-6u21-linux-i586-rpm.bin  //添加执行的权限
4,  在终端中执行#./jdk-6u1-linux-i586-rpm.bin ,//生成jdk-6u1-linux-i586.rpm的文件然后执行#rpm –ivh jdk-6u1-linux-i586.rmp
5,  设置jdk环境变量。在/etc/profile中找到export PATH USER LOGNAMEMAIL HOSTNAME HISTSIZE INPUTRC一行,然后再该行上面加入如下内容:
export JAVA_HOME=/usr/java/jdk1.6.0_21
export PATH=$PATH:$JAVA_HOEM/bin:$JAVA_HOME/jre/bin
exportCLASSPATH=.:/usr/java/jdk1.6.0_21/lib:/usr/java/jdk1.6.0_21/jre/lib:$CLASSPATH
6,  在终端中转到flume-0.9.1+1.tar.gz所在的目录,输入命令tar -zxvf flume-0.9.1+1.tar.gz 解压,然后在终端中输入cp -R flume-0.9.1+1 /usr/local/flume ;拷贝flume-0.9.1+1到/usr/local/下并重命名为flume
7,  设置flume环境变量:
export FLUME_HOME=/usr/local/flume
export FLUME_LOG_DIR=$FLUME_HOME/log
export PATH=$PATH:$FLUME_HOME/bin
8,  运行flume如下:
6.PNG

l      安装成功,否则检查jdk是否安装成功,环境变量是否正确配置
工作流程
下图的Flume的Architecture,在Flume中,最重要的抽象是data flow(数据流),data flow描述了数据从产生,传输、处理并最终写入目标的一条路径。在上图中,实线描述了data flow。其中,Agent用于采集数据,agent是flume中产生数据流的地方,同时,agent会将产生的数据流传输到collector。对应的,collector用于对数据进行聚合,往往会产生一个更大的流。
Flume提供了从console(控制台)、RPC(Thrift-RPC)、text(文件)、tail(UNIX tail)、syslog(syslog日志系统,支持TCP和UDP等2种模式),exec(命令执行)等数据源上收集数据的能力。同时,Flume的数据接受方,可以是console(控制台)、text(文件)、dfs(HDFS文件)、RPC(Thrift-RPC)和syslogTCP(TCP syslog日志系统)等。
其中,收集数据有2种主要工作模式,如下: Push Sources:外部系统会主动地将数据推送到Flume中,如RPC、syslog。Polling Sources:Flume到外部系统中获取数据,一般使用轮询的方式,如text和exec。
注意,在Flume中,agent和collector对应,而source和sink对应。Source和sink强调发送、接受方的特性(如数据格式、编码等),而agent和collector关注功能。

1.PNG
示例模型演示
1,  分别启动master、node、collector,命令如下:
Flume master //启动主机
Flume node_nowatch //启动node
Flume node_nowatch –n collector //启动collector
2,  http://localhost:35871/flumemaster.jsp访问主机界面
2.PNG
3,  http://localhost:35862/flumeagent.jsp访问node管理界面
4.PNG

5,  下面简单介绍flume三种配置模式,点击主机界面config:如下图
    5.PNG
    5.1


回复

使用道具 举报

小小布衣 发表于 2014-7-31 12:20:03
楼主请教一个问题,为什么我配置了环境变量后,还是会报这个问题[zhangxin@TUKMOB01 lib]$  flume node -n host
bash: flume: command not found
回复

使用道具 举报

小小布衣 发表于 2014-7-31 12:21:05
这个是完整的
[zhangxin@TUKMOB01 lib]$ which flume-ng
/tukmob/apache-flume-1.4.0-bin/bin/flume-ng
[zhangxin@TUKMOB01 lib]$ flume -version
bash: flume: command not found
[zhangxin@TUKMOB01 lib]$
回复

使用道具 举报

小小布衣 发表于 2014-7-31 12:22:41
这个是我的配置文件
export JAVA_HOME=/tukmob/jdk1.7.0_05
export HADOOP_HOME=/tukmob/hadoop-2.2.0
export HIVE_HOME=/tukmob/apache-hive-0.13.0-bin
export SQOOP_HOME=/tukmob/sqoop-1.4.4.bin__hadoop-2.0.4-alpha
export FLUME_HOME=/tukmob/apache-flume-1.4.0-bin
export FLUME_CONF_DIR=$FLUME_HOME/conf
export HBASE_HOME=/tukmob/hbase-0.96.2-hadoop2
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HIVE_HOME/bin:$SQOOP_HOME/bin:$FLUME_HOME/bin:$HBASE_HOME/bin
回复

使用道具 举报

小小布衣 发表于 2014-7-31 12:23:59
导致启动的时候报这个错
Info: Including HBASE libraries found via (/tukmob/hbase-0.96.2-hadoop2/bin/hbase) for HBASE access
Error: Could not find or load main class org.apache.flume.tools.GetJavaProperty
回复

使用道具 举报

pig2 发表于 2014-7-31 12:42:38
本帖最后由 pig2 于 2014-7-31 12:50 编辑
小小布衣 发表于 2014-7-31 12:22
这个是我的配置文件
export JAVA_HOME=/tukmob/jdk1.7.0_05
export HADOOP_HOME=/tukmob/hadoop-2.2.0

使用的是flume-ng把
用下面命令试一下:
  1. flume-ng version
复制代码



回复

使用道具 举报

小小布衣 发表于 2014-7-31 14:13:12
pig2 发表于 2014-7-31 12:42
本帖最后由 pig2 于 2014-7-31 12:50 编辑

使用的是flume-ng把

[zhangxin@TUKMOB01 Downloads]$ flume-ng version
Error: Could not find or load main class org.apache.flume.tools.GetJavaProperty
Error: Could not find or load main class org.apache.flume.tools.GetJavaProperty
Error: Could not find or load main class org.apache.flume.tools.VersionInfo
[zhangxin@TUKMOB01 Downloads]$
看还是这样的

回复

使用道具 举报

小小布衣 发表于 2014-7-31 14:24:45
我发现问题了,这个flume在我的电脑上不稳定。我刚刚重新下载安装了之后,刚开始是好的,一个中之后全部不能用,这是怎么回事啊
[root@TUKMOB01 tukmob]# flume-ng version
Flume 1.4.0
Source code repository: https://git-wip-us.apache.org/repos/asf/flume.git
Revision: 756924e96ace470289472a3bdb4d87e273ca74ef
Compiled by mpercy on Mon Jun 24 18:22:14 PDT 2013
From source with checksum f7db4bb30c2114d0d4fde482f183d4fe
[root@TUKMOB01 tukmob]# exit
exit
[zhangxin@TUKMOB01 flume-1.4.0]$ flume-ng version
Error: Could not find or load main class org.apache.flume.tools.GetJavaProperty
Error: Could not find or load main class org.apache.flume.tools.GetJavaProperty
Error: Could not find or load main class org.apache.flume.tools.VersionInfo
[zhangxin@TUKMOB01 flume-1.4.0]$ su root
回复

使用道具 举报

12下一页
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条