配置单个组件
定义流后,需要配置source、sink和channel各个组件的属性。配置的方式是以相同的分层命名空间的方式,你可以设置各个组件的类型以及基于其类型特有的属性。
- # properties for sources
- <Agent>.sources.<Source>.<someProperty> = <someValue>
- # properties for channels
- <Agent>.channel.<Channel>.<someProperty> = <someValue>
- # properties for sinks
- <Agent>.sources.<Sink>.<someProperty> = <someValue>
每个组件都应该有一个 type 属性,这样Flume才能知道它是什么类型的组件。每个组件类型都有它自己的一些属性。所有的这些都是根据需要进行配置。在前面的示例中,我们已经构建了一个avro-appserver-src-1到hdfs-sink-1的数据流,下面的例子展示了如何继续给这几个组件配置剩余的属性。
- # 列出所有的组件
- agent_foo.sources = avro-AppSrv-source
- agent_foo.sinks = hdfs-Cluster1-sink
- agent_foo.channels = mem-channel-1
- # 将source和sink与channel相连接
- #(省略)
- # 配置avro-AppSrv-source的属性
- agent_foo.sources.avro-AppSrv-source.type = avro # avro-AppSrv-source 的类型是Avro Source
- agent_foo.sources.avro-AppSrv-source.bind = localhost # 监听的hostname或者ip是localhost
- agent_foo.sources.avro-AppSrv-source.port = 10000 # 监听的端口是10000
- # 配置mem-channel-1的属性
- agent_foo.channels.mem-channel-1.type = memory # channel的类型是内存channel
- agent_foo.channels.mem-channel-1.capacity = 1000 # channel的最大容量是1000
- agent_foo.channels.mem-channel-1.transactionCapacity = 100 # source和sink每次从channel写入和读取的Event数量
- # 配置hdfs-Cluster1-sink的属性
- agent_foo.sinks.hdfs-Cluster1-sink.type = hdfs # sink的类型是HDFS Sink
- agent_foo.sinks.hdfs-Cluster1-sink.hdfs.path = hdfs://namenode/flume/webdata # 写入的HDFS目录路径
- #...
当前内容版权归 liyifeng 译 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 liyifeng 译 .