(1)案例场景
A、B 两台日志服务器实时产生日志主要类型为access.log、nginx.log、web.log 现在要求:将A、B 服务器中的access.log、nginx.log、web.log 采集汇总到C 机器上然后统一收集到HDFS中。场景分析如图8.8 所示。在HDFS 中要求的目录为:
/source/logs/access/20160101/∗∗
/source/logs/nginx/20160101/∗∗
/source/logs/web/20160101/∗∗
图8.8 场景分析
(2)数据流程处理分析
将A、B 两台服务器上的日志作为Source 提取到各自的Flume Agent 的Channel 中,然后采用Avro Sink 的特性,级联提取到服务器C 的Avro Source 中。在服务器C 中再通过Memory Channel 收集到HDFS 中。数据流程处理分析如图8.9 所示。
图8.9 数据流程处理分析
(3)案例实现
①设置A、B、C 三台服务器的IP 地址如下:(www.xing528.com)
服务器A 对应的IP 为192.168.200.102
服务器B 对应的IP 为192.168.200.103
服务器C 对应的IP 为192.168.200.101
②在服务器A 和服务器B 上的“$FLUME_HOME/conf”创建配置文件“exec_source_avro_sink.conf”文件内容为:
③在服务器C 上的“$FLUME_HOME/conf”创建配置文件“avro_source_hdfs_sink.conf”文件内容为。
④配置完成之后,在服务器A 和B 上的“/root/data”有数据文件access. log、nginx. log、web.log。先启动服务器C 上的Flume,在Flume 安装目录下执行。
⑤启动服务器A 和B 上的Flume,在Flume 安装目录下执行如下命令。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。