第1节 storm编程:1、storm第一天上次课程内容回顾

上次课程内容回顾:
1、kafka的基本介绍:kafka是一个消息队列
2、消息队列的作用:解耦
3、kafka与传统消息队列的对比:
传统消息队列:支持事务
kafka的特点:比较快,比较快的两个原因:顺序读写磁盘,pageCache页缓存机制
4、kafka的架构模型:
producer:消息的生产者,主要就是用于生产数据
topic:消息的主题,可以理解为一类消息的高度抽象的集合
broker:服务器
partition:一个topic下面有多个partition,分区,一个partition保存了一个topic的部分消息,为了防止消息不丢失,引入副本备份机制
partition究竟应该创建多少个合适???根据实际情况而定
segment:一个partition下面有多个segement,把一个partiton当中的数据,切成了多个segment段,一个segment下面由两个文件构成
.log:我们的日志数据 hello world hadoop
.index:存储的我们的索引数据 hello 1 world 2 hadoop 3 便于我们快速的查找 使用的是二分查找法
0000000000.log
0000000000.index

0000000100.log
0000000100.index

zookeeper:保存了我们topic的一些数据信息,比如说topic有多少个partition,partition有多少个副本等等
consumer:消费者,主要用于消费我们kafka当中的数据
offset:记录消费的偏移量 2 也就是记录了我们下次的消费数据的条数
group:消费组的概念,设置不同的组,就是不同的消费者。如果A组消费了第一条数据,那么A组就再消费不到第一条数据了,但是B组还可以从第一条开始消费

5、kafka的安装:
依赖zk,需要提前安装好zk
kafka的解压,修改配置,安装包分发,启动
6、kafka的命令行的管理使用
第一个:创建topic
第二个:模拟生产者
第三个:模拟消费者
7、kafka的javaAPI的开发

8、kafka的分区策略:四种
1、指定分区号
2、没有分区号,有数据的key,按照key取上hashCode来进行分区
3、没有分区号,也没有数据的key,轮循分发数据
4、自定义分区 properties.put("partitioner.class","xxx.xxxx.xxx")

9、flume与kafka的整合

10、kafka的配置文件的说明
server.properties
consumer.properties
producer.properties

11、kafka如何保证数据不丢失
producer:消息的ack确认机制 1:leader保存好了数据 0:没有任何保证 -1 :leader以及follower都保存好了数据
consumer:消息的offset偏移量的记录
broker:备份机制
12、kafka-manager监控工具的使用

猜你喜欢

转载自www.cnblogs.com/mediocreWorld/p/11223289.html