天天看点

2023-176,#每日一悟每日进步##大数据#数据采集解决方案1、Flume分布式、可靠的数据采集工具,可以有效地收集

作者:DevOps工程师老林

2023-176,#每日一悟每日进步##大数据#

数据采集解决方案

1、Flume

分布式、可靠的数据采集工具,可以有效地收集、聚合及传送大量的事件流数据。

包括三种组件:Source、Channel和Sink,Source是采集源,常见有Avro、Thrift、JMS、Kafka和HTTP等;Channel类似缓存,像一个队列,可以方便地将同一个Source复制成多个队列,以发送到不同出口;Sink是采集出口,常见的有HDFS、Hive、HBASE和Kafka等。

2、Logstash

提供了丰富的输入和输出插件来对接不同的数据源和协议,且有Filter机制,可以在数据采集过程中嵌入很多处理逻辑。

组件结构与Flume类似,包括input、filter和output三种,input常用有File、syslog、redis、beats等;filter常用有grok、mutate、drop、clone、geoip等;output常用有elasticsearch、file、graphite、statsd等。

3、Kafka Connect

Kafka出品公司Confluent针对数据采集组件推出的产品。专注于将外部数据写入Kafka或将Kafka数据输出到外部数据源,因捆绑性较强和成熟度问题,使用人不多。

同时支持分布式模式和单机模式,自动化offset管理,支持rest接口。模型的核心是Task,一项工作会被分割成多个task,分发到各个worker中执行。

4、Camel

基于规则的消息路由引擎,为企业应用集成而设计的工具,可扮演万向接头的角色,让数据和消息在不同的系统间流转和交换。

采用URI描述各种组件,包含HTTP、ActiveMQ、JMS、JBI、SCA等。

5、直接API上传

最后一种就是重新造轮子,客户端直接采用接口将信息发送给服务端,服务端接收信息并保存在文件或数据库。

部分程序员可能会喜欢这种实现方案,因为简单可控,而且在数据采集节点少(小于50个),采集周期长(分钟级或小时级)不会有性能问题,但扩展性较差。

个人偏好于Logstash,搭配Openresty/Nginx后可以成为简单方便且高性能的采集解决方案。

2023-176,#每日一悟每日进步##大数据#数据采集解决方案1、Flume分布式、可靠的数据采集工具,可以有效地收集
2023-176,#每日一悟每日进步##大数据#数据采集解决方案1、Flume分布式、可靠的数据采集工具,可以有效地收集
2023-176,#每日一悟每日进步##大数据#数据采集解决方案1、Flume分布式、可靠的数据采集工具,可以有效地收集
2023-176,#每日一悟每日进步##大数据#数据采集解决方案1、Flume分布式、可靠的数据采集工具,可以有效地收集

继续阅读