flume安装部署手册new.docx

上传人:b****0 文档编号:18353581 上传时间:2023-08-16 格式:DOCX 页数:13 大小:208.97KB
下载 相关 举报
flume安装部署手册new.docx_第1页
第1页 / 共13页
flume安装部署手册new.docx_第2页
第2页 / 共13页
flume安装部署手册new.docx_第3页
第3页 / 共13页
flume安装部署手册new.docx_第4页
第4页 / 共13页
flume安装部署手册new.docx_第5页
第5页 / 共13页
flume安装部署手册new.docx_第6页
第6页 / 共13页
flume安装部署手册new.docx_第7页
第7页 / 共13页
flume安装部署手册new.docx_第8页
第8页 / 共13页
flume安装部署手册new.docx_第9页
第9页 / 共13页
flume安装部署手册new.docx_第10页
第10页 / 共13页
flume安装部署手册new.docx_第11页
第11页 / 共13页
flume安装部署手册new.docx_第12页
第12页 / 共13页
flume安装部署手册new.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

flume安装部署手册new.docx

《flume安装部署手册new.docx》由会员分享,可在线阅读,更多相关《flume安装部署手册new.docx(13页珍藏版)》请在冰点文库上搜索。

flume安装部署手册new.docx

flume安装部署手册new

 

Flume-NG安装部署说明

保密文件

不得外传

 

目录

1.前言5

1.1.适用范围5

1.2.专业术语5

1.3.前提和假设5

1.4.注意事项5

1.5.参考文档5

2.ApacheFlume介绍6

2.1.数据流模型6

2.2.ApacheFlume支持的其它数据流模型6

2.2.1.多代理流6

2.2.2.合并流7

2.2.3.多通路流7

3.部署说明8

3.1.先决条件8

3.1.1.操作系统平台8

3.1.2.所需软件8

3.2.环境准备8

3.2.1.账号分配8

3.2.2.目录分配8

3.2.3.环境变量设置8

3.3.安装步骤8

3.3.1.下载安装包8

3.3.2.解压安装包8

3.3.3.配置说明9

4.日常维护10

4.1.启动ApacheFlumeAgent10

4.2.启动ApacheFlumeClient11

4.3.停止ApacheFlume13

4.4.ApacheFlume命令13

5.其它14

 

1.前言

Flume开始由Cloudera公司开发,2011年Cloudera公司将Flume贡献给开源社区,现在ApacheFlume是ApacheSoftwareFoundation的一个顶级项目。

目前Flume有两个可用的Release版本:

0.9x和1.x。

0.9x版本称为Flume-OG由Cloudera公司开发和维护,1.x版本称为Flume-NG由ApacheSoftwareFoundation开发和维护。

本文档只对ApacheFlume1.2.0进行介绍说明。

1.1.适用范围

本手册说明了ApacheFlume的安装、配置、日常维护、及常见问题的处理方法。

1.2.专业术语

术语

解释

avro

基于二进制的高性能的通讯中间件.提供了数据序列化的功能和RPC服务。

agent

一个JVM进程,其中运行了FlumeNG组件。

event

在FlumeNG中传输的单个数据单元。

source

FlumeNG中接收数据源的地方。

sink

在flumeNG中数据流动的终点。

channel

source和sink之间的数据连接导管。

1.3.前提和假设

阅读本手册前,您需要对linux操作系统和java编程语言的基础知识比较了解。

1.4.注意事项

不要在手册描述的生产环境进行学习类型的操作,否则将引发生产故障。

1.5.参考文档

http:

//flume.apache.org/FlumeUserGuide.html

https:

//cwiki.apache.org/FLUME/flume-ng.html

2.ApacheFlume介绍

ApacheFlume是一个分布式部署的、可靠的、高效率的日志采集系统,其通过一个简单灵活的框架实现了海量日志的采集、聚合和统一存储。

2.1.数据流模型

FlumeAgent是一个JVM进程,其中包含包括三个组件:

Source、Channel、Sink。

FlumeSource从外部数据源获得数据(events)如:

