- 大数据领域数据类型
1.1 有界数据
一般批处理(一个文件 或者一批文件),不管文件多大,都是可以度量
mapreduce hive sparkcore sparksql
1.2 无界数据
源源不断的流水一样 (流数据)
Storm SparkStreaming
- 消息队列(Message Queue)
消息 Message
网络中的两台计算机或者两个通讯设备之间传递的数据,例如说:文本、音乐、视频等内容
队列 Queue
一种特殊的线性表(数据元素首尾相接),特殊之处在于只允许在首部移除元素和在尾部追加元素。入队、出队。
消息队列 MQ
消息+队列
保存消息的队列
消息的传输过程中的容器
主要提供生产、消费接口供外部调用做数据的存储和获取
3. 消息队列的分类
3.1 点对点(P2P)
一个生产者生产的消息只能被一个消费者消费
3.2 发布订阅(Pub/Sub)
消息队列(Queue)、主题(Topic)、发布者(Publisher)、订阅者(Subscriber)
消息的发布者
消息的订阅者
每个消息可以有多个消费者,彼此互不影响。比如我发布一个微博:关注我的人都能够看到。
4. Kafka的简介
在大数据领域呢,为了满足日益增长的数据量,也有一款可以满足百万级别消息的生成和消费,分布式、持久稳定的产品——Kafka
Kafka是分布式的发布—订阅消息系统(基于PS的一个消息队列)
它最初由LinkedIn(领英)公司发布,使用Scala语言编写
Kafka是一个高吞吐量的、持久性的、分布式发布订阅消息系统
它主要用于处理活跃的数据(登录、浏览、点击、分享、喜欢等用户行为产生的数据
5. Kafka的特点
高吞吐量
可以满足每秒百万级 别消息的生产和消费(生产消费 )
持久性
有一套完善的消息存储机制,确保数据的高效安全的持久化 (数据的存储)
分布式
基于分布式的扩展和容错机制;Kafka的数据都会复制到几台服务器上。当某一台故障失效时,生产者和消费者转而使用其它的机器——整体健壮性
6. Kafka的组件
一个消息队列需要哪些部分?
生产
消费
消息类别
存储等等
Topic(主题)
Kafka处理的消息的不同分类
Broker (消息代理)
Kafka集群中的一个kafka服务节点称为一个broker,主要存储消息数据,存在硬盘中。每个topic都是有分区的
Partition (物理上的分区)
一个topic在broker中被分为1个或者多个partition,分区在创建topic的时候指定
Message (消息)
消息,是通信的基本单位,每个消息都属于一个partition
7. Kafka的服务
Producer : 消息和数据的生产者,向Kafka的一个topic发布消息
Consumer :消息和数据的消费者,定于topic并处理其发布的消息
Zookeeper :协调kafka的正常运行
8. Kafka的安装
8.1 单机版的安装
准备kafka
kafka_2.10-0.10.0.1.tgz
解压kafka
tar -zxvf kafka_2.10-0.10.0.1.tgz -C /opt/
重命名
mv kafka_2.10-0.10.0.1.tgz kafka
配置环境变量
export KAFKA_HOME=/opt/kafka
export PATH= P A T H