本文以阿里云E-MapReduce 3.17.0及以后的版本特性介绍使用Gateway节点运行Flume从而进行数据同步操作。

背景信息

E-MapReduce从3.16.0版本开始支持Apache Flume,从3.17.0版本开始提供默认监控等特性。

基本数据流

在Gateway节点运行Flume可以避免对EMR Hadoop集群产生影响。使用Gateway节点部署Flume Agent的基本数据流如下图所示。基本数据流

环境准备

本文选择在杭州Region进行测试,版本选择EMR- 3.17.0,本次测试需要的组件版本有:

Flume:1.8.0

本文使用阿里云EMR服务自动化搭建Hadoop集群,详情请参见创建集群

  • 创建Hadoop集群,在可选服务中选择Flume。创建集群
  • 创建Gateway节点,关联上一步已经创建好的Hadoop集群。

实施步骤

  • 运行Flume,请参见Flume 使用说明中的操作步骤。
  • 查看监控信息。
    默认情况下,集群的Console页面提供了Flume agent的监控信息。通过在集群与服务管理页面单击 Flume 服务进行访问,如下图所示。FLUME服务页面
    注意

    监控数据以agent组件(source、channel 或 sink)的名称命名,例如CHANNEL.channel1表示名称为channel1的channel组件的监控指标,所以在配置不同的 agent 时请避免使用相同的组件名称。

    如果想通过Ganglia等方式查看Flume Agent的监控数据,可参考Flume官网进行配置。此时Console页面将不会显示Flume agent的监控数据。

  • 查看日志 。
    默认情况下,Flume agent日志的存放路径为 /mnt/disk1/log/flume/${flume-agent-name}/flume.log。可以通过修改 /etc/ecm/flume-conf/log4j.properties 进行配置(不建议修改日志路径)。
    注意 日志路径包含了Flume agent的名称,所以配置不同的agent时请勿使用相同的agent名称,以免日志混在一起。