Kafka学习(一)
官网
kafka.apache.org
集群部署
消息中间键 --> 分布式流式平台 Kafka Streaming
Flume: 1个进程包含三个角色
source channle sink
Kakfa: 每个进程对应一个角色
producer broker consumer
Flume --> Kafka --> Spark Streaming/Fink (场景)
Kafka部署的进程叫 broker
使用方向:
1. 消息中间件
2. 流式计算
3. 存储 分布式 副本
Kafka® is used for building real-time data pipelines and streaming apps. It is horizontally scalable, fault-tolerant, wicked fast, and runs in production in thousands of companies.
版本选择:
0.10.0.1
1. CDH-5.12.0(实际使用) 本身学习(CDH-5.7.0) 集群用cdh版本
选择相近的chd版的kafka
2. Spark Streming官网
Kafka+Streaming spark-streaming-kafka-0-10
CDK: clouder distributed kakfa

base_version+cloudera_version+patch_level

http://archive.cloudera.com/kafka/parcels/2.2.0/KAFKA-2.2.0-1.2.2.0.p0.68-el7.parcel
CDH:(实际使用)
kafka_2.11-0.10.2-kafka-2.2.0.jar
kafka_2.11: scala版本 代码开发选择(2.11.8)
0.10.2: Apache kafka版本 小版本选择
2.2.0: CDK 版本
生产环境版本,实际开发版本,要对应,因为有些api不一样
KAFKA-2.2.0-1.2.2.0.p0.68-el7.parcel
KAFKA-2.2.0-1.2.2.0.p0.68-el7.parcel.sha1
Apache版本:(学习用)
CDH在部署过程中:
HDFS YARN ZK Hive HBase Spark(1.6.x)
额外单独部署,自定义parcel(包裹): kafka spark2
kafka 使用scala语言编写的
1. 主题: topic
生产业务:
oms订单系统: mysql-->flume-->kafka(omstopic)-->SparkStreaming
wms仓库系统: mysql-->flume-->kafka(wmstopic)-->SparkStreaming
mkdir omstopic文件夹 (不同业务系统的数据,放在不同文件夹)
mkdir wmstopic文件夹
alltopic文件夹(最好分开业务系统)
一般根据上游或下游业务系统来划分
kafka创建主题: 一般根据生产业务数据处理来划分 上游+数据处理来划分
最终落在磁盘上面就是创建文件夹(Linux文件夹)
2. 分区
omstopic 有3个分区 下标是
100条数据
40 p0 omstopic_0
20 p1 omstopic_1
40 p2 omstopic_2
3. 副本
omstopic_0 omstopic_0 omstopic_0
omstopic_1 omstopic_1 omstopic_1
omstopic_2 omstopic_2 omstopic_2
4. offset 从0开始 (这个文件在磁盘上的位置)
log文件 位置下标
mysql: (主键)
PK VALUE
1 aaa
2 bbb
3 ccc
4 ddd
5.全局有序有序?
60%的公司,都是log日志, 无序的状态
如果有序,处理方式和mysql处理方式一致
40%的公司,都是业务数据,mysql,有序数据.
淘宝购物车, insert(添加一双鞋) , update1(鞋子), update2(口红),update3,update4, delete
Kafka数据的文件是Linux磁盘文件 是有序状态,也就是分区内有序
追加模式,效率最高; 如何insert ,还要检索
重点:
1. 一个分区
2. SparkStreaming程序做排序 分组排序,然后保证全局有序, 代码多,性能差
3. producer api(key-value)
Kafka学习(一)的更多相关文章
- kafka学习笔记:知识点整理
一.为什么需要消息系统 1.解耦: 允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束. 2.冗余: 消息队列把数据进行持久化直到它们已经被完全处理,通过这一方式规避了数据丢失风险. ...
- Kafka学习-简介
Kafka是由LinkedIn开发的一个分布式的消息系统,使用Scala编写,它以可水平扩展和高吞吐率而被广泛使用.目前越来越多的开源分布式处理系统如Cloudera.Apache Storm.S ...
- Kafka学习-入门
在上一篇kafka简介的基础之上,本篇主要介绍如何快速的运行kafka. 在进行如下配置前,首先要启动Zookeeper. 配置单机kafka 1.进入kafka解压目录 2.启动kafka bin\ ...
- Kafka学习之路
一直在思考写一些什么东西作为2017年开篇博客.突然看到一篇<Kafka学习之路>的博文,觉得十分应景,于是决定搬来这“他山之石”.虽然对于Kafka博客我一向坚持原创,不过这篇来自Con ...
- kafka学习2:kafka集群安装与配置
在前一篇:kafka学习1:kafka安装 中,我们安装了单机版的Kafka,而在实际应用中,不可能是单机版的应用,必定是以集群的方式出现.本篇介绍Kafka集群的安装过程: 一.准备工作 1.开通Z ...
- [Big Data - Kafka] kafka学习笔记:知识点整理
一.为什么需要消息系统 1.解耦: 允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束. 2.冗余: 消息队列把数据进行持久化直到它们已经被完全处理,通过这一方式规避了数据丢失风险. ...
- kafka 学习资料
kafka 学习资料 kafka 学习资料 网址 kafka 中文教程 http://orchome.com/kafka/index
- 【译】Kafka学习之路
一直在思考写一些什么东西作为2017年开篇博客.突然看到一篇<Kafka学习之路>的博文,觉得十分应景,于是决定搬来这“他山之石”.虽然对于Kafka博客我一向坚持原创,不过这篇来自Con ...
- Kafka学习之(六)搭建kafka集群
想要搭建kafka集群,必须具备zookeeper集群,关于zookeeper集群的搭建,在Kafka学习之(五)搭建kafka集群之Zookeeper集群搭建博客有说明.需要具备两台以上装有zook ...
- Kafka学习总结
Kafka学习总结 参考资料: 1.http://kafka.apachecn.org/, kafka官方文档 2.https://www.cnblogs.com/likehua/p/3999538. ...
随机推荐
- java打字游戏-一款快速提升java程序员打字速度的游戏(附源码)
一.效果如图: 源码地址:https://gitee.com/hoosson/TYPER 纯干货,别忘了留个赞哦!
- [Windows] 智慧职教刷课软件(职教雨滴1.9更新完成)
(智慧职教刷课软件-职教雨滴)支持职教云(云课堂)的课程 2019年10月17日 16:19:57 增加支持资料库,MOOC 点击链接加入群聊[职教雨滴反馈群]:https://jq.qq.com/? ...
- SVN清理失败(clean up)或者(lock)问题进入死循环最终解决方案
解决方法: step1: 到 sqlite官网 (http://www.sqlite.org/download.html) 下载 sqlite3.exe step2: 将下载到的 sqlite3.ex ...
- Appium(十):元素定位(加强版)
1. 元素定位 写完上一篇元素定位的博客,发现实用性基本为零.这几天真的烦死我了,一直在找资料,还去看了一遍appium官网文档.最后结合着selenium的定位方法,测试出几种可行的元素定位方法. ...
- rest.css解决不同浏览器元素默认样式不同的问题
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, ...
- antdesign的input增加自定义校验规则
rules: [ {required: true, message: '请输入姓名'}, {max: 16, message: '姓名过长'}, { validator: (rule, val, ca ...
- WebShell代码分析溯源(八)
WebShell代码分析溯源(八) 一.一句话变形马样本 <?php $e=$_REQUEST['e'];$arr= array('test', $_REQUEST['POST']);uasor ...
- How to: Map a Persistent Class to a Database View Which Has No Key Field如何:映射持久化类到无主键数据库视图
With XAF, you can build new applications from scratch or maintain existing databases. The How to: Ge ...
- 47.QT-QChart之曲线图,饼状图,条形图使用
1.使用准备 在pro中, 添加QT+= charts 然后在界面头文件中添加头文件并声明命名空间,添加: #include <QtCharts> QT_CHARTS_USE_NAMES ...
- 从0系统学Android--4.1探究碎片
从0系统学Android--4.1探究碎片 本系列文章目录:更多精品文章分类 本系列持续更新中.... 初级阶段内容参考<第一行代码> 第四章:手机平板要兼顾--探究碎片 平板电脑和手机最 ...