Flume大数据集群安装

Flume大数据集群安装

一 flume 的简介
二 flume的环境准备
三 flume的安装步骤
四 运行测试flume
五 遇见的问题和注意事项

一 flume 的简介

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

flume的组合形式:

图片

Multiplexing the flow(选择分流)

在这里插入图片描述

二 flume的环境准备

操作系统:CentOS 7)
搭建好hadoop集群(三台已经搭好集群的虚拟机)
Flume版本:1.8.0 flume 下载地址
jdk版本:jdk1.8.0_171

三 flume的安装步骤

1 master主机 创建tools(安装包目录)将flume安装包上传到tools目录下,然后将flume解压到training(安装目录)目录下(tools,training 目录可以根据个人习惯进行更改)

[root@niit01 ~]# tar -zvxf /tools/apache-flume-1.8.0-bin.tar.gz  -c /training/

2 对flume进行重命名,并在conf 目录下复制出flume-env .sh

mv +要重命名的flume + 你重命名后的地址
[root@niit04 flume1]# mv /flume1  /training/flume
[root@niit04 conf]# cp flume-env.sh.template  flume-env.sh

3.配置flume -env.sh

进入编辑
[root@niit04 conf]# vim flume-env.sh
只需要更改jdk的安装路径,然后保存退出
 export JAVA_HOME=/training/jdk1.8.0_171


4 创建日志文件目录 临时缓存目录
创建logs目录(为空后面否则会报错)

[root@niit01 flume]# mkdir logs
[root@niit01 flume]# ll
总用量 148
drwxr-xr-x  2 root root    59 11月 24 17:17 bin
-rw-r--r--  1 root root 81264 9月  15 2017 CHANGELOG
drwxr-xr-x  2 root root  4096 11月 24 20:36 conf
drwxr-xr-x  3 root root    18 11月 24 17:31 data
-rw-r--r--  1 root root  5681 9月  15 2017 DEVNOTES
-rw-r--r--  1 root root  2873 9月  15 2017 doap_Flume.rdf
drwxr-xr-x 10 root root  4096 9月  15 2017 docs
drwxr-xr-x  2 root root  4096 11月 24 17:17 lib
-rw-r--r--  1 root root 27663 9月  15 2017 LICENSE
drwxr-xr-x  2 root root     6 11月 24 17:28 logs
-rw-r--r--  1 root root   249 9月  15 2017 NOTICE
-rw-r--r--  1 root root  2483 9月  15 2017 README.md
-rw-r--r--  1 root root  1588 9月  15 2017 RELEASE-NOTES
drwxr-xr-x  2 root root    67 11月 24 17:17 tools

创建临时缓存目录

我是一级一级创建的,也可以直接创建
[root@niit01 flume]# mkdir data
[root@niit01 data]# mkdir flume
[root@niit01 flume]# mkdir checkpoint

5 .配置slave.conf 文件

[root@niit01 conf]# touch slave.conf
进入配置
[root@niit01 conf]# vim slave.conf

配置内容:主要作用是监听目录中的新增数据,采集到数据之后,输出到avro (输出到agent)
注意:Flume agent的运行,主要就是配置source channel sink
下面的a1就是agent的代号,source叫r1 channel叫c1 sink叫k1

a1.sources = r1
a1.sinks = k1
a1.channels = c1

#具体定义source
a1.sources.r1.type = spooldir
#创建此目录,保证里面空的
a1.sources.r1.spoolDir = /training/flume/logs

#对于sink的配置描述 使用avro日志做数据的消费
a1.sinks.k1.type = avro
# hostname是最终传给master节点的位置
a1.sinks.k1.hostname = niit01
a1.sinks.k1.port = 44444#端口号

#对于channel的配置描述 使用文件做数据的临时缓存 创建一个检查点的位置用于临时缓存提高安全性
a1.channels.c1.type = file
a1.channels.c1.checkpointDir = /training/flume/data/flume/checkpoint
a1.channels.c1.dataDirs = /training/flume/data

#通过channel c1将source r1和sink k1关联起来
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1

6.配置环境变量

vi ~/.bash_profile
#flume
export FLUME_HOME=/training/flume
export PATH=$PATH:$FLUME_HOME/bin

#让环境变量生效
[root@niit01 ~]# source ~/.bash_profile

查看环境配置是否成功;

[root@niit01 ~]# flume-ng version
Flume 1.8.0
Source code repository: https://git-wip-us.apache.org/repos/asf/flume.git
Revision: 99f591994468633fc6f8701c5fc53e0214b6da4f
Compiled by denes on Fri Sep 15 14:58:00 CEST 2017
From source with checksum fbb44c8c8fb63a49be0a59e27316833d

7.配置好的flume分发到slave节点上(niit04,niit05)Hadoop的从节点

[root@niit01 ~]# scp -r /training/flume/ root@niit04:/training/
[root@niit01 ~]# scp -r /training/flume/ root@niit05:/training/

8.在master主节点上面创建master.conf文件夹,编辑配置

[root@niit01 conf]# touch master.conf
[root@niit01 conf]# vim master.conf
master.conf配置:
#slave1,2上的数据,聚合起来,传到hdfs上面
# :Flume agent的运行,主要就是配置source channel sink
# 下面的a1就是agent的代号,source叫r1 channel叫c1 sink叫k1

a1.sources = r1
a1.sinks = k1
a1.channels = c1

#对于source的配置描述 监听avro
a1.sources.r1.type = avro
# 传入的主机名和端口号
a1.sources.r1.bind = niit01
a1.sources.r1.port = 44444


#定义拦截器,为消息添加时间戳
a1.sources.r1.interceptors = i1
a1.sources.r1.interceptors.i1.type = org.apache.flume.interceptor.TimestampInterceptor$Builder

#对于sink的配置描述 传递到hdfs上面
a1.sinks.k1.type = hdfs
#设置master的hdfs路径地址
a1.sinks.k1.hdfs.path = hdfs://niit01:9000/flume/%Y%m%d
a1.sinks.k1.hdfs.filePrefix = events-
a1.sinks.k1.hdfs.fileType = DataStream
#不按照条数生成文件
a1.sinks.k1.hdfs.rollCount = 0
#HDFS上的文件达到128M时生成一个文件
a1.sinks.k1.hdfs.rollSize = 134217728
#HDFS上的文件达到60秒生成一个文件
a1.sinks.k1.hdfs.rollInterval = 60


#对于channel的配置描述 使用内存缓冲区域做数据的临时缓存
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100
#通过channel c1将source r1和sink k1关联起来
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1
#保存退出
配置完成,进行测试

四 运行测试flume

1.启动maste flume

[root@niit01 ~]# flume-ng agent -n a1 -c conf -f /training/flume/conf/master.conf -Dflume.root.logger=INFO,console

出现一下界面就是启动成功

2.在slave节点上启动slave.conf

[root@niit04 flume]# bin/flume-ng agent -n a1 -c conf -f conf/slave.conf -Dflume.root.logger=INFO,console

出现如下界面就是启动成功了
在这里插入图片描述
3.在从节点上面test 复制到logs中

[root@niit04 ~]# vim Test
[root@niit04 ~]# cp Test /training/flume/logs/

Test 内容
在这里插入图片描述
会出现如下界面
在这里插入图片描述
在这里插入图片描述
4.登录http://niit01:50070/explorer.html#
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
出现就说明flume集群安装完成;
在这里插入图片描述

五 遇见的问题和注意事项

1 logs 中有内容(将logs中的内容清空既可以解决)
请添加图片描述
2.hadoop 集群没有启动也会报错,所以在启动flume之前 需要先启动Hadoop,

  • 3
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值