Kafka学习(一)
官网 kafka.apache.org
集群部署
消息中间键 --> 分布式流式平台 Kafka StreamingFlume: 1个进程包含三个角色source channle sink
Kakfa: 每个进程对应一个角色producer broker consumerFlume --> 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版的kafka2. Spark Streming官网 Kafka+Streaming spark-streaming-kafka-0-10CDK: 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_020 p1 omstopic_140 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 VALUE1 aaa2 bbb3 ccc4 ddd
5.全局有序有序?
60%的公司,都是log日志, 无序的状态如果有序,处理方式和mysql处理方式一致
40%的公司,都是业务数据,mysql,有序数据.
淘宝购物车, insert(添加一双鞋) , update1(鞋子), update2(口红),update3,update4, deleteKafka数据的文件是Linux磁盘文件 是有序状态,也就是分区内有序追加模式,效率最高; 如何insert ,还要检索
重点:
1. 一个分区
2. SparkStreaming程序做排序 分组排序,然后保证全局有序, 代码多,性能差
3. producer api(key-value)
转载于:https://www.cnblogs.com/suixingc/p/kafka-xue-xi-yi.html
Kafka学习(一)相关推荐
- [Big Data - Kafka] kafka学习笔记:知识点整理
一.为什么需要消息系统 1.解耦: 允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束. 2.冗余:消息队列把数据进行持久化直到它们已经被完全处理,通过这一方式规避了数据丢失风险.许 ...
- kafka学习笔记:知识点整理
一.为什么需要消息系统 1.解耦: 允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束. 2.冗余: 消息队列把数据进行持久化直到它们已经被完全处理,通过这一方式规避了数据丢失风险. ...
- 大数据 -- kafka学习笔记:知识点整理(部分转载)
一 为什么需要消息系统 1.解耦 允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束. 2.冗余 消息队列把数据进行持久化直到它们已经被完全处理,通过这一方式规避了数据丢失风险.许多 ...
- Kafka学习-入门
在上一篇kafka简介的基础之上,本篇主要介绍如何快速的运行kafka. 在进行如下配置前,首先要启动Zookeeper. 配置单机kafka 1.进入kafka解压目录 2.启动kafka bin\ ...
- Kafka学习笔记(3)----Kafka的数据复制(Replica)与Failover
1. CAP理论 1.1 Cosistency(一致性) 通过某个节点的写操作结果对后面通过其他节点的读操作可见. 如果更新数据后,并发访问的情况下可立即感知该更新,称为强一致性 如果允许之后部分或全 ...
- Kafka学习之四 Kafka常用命令
2019独角兽企业重金招聘Python工程师标准>>> Kafka学习之四 Kafka常用命令 Kafka常用命令 以下是kafka常用命令行总结: 1.查看topic的详细信息 . ...
- J1angの小白式kafka学习总结(1)
kafka学习阶段性总结(1) kafka概述 基本概念:什么是kafka 消息队列的两种模式 为什么要使用kafka kafka的基本架构组成 kafka架构 kafka组成 集群配置 jar包下载 ...
- kafka学习武林秘籍
kafka学习教程分享 链接:https://pan.baidu.com/s/13nqDiX5yrXb6-X2OJddsoQ 提取码:njqf
- Kafka学习【1】
Kafka学习[1] Kafka的用途有哪些?使用场景如何?### 消息系统: Kafka 和传统的消息系统(也称作消息中间件)都具备系统解耦.冗余存储.流量削峰.缓冲.异步通信.扩展性.可恢复性等功 ...
- Kafka学习记录(三)——Broker
Kafka学习记录(三)--Broker 目录 Kafka学习记录(三)--Broker 对应课程 Zookeeper存储的Kafka信息 Broker总体工作流程 Broker的服役和退役 Kafk ...
最新文章
- websocket+netty实时视频弹幕交互功能(Java版)
- 习题3-3 数数字(Digit Counting , ACM/ICPC Danang 2007, UVa1225)
- 一个云服务器可以部署多个项目吗,云服务器可以部署多个项目
- 免费Windows系统服务器,免费试用人数太多,Windows 365云电脑服务器炸了,官方紧急暂停...
- Spring3.0 AOP 详解
- 工厂三兄弟之简单工厂模式(二)
- Java黑皮书课后题第8章:**8.11(游戏:九个硬币的正反面)一个3*3的矩阵中放置了9个硬币,这些硬币有些面朝上有朝下。1表示正面0表示反面,每个状态使用一个二进制数表示。使用十进制数表示状态
- 电脑cpu温度过高怎么办_网络资讯:电脑cpu占用过高处理办法
- 云题库进入其它章节的办法 0925
- 复合视频信号CVBS解析
- 超分辨率谷歌卫星图下载经验贴
- 8.3 Convex combinations (凸组合)
- 63%的农村孩子没上高中,中国如何跨越中等收入陷阱?
- python 数据分析 电信_基于Python的电信客户流失分析和预测
- Java使用Tomcat服务器打开jsp等文件出现源码的解决办法
- 黑马旅游网-旅游分类线路分页显示(七)
- (循环串)Periodic Strings UVA - 455
- Python爬虫以及数据可视化分析
- 进入人工智能行业有哪些方法?
- 一年前寫的:計算所得稅以及計算24點遊戲
热门文章
- c++语言iso标准,C++20标准 (ISO/IEC 14882:2020) 正式发布
- c语言spi测试代码,C语言程序SPI
- orb-slam a versatile and accurate monocular slam system
- 基于阈值和深度学习的玉米常见锈病严重程度自动模糊逻辑预测(工具+综述+玉米锈病严重程度数据集)
- 输入某年某月某日,Java判断这一天是这一年的第几天?
- vue 随机显示数组的其中一个_两个显示器组建双屏其中一个屏幕出现重影解决方法...
- 新冠疫情相似句对判定,快速匹配准确答案
- 用TensorFlow训练一个目标检测器(手把手教学版)
- html怎么把view变成标签_html单选按钮默认选中怎么做?input标签的单选按钮用法实例...
- python go rpc_Python RPC 之 gRPC