WebServer,外部数据源使用目前公认格式将数据(events)传送给FlumeSource如:

Avro的FlumeSource可以接受AvroClinet传送来的数据。

当数据到达FlumeSource后,FlumeSource将数据存储在一个或多个Channel中,Channel存储数据直到数据被Sink所处理。

2.2.ApacheFlume支持的其它数据流模型

2.2.1.多代理流

2.2.2.合并流

2.2.3.多通路流

3.部署说明

3.1.先决条件

3.1.1.操作系统平台

GNU/Linux2.6.18-308.el5xen或以上版本

3.1.2.所需软件

JRE:

Java(TM)SERuntimeEnvironment(build1.6.0_32-b05)或以上版本

Flume:

AapcheFlume1.2.0

3.2.环境准备

3.2.1.账号分配

本手册主要说明如何配合HDFS使用,所以请使用为Haoop集群所分配的账号操作Flume,以免对HDFS写入时出现权限问题。

如不涉及HDFS的写入,请单独分配账号进行操作。

3.2.2.目录分配

由于使用Haoop集群的账号,为了方便管理和操作起见请在Haoop用户目录下建立一个独立目录存放Haoop集群用户所使用到的应用。

如:

/home/hadoop/app/flume。

3.2.3.环境变量设置

JAVA_HOME,CLASS_PATH

3.3.安装步骤

3.3.1.下载安装包

到ApacheFlume官网下载ApacheFlume1.2.0的安装包,并将其上传至安装主机,存放在/home/hadoop/app目录下。

ApacheFlume的官方下载地址如下:

http:

//flume.apache.org/download.html

3.3.2.解压安装包

执行命令对Flume安装包进行解压

[hadoop@cassdb~]$cd/home/hadoop/app

[hadoop@cassdbapp]$tar-xzvfapache-flume-1.2.0-bin.tar.gz

解压完Flume目录结构如下:

3.3.3.配置说明

本手册只对简单数据流及Avroclient进行说明,ApacheFlume的其它配置方法请参见http:

//flume.apache.org/FlumeUserGuide.html。

Step1在Flume的conf目录下新建一个配置文件,并命名为flume-avro.conf

[hadoop@cassdbconf]$touchflume-avro.conf

Step2编辑配置文件

使用文本编辑器对flume-avro.conf文件进行编辑,并输入以下内容:

agent1.sources=avro_source

agent1.sinks=hdfs_sink

agent1.channels=mem_channel

agent1.sources.avro_source.type=avro

agent1.sources.avro_source.bind=0.0.0.0

agent1.sources.avro_source.port=4141

agent1.sources.avro_source.interceptors=timestamp

agent1.sources.avro_source.interceptors.timstamp.type=org.apache.flume.interceptor.TimestampInterceptor$Builder

agent1.sinks.hdfs_sink.type=hdfs

agent1.sinks.hdfs_sink.hdfs.path=hdfs:

//10.32.147.241/flume/weblog/%y-%m-%d

agent1.sinks.hdfs_sink.hdfs.filePrefix=test

agent1.sinks.hdfs_sink.hdfs.rollSize=65000000

agent1.sinks.hdfs_sink.hdfs.rollInterval=0

agent1.sinks.hdfs_sink.hdfs.rollCount=0

agent1.sinks.hdfs_sink.hdfs.fileType=DataStream

agent1.sinks.hdfs-sinks.writeFormat=Text

agent1.channels.mem_channel.type=memory

agent1.channels.mem_channel.capacity=1000

agent1.channels.mem_channel.transactionCapactiy=100

agent1.channels.mem_channel.keep-alive=30

agent1.sources.avro_source.channels=mem_channel

agent1.sinks.hdfs_sink.channel=mem_channel

上面的配置文件定义了一个FlumeAgent,source是avro,sink是hdfs,channel是memory。

avro的RPCserver启动在本地的4141端口。

hdfs的输出目录为hdfs:

//10.32.147.241/flume/weblog,并按天产生下一级目录,文件名前缀是test,文件到达64M时换一个文件存储。

4.日常维护

