首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Flume安装及部署

今天给大家分享一下Flume单机配置以及安装部署

一、下载和上传flume(两种方式)

1、手动下载 1.1 http://mirror.bit.edu.cn/apache/flume/1.8.0/ 下载flume

1.2 随便找一个目录 创建一个flume文件夹 我的在/kingyifan目录

代码语言:javascript
复制
命令:mkdir flume

1.3 把flume安装包上传服务器刚创建的那个文件夹(略)

2、自动下载 2.1 随便找一个目录 创建一个flume文件夹 我的在/kingyifan目录

代码语言:javascript
复制
命令:mkdir flume

直接用 wget http://mirror.bit.edu.cn/apache/flume/1.8.0/apache-flume-1.8.0-bin.tar.gz

以上两种方式任选其一进行下载,下载完之后会有一个apache-flume-1.8.0-bin.tar.gz(文件名是我手敲的,有错误给我说哈。)文件

二、解压flume安装包

代码语言:javascript
复制
在安装包目录下执行命令:tar -zxvf apache-flume-1.8.0-bin.tar.gz 

三、监控目录

3.1 修改flume-env.sh 文件 3.1.1 进入flume目录下conf目录下复制一个模板 flume-env.sh

代码语言:javascript
复制
进入conf目录下输入命令: cp flume-env.sh.template flume-env.sh

3.1.2 修改刚刚复制的文件

代码语言:javascript
复制
进入conf目录下输入命令:  vi  flume-env.sh

寻找jdk目录 没有安装jdk小伙伴请移步 点我看jdk安装文章

修改flume-env.sh文件export JAVA_HOME= jdk目录

我原来修改文件一直用的vi xxx 有个朋友告诉我 vim xxx也可以 我发现vim是有颜色的!由于好奇我就搜索了一下vi和vim的区别。

3.2 创建修改flumeList.conf监控目录配置文件

3.2.1在flume目录下config目录下 创建 flumeList.conf文件

代码语言:javascript
复制
命令:touch flumeList.conf

3.2.2修改flumeList.conf文件

代码语言:javascript
复制
命令:vim flume List.conf
代码语言:javascript
复制
修改内容为:
# 指定Agent的组件名称
a1.sources = r1
a1.sinks = k1
a1.channels = c1

# 指定Flume source
a1.sources.r1.type = spooldir
#要监听的目录地址
a1.sources.r1.spoolDir = /kingyifan/flume/apache-flume-1.8.0-bin/monitorList

# 指定Flume sink
a1.sinks.k1.type = logger

# 指定Flume channel
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100

# 绑定source和sink到channel上
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1

3.2.3新建一个目录(和配置文件 监听目录一致哦!!!)

3.2.4配置环境变量

代码语言:javascript
复制
1、 打开环境变量命令:vim /etc/profile
2、最后添加以下配置:
   export FLUME_HOME=/DATA/flume/apache-flume-1.8.0-bin(flume目录)
   export PATH=$PATH:$FLUME_HOME/bin
3、刷新配置:source /etc/profile

3.2.5 启动flume 3.2.5.1 查看flume版本

代码语言:javascript
复制
进入flume目录:  cd /kingyifan/flume/apache-flume-1.8.0-bin
查询flume版本命令:flume-ng version

启动flume

代码语言:javascript
复制
命令:flume-ng agent --conf conf --conf-file conf/flumeList.conf  --name a1  -Dflume.root.logger=INFO,console

看到这里则启动成功!

3.2.6 复制一个窗口看一下效果!

3.2.6.1在新窗口进入到flume目录

代码语言:javascript
复制
 cd  /kingyifan/flume/apache-flume-1.8.0-bin/monitorList

3.2.6.2创建一个文件随便写点东西

代码语言:javascript
复制
vi kingyifan.log
随便写点东西保存

我们来切换第一个窗口 发现已经采集了、

我们在来切换第二个 发现kingyifan.log什么都没有了。

我们发现多了一个kingyifan.log.COMPLETED 我们来看看内容,原来在这里!

四、监控文件(其余步骤请参考监控目录哦!) 4.1、进入flume目录中conf目录下创建一个flumeOne.conf文件

