第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:// ...
随机推荐
- leetCode练题——28. Implement strStr()
1.题目 28. Implement strStr()——Easy Implement strStr(). Return the index of the first occurrence of ne ...
- python基础(一)--python介绍
1. Python语言 1.1 编程语言 语言是人类最重要的交际工具,是人类之间进行信息交换的主要表达方式. 编程语言是用来定义计算机程序的语言,用来向计算机发出指令. 1.2 Python语言 Py ...
- java月利率计算(等额本息贷款)
等额本息 每月还款计算公式: 每月本息金额 = (本金×月利率×(1+月利率)^还款月数)÷ ((1+月利率)^还款月数-1)) 反转求出 月利率 月利率 如果根据上面公式反转是算不出来的. 下面给出 ...
- PAT T1025 Keep at Most 100 Characters
删除字符的镜像问题,状态转移方程一样~ #include<bits/stdc++.h> using namespace std; ; ; string s; long long dp[ma ...
- mpvue路由传参报错Cannot read property 'query' of undefined
在mpvue编写的小程序项目中,页面跳转间我希望通过编程式导航传递些参数 传参页面代码: this.$router.push({path:'/pages/login/changePassword/ma ...
- iPhone代工商,谁敢要求苹果赔偿损失?
据外国媒体报道,苹果的首席设计师已准备离职,有相关评论称:库克已经不在把硬件设计放到第一位,整个团队都巧妙地遭遇降级.相信熟悉苹果组织的人都知道,他们一切的核心都是围绕"硬件设计" ...
- php类的魔术方法也就是带下划线的类方法介绍及应用
001 PHP把所有以__(两个下划线)开头的类方法当成魔术方法,并且这些魔术方法的参数都不能通过引用传递.php的魔术方法有: 002 __construct(), __destruct(), _ ...
- MBR扇区故障修复!
一:进行分区且格式化硬盘 [root@roomc~]#mkfs -t ext4 /dev/sdb1 //格式化sdb1盘 二:模拟破坏/sda主硬盘破坏再修复! [root@roomc~]#mk ...
- Servlet返回的数据js解析问题
Servlet返回的数据js解析问题 方式1:Json 接收函数:ajax.responseText后面没括号 其实在之前所说的ajax中还遗留了一些问题就是,Servlet返回给js的数据是如何被j ...
- PHP5接口技术入门
在PHP中我们声明类一般都用class来声明. <?php class Student{ //用class声明一个Student类 function __construct(){ //实例化类的 ...