4.1.启动ApacheFlumeAgent

进入安装路径的bin目录

[hadoop@cassdb~]$cd/home/hadoop/app/apache-flume-1.2.0/bin

执行启动命令

[hadoop@cassdbbin]$./flume-ngagent--conf-file../conf/flume-avro.conf--nameagent1-Dflume.root.logger=INFO,console

如Flume正常启动,会有如下日志信息产生:

4.2.启动ApacheFlumeClient

ApacheFlumeClient可以运行在任何安装有ApacheFlume环境的主机上,只要和运行ApacheFlumeAgent的主机网络上相通。

运行命令如下:

flume-ngavro-client-H"$avro_host"-p"$avro_port"-filename"$filename"

我们在测试环境中针对ApacheFlumeClient的启停编写了shell脚本,该脚本会将运行目录下所有的文件传输到ApacheFlumeAgent。

启动脚本如下:

#!

/bin/bash

local_file_dir=/home/hadoop/mr_data/hw

local_bak_dir=/home/hadoop/mr_data/back_up/hw

avro_host=10.32.147.241

avro_port=4141

status_file=/home/hadoop/apache-flume-1.2.0/conf/status_file

if[!

-d"$local_file_dir"];then

echo"$local_file_dirnotfound"

exit1

fi

if[!

-d"$local_bak_dir"];then

echo"$local_bak_dirnotfound"

exit2

fi

 

if[!

-f"$status_file"];then

touch"$status_file"

echo$(date)>"$status_file"

fi

echo"changecurrectdirto$local_file_dir"

cd"$local_file_dir"

if[0-ne$?

];then

echo"can'tchangedirto$local_file_dir"

exit3

fi

while[-f$status_file]

do

forfilenamein$(ls-lrt|awk'{print$9}')

do

echo"filename"

if["$filename"="$status_file"];then

continue

fi

if[[-n"$filename"&&-f"$filename"]];then

echo"uploadfile:

$filename"

flume-ngavro-client-H"$avro_host"-p"$avro_port"-filename"$filename"

echo"mvfile:

$filename"

mv"$filename""$local_bak_dir"

fi

done

sleep10

done

停止脚本如下:

#!

/bin/bash

status_file=status_file

echo"stopingflume-ng......"

if[-f"$status_file"];then

rm-f"$status_file"

if[0-eq$?

];then

echo"rm$status_filesuccessed."

else

echo"rm$status_filefailed."

fi

else

echo"can'tfind$status_file"

fi

4.3.停止ApacheFlume

ApacheFlume并没有提供停止的命令,所以要停止ApacheFlume需要kill进程号

[hadoop@cassdb20120917]$ps-ef|grepflume

[hadoop@cassdb20120917]$kill-9进程号

4.4.ApacheFlume命令

Usage:

./flume-ng[options]...

commands:

helpdisplaythishelptext

agentrunaFlumeagent

avro-clientrunanavroFlumeclient

versionshowFlumeversioninfo

globaloptions:

--conf,-cuseconfigsindirectory

--classpath,-Cappendtotheclasspath

--dryrun,-ddonotactuallystartFlume,justprintthecommand

-Dproperty=valuesetsaJDKsystempropertyvalue

agentoptions:

--conf-file,-fspecifyaconfigfile(required)

--name,-nthenameofthisagent(required)

--help,-hdisplayhelptext

avro-clientoptions:

--host,-Hhostnametowhicheventswillbesent(required)

--port,-pportoftheavrosource(required)

--filename,-Ftextfiletostreamtoavrosource[default:

stdinput]

--headerFile,-RheaderFilecontainingheadersaskey/valuepairsoneachnewline

--help,-hdisplayhelptext

Notethatifdirectoryisspecified,thenitisalwaysincludedfirst

intheclasspath.

5.其它

本手册只对ApacheFlume的简单数据流进行了配置(这种配置也是我们目前测试系统中使用的),ApacheFlume还支持很多其它的配置方法,其它配置方法的描述请参见:

http:

//flume.apache.org/FlumeUserGuide.html

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2