代码语言:javascript
复制
 进入flume目录中conf目录下创建一个flumeOne.conf文件
 添加内容为:
 # 指定Agent的组件名称
a1.sources = r1
a1.sinks = k1
a1.channels = c1

# 指定Flume 要监听文件的目录
#指定文件类型
a1.sources.r1.type = exec
#指定文件
a1.sources.r1.command = tail -F  /kingyifan/flume/apache-flume-1.8.0-bin/monitorOne.log

# 指定Flume sink
a1.sinks.k1.type = logger

# 指定Flume channel
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100

# 绑定source和sink到channel上
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1

4.2、创建一个要监听的文件:

代码语言:javascript
复制
进入目录命令:cd /kingyifan/flume/apache-flume-1.8.0-bin
创建一个监听文件:vim monitorOne.log
随便写点东西:
	hiahia
	wo zai jiankong wenjian
	bu zhi dao neng bu neng xing
	hahahaha
	lalalalalala
	blog:www.cnbuilder.cn

(adsbygoogle =window.adsbygoogle ||[]).push({});

4.3、启动flume:

代码语言:javascript
复制
在flume目录下执行,不是conf目录下!!!
命令:flume-ng agent --conf conf --conf-file conf/flumeOne.conf  --name a1  -Dflume.root.logger=INFO,console

有没有发现 flume一启动就发现他消费了。哈哈哈哈。因为我们是先创建的文件 写的内容,所以一启动就采集了,也可以和目录一样,先启动flume然后在新建log日志在写点东西。

五、监听端口(其他修改和监听目录一样,具体请参考监听目录):

5.1创建监听端口配置文件。

代码语言:javascript
复制
进入目录命令:cd /kingyifan/flume/apache-flume-1.8.0-bin/conf
创建一个监听文件:vim duankou.conf

添加内容为:
#me the components on this agent
a1.sources = r1
a1.sinks = k1
a1.channels = c1

# Describe/configure the source
a1.sources.r1.type = netcat
a1.sources.r1.bind = localhost
a1.sources.r1.port = 44444

# Describe the sink
a1.sinks.k1.type = logger

# Use a channel which buffers events in memory
a1.channels.c1.type = memory
#默认该通道中最大可以存储的event数量
a1.channels.c1.capacity = 1000
#每次最大可以从source中拿到或者送到sink中的event数量 
a1.channels.c1.transactionCapacity = 100

# Bind the source and sink to the channel
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1

5.2 启动flume

代码语言:javascript
复制
在flume目录下执行:不是在conf目录哦!
flume-ng agent --conf conf --conf-file conf/duankou.conf  --name a1  -Dflume.root.logger=INFO,console

5.3测试监听端口: 5.3.1、复制一个窗口:

代码语言:javascript
复制
进入flume目录: cd /kingyifan/flume/apache-flume-1.8.0-bin
执行:telnet localhost 44444
如果报没有telnet 则执行:
yum -y install telnet

然后发送消息。。。

我们切换过来哪个窗口发现已经收集了。

六、使flume后台执行,日志输入到指定文件 把日志输出到执行文件:

代码语言:javascript
复制
进入flume目录: cd /kingyifan/flume/apache-flume-1.8.0-bin
后台启动flume: flume-ng agent --conf conf --conf-file conf/duankou.conf --name a1 -Dflume.root.logger=INFO,console > logger.out 2>&1 &

发现创建一个logger.out日志文件

代码语言:javascript
复制
进入flume目录: cd /kingyifan/flume/apache-flume-1.8.0-bin
查看日志:cat logger.out 或者tail -f logger.out

测试一下:

代码语言:javascript
复制
进入flume目录: cd /kingyifan/flume/apache-flume-1.8.0-bin
执行:telnet localhost 44444 
随便输入点内容
chen tui le
OK
wo de nv wang bi xia
OK
zhe yi tui bian shi yi bei zi
OK
wo xiang da sheng gao su ni 
OK
ni yi zhi zai wo de shi jie li
OK
kingyifan
OK

我们看下日志:

举报
领券