第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监控工具的使用
第1节 storm编程:1、storm第一天上次课程内容回顾的更多相关文章
- 第3节 storm高级应用:1、上次课程回顾,今日课程大纲,storm下载地址、运行过程等
上次课程内容回顾: ConcurrentHashMap是线程安全的,为什么多线程的时候还不好使,为什么还要加static关键字 1.storm的基本介绍:strom是twitter公司开源提供给apa ...
- storm入门(一):storm编程框架与举例
基础 http://os.51cto.com/art/201308/408739.htm 模型 http://www.cnblogs.com/linjiqin/archive/2013/05/28 ...
- storm编程指南
目录 storm编程指南 (一)创建spout (二)创建split-bolt (三)创建wordcount-bolt (四)创建report-bolt (五)创建topo storm编程指南 @(博 ...
- Storm编程模型及组件流程图
一.Storm编程模型 二.Storm组件流程图
- Storm编程入门API系列之Storm的Topology多个Workers数目控制实现
前期博客 Storm编程入门API系列之Storm的Topology默认Workers.默认executors和默认tasks数目 继续编写 StormTopologyMoreWorker.java ...
- Storm编程入门API系列之Storm的Topology多个Executors数目控制实现
前期博客 Storm编程入门API系列之Storm的Topology默认Workers.默认executors和默认tasks数目 Storm编程入门API系列之Storm的Topology多个Wor ...
- Storm编程入门API系列之Storm的Topology多个tasks数目控制实现
前期博客 Storm编程入门API系列之Storm的Topology默认Workers.默认executors和默认tasks数目 Storm编程入门API系列之Storm的Topology多个Wor ...
- Storm编程入门API系列之Storm的定时任务实现
概念,见博客 Storm概念学习系列之storm的定时任务 Storm的定时任务,分为两种实现方式,都是可以达到目的的. 我这里,分为StormTopologyTimer1.java 和 Sto ...
- 1 storm基本概念 + storm编程规范及demo编写
本博文的主要内容有 .Storm的单机模式安装 .Storm的分布式安装(3节点) .No space left on device .storm工程的eclipse的java编写 http:// ...
随机推荐
- try catch和if else
当错误发生时,当事情出问题时,JavaScript 引擎通常会停止,并生成一个错误消息.描述这种情况的技术术语是:JavaScript 将抛出一个错误. try 语句允许我们定义在执行时进行错误测试的 ...
- 「CQOI2015」任务查询系统
「CQOI2015」任务查询系统 传送门 好像也是板子题??? 区间修改,单点查询,考虑差分. 然后每次查询时就直接在对应的主席树上二分即可. 参考代码: #include <cstdio> ...
- 【代码审计】VAuditDemo 前台搜索功能反射型XSS
在 search.php中 $_GET['search']未经过任何过滤就被输出 可能存在反射型XSS
- 吴裕雄 python 神经网络——TensorFlow 多线程队列操作
import tensorflow as tf queue = tf.FIFOQueue(100,"float") enqueue_op = queue.enqueue([tf.r ...
- proto school tutorial: blog: lesson 1
https://proto.school/#/blog/01 我们现在希望:把一个post 和他的作者联系起来. 从之前的教程here中,你可以知道, 一个cid 就是代表一个link 比如: { l ...
- 计算机基础 - 时间戳(timestamp)位数
分为10位数字(ten digit)和13位(thirteen digit)数字 1. Unix, Python为10 time +%s import time time.time() 2. Java ...
- Jquery+ajax模板
$.ajax({ url:'', type:'POST', //GET async:true, //或false,是否异步 data:{ name ...
- js 模拟鼠标拖动
window.addEventListener('message', function (event) { if (event.source != window) return; if (event. ...
- List转为字符串
2019-12-12 20:34:16 方法1: 转换后的格式为:"('111','112','1113')" List list = new ArrayList<>( ...
- 吴裕雄 Bootstrap 前端框架开发——Bootstrap 表格:在 <tbody> 内添加斑马线形式的条纹 ( IE8 不支持)
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...