免费的文章采集平台(大数据越来越如何实现高可靠、高性能和高扩展性能)
优采云 发布时间: 2021-10-06 19:05免费的文章采集平台(大数据越来越如何实现高可靠、高性能和高扩展性能)
随着大数据的重要性越来越高,数据采集的重要性就显得尤为突出。今天介绍三个数据采集平台,分别是:Apache Flume、Fluentd和Splunk Forwarder。我们将重点介绍它们如何实现高可靠性、高性能和高可扩展性。
1、Apache Flume
官方网站:
Flume 是 Apache 下的开源、高可靠、高扩展、易管理、客户可扩展的数据采集系统。Flume 使用 JRuby 构建,所以它依赖于 Java 运行时环境。Flume 最初是 Cloudera 工程师设计的用于合并日志数据的系统,后来逐渐开发用于处理流式数据事件。
Flume 被设计为分布式管道架构,可以看作是数据源和目的地之间的 Agent 网络,以支持数据路由。每个代理由 Source、Channel 和 Sink 组成。
来源
Source 负责接收输入数据并将数据写入管道。Flume 的 Source 支持 HTTP、JMS、RPC、NetCat、Exec、Spooling Directory。其中,Spooling 支持监视目录或文件并分析新生成的事件。
渠道
Channel 存储和缓存从源到*敏*感*词*的中间数据。Channel可以使用不同的配置,比如内存、文件、JDBC等,内存的使用性能高但不持久,可能会丢失数据。使用文件更可靠,但性能不如内存。
下沉
Sink 负责从管道中读取数据并将其发送到下一个 Agent 或最终目的地。Sink 支持的不同目的地类型包括:HDFS、HBASE、Solr、ElasticSearch、File、Logger 或其他 Flume Agent。Flume 在源端和宿端都使用事务机制来保证数据传输过程中不会有数据丢失。
2、流利
官方网站:
Fluentd 是另一个开源数据采集框架。Fluentd 是用 C/Ruby 开发的,使用 JSON 文件来统一日志数据。其可插拔架构支持各种类型和格式的数据源和数据输出。最后,它还同时提供了高可靠性和良好的可扩展性。Treasure Data, Inc. 为本产品提供支持和维护。
Fluentd 的部署与 Flume 非常相似,Fluentd 的架构设计与 Flume 相同。Fluentd 的 Input/Buffer/Output 与 Fluent 的 Source/Channel/Sink 非常相似。FLuentd 的扩展性非常好,客户可以自己定制(Ruby)Input/Buffer/Output。
输入
Input负责接收数据或主动抓取数据。支持syslog、http、文件尾等
缓冲
缓冲区负责数据采集的性能和可靠性,也可以配置文件或内存等不同类型的缓冲区。
输出
输出负责将数据输出到目的地,例如文件、AWS S3 或其他 Fluentd。
Fluentd 在各个方面看起来都与 Flume 非常相似。不同的是,如果使用Ruby来开发,Footprint会更小,但也会带来跨平台问题,无法支持Windows平台。此外,使用JSON统一数据/日志格式是它的另一个特点。与Flumed相比,配置相对简单。
3、Splunk 转发器
官方网站:
在商业化的大数据平台产品中,Splunk提供完整的数据挖掘、数据存储、数据分析处理、数据呈现能力。
Splunk 是一个分布式机器数据平台,主要有三个作用: Search Head 负责数据的搜索和处理,在搜索过程中提供信息提取;Indexer负责数据的存储和索引;Forwarder 负责数据的采集、清理和转换。并将其发送到索引器。
Splunk 具有对 Syslog、TCP/UDP 和假脱机的内置支持。同时,用户可以通过开发Input和Modular Input来获取具体的数据。Splunk提供的软件仓库中有很多成熟的数据应用,可以方便地从云端或数据库中获取数据进入Splunk的数据平台进行分析。
这里需要注意的是,Search Head和Indexer都支持Cluster的配置,这意味着如果一台Farwarder机器出现故障,数据采集也会中断,并且正在运行的数据采集任务Failover到其他Farwarder。
今天,我将简要介绍三种流行的数据采集平台。它们中的大多数具有输入、输出和中间缓冲区架构。使用分布式网络连接,大多数平台都可以实现一定程度的可扩展性和高可靠性。福利到此结束,希望对各位攻城狮和程序员有所帮助。返回搜狐查看更多