32. [单选] 【单选题】 下面关于flume的数据源描述正确的是? A A. NetCat Source:可以将命令产生的输出作为源 B B. Spooling Directory Source 这个Source允许你将文件将要收集的数据放置到"自动搜集"目录中。 C C. HTTP Source此Source接受HTTP的GET和POST请求作为Flume的事件。 D D. vro Source监听AVRO端口来接受来自外部AVRO客户端的事件流。
时间: 2024-03-29 22:39:53 浏览: 140
B 下面关于flume的数据源描述正确的是:Spooling Directory Source:这个Source允许你将文件将要收集的数据放置到"自动搜集"目录中。因此,答案是B。Flume是一个分布式的、可靠的、高可用的海量日志采集、聚合和传输的系统。Flume的数据源用于从各种来源获取数据,例如文件、网络、系统日志等。各种数据源包括NetCat Source、Spooling Directory Source、HTTP Source、Avro Source等。NetCat Source用于将命令产生的输出作为源,HTTP Source接受HTTP的GET和POST请求作为Flume的事件,Avro Source监听AVRO端口来接受来自外部AVRO客户端的事件流。Spooling Directory Source允许你将文件将要收集的数据放置到"自动搜集"目录中,Flume会定期扫描该目录,自动将其中的数据收集和传输。
相关问题
#定义三大组件的名称 a.sources = r a.sinks = k1 k2 k3 a.channels = c1 c2 c3 #将数据流复制给所有channel a.sources.r.selector.type = replicating # 配置Source组件 a.sources.r.type = exec #exec表示数据源来自运行给定的Unix命令后生成的数据 a.sources.r.command = cat /home/bit/ys/hngyzd.csv # kafka a.sinks.k1.type = org.apache.flume.sink.kafka.KafkaSink a.sinks.k1.kafka.topic = data a.sinks.k1.kafka.bootstrap.servers = localhost:9092 a.sinks.k1.kafka.flumeBatchSize = 20 a.sinks.k1.kafka.producer.acks = 1 a.sinks.k1.kafka.producer.linger.ms = 1 a.sinks.k1.kafka.producer.compression.type = snappy a.channels.c1.type = memory a.channels.c1.capacity = 100000 a.channels.c1.transactionCapacity = 100 # mysql a.sinks.k2.type =com.us.flume.MysqlSink a.sinks.k2.hostname=localhost a.sinks.k2.port=3306 a.sinks.k2.databaseName=ys a.sinks.k2.tableName=table1 a.sinks.k2.user=bit a.sinks.k2.password=123456 a.channels.c2.type = memory a.channels.c2.capacity = 100000 a.channels.c2.transactionCapactiy = 2000 # hdfs a.sinks.k3.type = hdfs a.sinks.k3.hdfs.path = hdfs://localhost:9000/user/bit/ys #积攒多少个Event才flush到HDFS一次 a.sinks.k3.hdfs.batchSize = 100 #设置文件类型,可支持压缩 a.sinks.k3.hdfs.fileType = DataStream #多久生成一个新的文件 a.sinks.k3.hdfs.rollInterval = 5 a.channels.c3.type = memory a.channels.c3.capacity =100000 a.channels.c3.transactionCapacity = 100 # Bind the source and sink to the channel a.sources.r.channels = c1 c2 c3 a.sinks.k1.channel = c1 a.sinks.k2.channel = c2 a.sinks.k3.channel = c3
这段代码是一个 Apache Flume 的配置文件,用于将数据从一个源头复制到多个目的地。其中,a.sources 定义了数据源,a.sinks 定义了数据的目的地,a.channels 定义了数据在传输过程中的缓存区。具体配置如下:
- 数据源:a.sources.r.type = exec 表示数据源来自运行给定的 Unix 命令后生成的数据,a.sources.r.command = cat /home/bit/ys/hngyzd.csv 表示运行 cat 命令读取指定文件中的数据作为数据源。
- Kafka 目的地:a.sinks.k1.type = org.apache.flume.sink.kafka.KafkaSink 表示将数据发送到 Kafka,a.sinks.k1.kafka.bootstrap.servers = localhost:9092 表示连接到本地的 Kafka 服务器,a.sinks.k1.channel = c1 表示从名为 c1 的缓存区取出数据发送到 Kafka。
- MySQL 目的地:a.sinks.k2.type = com.us.flume.MysqlSink 表示将数据写入 MySQL 数据库,a.sinks.k2.hostname = localhost、a.sinks.k2.port = 3306、a.sinks.k2.databaseName = ys、a.sinks.k2.tableName = table1、a.sinks.k2.user = bit、a.sinks.k2.password = 123456 分别表示连接到本地的 MySQL 数据库 ys 中的 table1 表,并使用 bit 用户名和 123456 密码进行认证。a.sinks.k2.channel = c2 表示从名为 c2 的缓存区取出数据写入 MySQL。
- HDFS 目的地:a.sinks.k3.type = hdfs 表示将数据写入 HDFS,a.sinks.k3.hdfs.path = hdfs://localhost:9000/user/bit/ys 表示将数据写入到本地的 HDFS 文件系统中的 /user/bit/ys 目录下。a.sinks.k3.hdfs.batchSize = 100 表示积攒多少个事件才将它们一起 flush 到 HDFS 中,a.sinks.k3.hdfs.rollInterval = 5 表示每隔 5 秒生成一个新的文件。a.sinks.k3.channel = c3 表示从名为 c3 的缓存区取出数据写入 HDFS。
最后,a.sources.r.channels、a.sinks.k1.channel、a.sinks.k2.channel 和 a.sinks.k3.channel 分别将数据源和目的地绑定到缓存区 c1、c2 和 c3。这样,数据在传输过程中会先进入缓存区,再从缓存区分别发送到 Kafka、MySQL 和 HDFS 中。
单选题) 以下哪个不是Flume的核心组件:( ) A 数据源(Source) B 数据通道(Channel) C 数据槽(Sink) D 数据块(Block)
D 数据块(Block)不是Flume的核心组件。Flume的核心组件包括数据源(Source)、数据通道(Channel)和数据槽(Sink),它们分别负责数据的采集、存储和传输。数据源(Source)指从数据源头采集数据的组件,例如日志文件、网络接口等;数据通道(Channel)是连接数据源和数据槽的组件,用于存储和缓冲数据;数据槽(Sink)是将数据发送到目标存储系统的组件,例如HDFS、HBase等。Flume的数据流架构是由数据源、数据通道和数据槽组成的,数据源将数据发送到数据通道,数据通道将数据发送到数据槽,数据槽将数据发送到目标存储系统。
阅读全文