安装部署Flume的步骤并不复杂,读者可以阅读下面的操作流程来快速部署Flume。本节给大家演示两种部署方式:单点部署和高可用部署。
1.单点部署
提示:下面演示的是在某一台服务器(节点)上,部署Flume并启动进程服务。由于进程服务是在一台服务器(节点)上运行,当该进程服务被人为停止或者因服务器宕机导致Flume进程服务停止,从而使Flume进程服务不可用时,导致数据传输不能正常进行,这样的现象被称为单点。
(1)下载:在Flume官方网站上获取Flume版本下载地址,然后在nna节点上使用Linux命令下载软件安装包。操作命令如下:
提示:如果操作的集群不能连接网络,可以先在本地机器上下载Flume软件安装包,再上传到nna节点/data/soft/new/目录下。
(2)解压:将/data/soft/new/目录下的Flume软件安装包进行解压,并重命名。操作命令如下:
(3)配置环境变量:在/etc/profile文件下配置Flume的环境变量。操作命令如下:
完成环境变量配置后,使用source命令使配置的环境变量立即生效。操作命令如下:
(4)编辑Flume配置文件:在$FLUME_HOME/conf/flume-conf.properties文件中配置数据源采集路径、数据临时存储路径、数据发送路径及类型等内容。操作内容见代码1。
代码1 单点Flume配置文件
(5)指定JAVA_HOME:在Flume的环境变量脚本($FLUME_HOME/conf/flume-env.sh)中,指定JAVA_HOME变量所对应的JDK路径。操作命令如下:
(6)启动:完成上述配置后,开始启动Flume服务用于收集数据。操作命令如下:
启动命令中,agent1表示配置文件中的Agent的名称,和flume-conf.properties文件中agent1保持一致。启动Flume服务后,在/data/flume/logdfs/目录下模拟放置一些数据文件让Flume Agent进行采集,若本地数据文件采集完成后,文件名会重新命名,以“.COMPLETED”后缀结尾。最后,可以到Hadoop分布式文件系统(HDFS)的/data/flume/logdfs/路径下查看采集的数据,如图1所示。
图1 Flume采集
2.高可用部署
在单点部署Flume时,如果部署的节点发生故障会导致整个采集不可用,而高可用部署正好能解决这一问题,能够确保在一个服务节点宕机,整个Flume采集服务依然可用。高可用部署Flume架构如图2所示。
图2 高可用部署Flume架构图
(1)角色分配:本书搭建高可用Flume集群使用了3个Agent(用于客户端采集)、2个Collector(用于提供服务)来进行部署。分布详情如表1所示。
表1 高可用Flume集群角色分布
提示:Flume带有故障自动转移(Failover)机制,可以自动切换和恢复服务,所以这里配置两个Collector用于对外提供服务。
(2)添加配置文件:在单点部署的基础上添加两个配置文件即可满足高可用性,这两个配置文件分别是flume-client.properties和flume-server.properties。具体内容见代码2和代码3所示。
代码2 flume-client.properties文件
代码3 flume-server.properties文件
然后再使用scp同步命令,将nna节点上配置好的flume同步到nns节点作为Collector2(上传传备份服务),同时也同步到dn1、dn2、dn3上分别作为3个Agent(代理)客户端。操作命令如下: