EMR Flume支持多种服务启动方式,本文介绍通过EMR控制台修改Flume配置并启动Flume Agent,继而实时同步HDFS Audit日志至HDFS。
前提条件
已创建E-MapReduce的Hadoop集群,并且选择了Flume服务。详情请参见创建集群。
启动Flume Agent
- 进入Flume页面。
- 登录阿里云E-MapReduce控制台。
- 在顶部菜单栏处,根据实际情况选择地域和资源组。
- 单击上方的集群管理页签。
- 在集群管理页面,单击相应集群所在行的详情。
- 在左侧导航栏,选择集群服务 > FLUME。
- 配置emr-worker-1节点的Flume Agent。以下配置项请遵循开源Flume内容,详情请参见Flume。
- 单击配置页签,修改如下参数。
配置项 参数值 default-agent.sinks.default-sink.type hdfs default-agent.channels.default-channel.type file default-agent.sources.default-source.type avro deploy_node_hostname emr-worker-1 - 在服务配置区域,单击flume-conf页签。
- 单击自定义配置,添加如下配置项。
配置项 描述 default-agent.sinks.default-sink.hdfs.path HDFS路径。 - 高可用集群:例如hdfs://emr-cluster/path。
- 非高可用集群:例如hdfs://emr-header-1:9000/path。
default-agent.sinks.default-sink.hdfs.fileType DataStream default-agent.sinks.default-sink.hdfs.rollSize 0 default-agent.sinks.default-sink.hdfs.rollCount 0 default-agent.sinks.default-sink.hdfs.rollInterval 86400 default-agent.sinks.default-sink.hdfs.batchSize 51200 default-agent.sources.default-source.bind 0.0.0.0 default-agent.sources.default-source.port 根据实际情况设置。 default-agent.channels.default-channel.transactionCapacity 可选参数,默认值为10000。 default-agent.channels.default-channel.dataDirs Channel存储Event数据的路径。 可选参数,默认路径~/.flume/file-channel/data。
default-agent.channels.default-channel.checkpointDir 存储Checkpoint的路径。 可选参数,默认路径~/.flume/file-channel/checkpoint。
default-agent.channels.default-channel.capacity 根据HDFS Roll设置。 可选参数,默认值为1000000。
- 单击确定。
- 单击配置页签,修改如下参数。
- 单击部署拓扑页签。您可以查看Flume Agent组件emr-worker-1节点的状态信息,组件状态为STARTED。
- 请参见上面步骤2配置emr-worker-2节点。
- 配置Master实例的Flume Agent。以下配置项请遵循开源Flume内容,详情请参见Flume。
- 单击配置页签,修改如下参数。
配置项 参数值 additional_sinks k1 deploy_node_hostname emr-header-1 default-agent.sources.default-source.type taildir default-agent.sinks.default-sink.type avro default-agent.channels.default-channel.type file - 在服务配置区域,单击flume-conf页签。
- 单击自定义配置,添加如下配置项。
配置项 参数值 default-agent.sources.default-source.filegroups f1 default-agent.sources.default-source.filegroups.f1 /mnt/disk1/log/hadoop-hdfs/hdfs-audit.log.* default-agent.sources.default-source.positionFile 存储Position File的路径。 可选参数,默认路径为~/.flume/taildir_position.json。
default-agent.channels.default-channel.checkpointDir 存储Checkpoint的路径。 default-agent.channels.default-channel.dataDirs 存储Event数据的路径。 default-agent.channels.default-channel.capacity 根据HDFS Roll设置。 default-agent.sources.default-source.batchSize 2000 default-agent.channels.default-channel.transactionCapacity 2000 default-agent.sources.default-source.ignoreRenameWhenMultiMatching true default-agent.sinkgroups g1 default-agent.sinkgroups.g1.sinks default-sink k1 default-agent.sinkgroups.g1.processor.type failover default-agent.sinkgroups.g1.processor.priority.default-sink 10 default-agent.sinkgroups.g1.processor.priority.k1 5 default-agent.sinks.default-sink.hostname emr-worker-1节点的IP地址。 default-agent.sinks.default-sink.port emr-worker-1节点Flume Agent的Port。 default-agent.sinks.k1.hostname emr-worker-2节点的IP地址。 default-agent.sinks.k1.port emr-worker-2节点Flume Agent的Port。 default-agent.sinks.default-sink.batch-size 2000 default-agent.sinks.k1.batch-size 2000 default-agent.sinks.k1.type avro default-agent.sinks.k1.channel default-channel - 单击确定。
- 单击配置页签,修改如下参数。
- 启动Flume Agent。
- 单击右上角的保存。
- 在确认修改对话中,输入执行原因,开启自动更新配置开关,单击确定。
- 在右上角选择操作 > 重启All Components。
- 在执行集群操作对话框中,输入执行原因,单击确定。
- 在确认对话框,单击确定。执行完成后,日志就从HDFS Audit同步至HDFS了。
查看日志
Flume Agent日志的存放路径为/mnt/disk1/log/flume/default-agent/flume.log。
查看监控信息
在Flume服务的状态页面,您可以查看Flume Agent的监控信息。