1, 为什么不是直接将人脸识别数据直接 放到hbase里, 而是要通过Kafka?

    因为数据量大, 发送速度快, hbase不能支撑.  而kafka集群里有负载均衡, 能将数据稳定高效的放到hbase里.

2,hbase是什么?

HBase – Hadoop Database,是一个高 可靠性、高性能、面向列、可伸缩的 分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模 结构存储集群。
与FUJITSU Cliq等商用大数据产品不同,HBase是Google Bigtable的开源实现, 类似Google Bigtable利用GFS作为其文件 存储系统,HBase利用Hadoop HDFS作为其 文件存储 系统;Google运行MapReduce来处理Bigtable中的海量 数据,HBase同样利用Hadoop MapReduce来处理HBase中的 海量数据;Google Bigtable利用 Chubby作为协同服务,HBase利用Zookeeper作为对应。  [1]  
上图描述Hadoop EcoSystem中的各层系统。其中,HBase位于结构化 存储层,Hadoop HDFS为HBase提供了高可靠性的底层存储支持,Hadoop MapReduce为HBase提供了高性能的计算能力,Zookeeper为HBase提供了稳定服务和failover机制。
此外,Pig和Hive还为HBase提供了高层语言支持,使得在HBase上进行数据统计处理变的非常简单。 Sqoop则为HBase提供了方便的RDBMS数据导入功能,使得 传统数据库数据向HBase中迁移变的非常方便。
2,kafka是什么?

Kafka是由 Apache软件基金会开发的一个开源流处理平台,由 ScalaJava编写。Kafka是一种高吞吐量的 分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。 对于像 Hadoop的一样的 日志数据和离线分析系统,但又要求实时处理的限制,这是一个可行的解决方案。Kafka的目的是通过 Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过 集群来提供实时的消息。
Kafka  [1]   是一种高吞吐量  [2]   的分布式发布订阅消息系统,有如下特性:
  • 通过O(1)的磁盘数据结构提供消息的持久化,这种结构对于即使数以TB的消息存储也能够保持长时间的稳定性能。
  • 高吞吐量  [2]   :即使是非常普通的硬件Kafka也可以支持每秒数百万  [2]   的消息。
  • 支持通过Kafka服务器和消费机集群来分区消息。
  • 支持 Hadoop并行数据加载。  [3]  
Kafka通过官网发布了最新版本1.1.0  [4-5]  

相关术语介绍

编辑
  • Broker
    Kafka集群包含一个或多个服务器,这种服务器被称为broker  [5]  
  • Topic
    每条发布到Kafka集群的消息都有一个类别,这个类别被称为Topic。(物理上不同Topic的消息分开存储,逻辑上一个Topic的消息虽然保存于一个或多个broker上但用户只需指定消息的Topic即可生产或消费数据而不必关心数据存于何处)
  • Partition
    Partition是物理上的概念,每个Topic包含一个或多个Partition.
  • Producer
    负责发布消息到Kafka broker
  • Consumer
    消息消费者,向Kafka broker读取消息的客户端。
  • Consumer Group
    每个Consumer属于一个特定的Consumer Group(可为每个Consumer指定group name,若不指定group name则属于默认的group)。


Logo

Kafka开源项目指南提供详尽教程,助开发者掌握其架构、配置和使用,实现高效数据流管理和实时处理。它高性能、可扩展,适合日志收集和实时数据处理,通过持久化保障数据安全,是企业大数据生态系统的核心。

更多推荐