首页 文章

Hadoop可以做流式传输吗?

提问于
浏览
0

有人建议Hadoop做流媒体,并引用Flume和Kafka作为例子 .

虽然我知道他们可能有流媒体功能,但我想知道他们是否可以像Storm / Spark / Flink这样的流处理技术被认为是同一个联盟 . Kafka是一个“发布 - 订阅模型消息传递系统”,Flume是一种数据提取工具 . 即使他们与hadoop互动/整合,他们在技术上是'hadoop'本身的一部分吗?

PS:据我所知,有一个完全不同的东西是Hadoop Streaming .

1 回答

  • 1

    Hadoop只有YARN,HDFS和MapReduce . 作为一个项目,它不适应(接近)实时摄取或处理 .

    Hadoop Streaming是一种用于在文件系统流之间操作数据的工具(标准输入/输出)

    Kafka不仅是一个发布/订阅消息队列 .

    Kafka Connect 本质上是一个Kafka Channels ,用Flume术语表示 . 存在各种插件用于从不同的"sources"读取,生成到Kafka,然后"sinks"存在从Kafka消费到数据库或文件系统 . 从消费者的角度来看,这比基础架构中部署的单一Flume代理更具可扩展性 . 如果您正在寻找Kafka的日志摄取,我个人觉得Filebeat或Fluentd比Flume更好(没有Java依赖) .

    Kafka Streams 是与Storm,Flink和Samza类似的产品,除了依赖YARN或任何集群调度程序都不能在任何兼容JVM的应用程序(例如,Java Web应用程序)中嵌入Kafka Streams处理器 . 在没有引入某些外部系统的依赖性的情况下,使用Spark或Flink尝试这样做时会遇到困难 .

    Flume,NiFi,Storm,Spark等的唯一好处我发现他们 compliment Kafka和他们有Hadoop兼容的集成以及像Cassandra这样在BigData空间中使用的其他系统(参见 SMACK stack)

    因此,要回答这个问题,您需要使用其他工具来允许Hadoop处理和存储流数据 .

相关问题