官网
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)

最新文章

  1. APACHE 在windows下的配置
  2. spring mvc 获取页面日期格式数据
  3. 关于monkeyrunner的一些初步理解性的题目
  4. 在wifi状态下没有数据线,链接手机调试
  5. 设置IIS会话过期时间
  6. V-rep学习笔记:曲柄摇杆机构
  7. <bootstrap>bs2和3的区别</bootstrap>
  8. android软件开发之webView.addJavascriptInterface循环渐进【一】
  9. Rotating Scoreboard - POJ 3335(半面相交求多边形内核)
  10. Ubuntu12.10 下搭建基于KVM-QEMU的虚拟机环境(十三)
  11. Presto0.157版本单节点部署教程
  12. 201521123081《java程序设计》 第13周学习总结
  13. 深度学习框架caffe在macOS Heigh Sierra上安装过程实录
  14. nsq理解
  15. python中的变量和算数运算
  16. XMR恶意挖矿脚本处理笔记
  17. 转:Java工程师成神之路~(2018修订版)
  18. itertools库中product函数用法 (即可以随机出所有组合,因果图那样的)
  19. Kafka开发环境搭建(五)
  20. Python爬虫教程-31-创建 Scrapy 爬虫框架项目

热门文章

  1. 微服务与敏捷开发(Scrum/Kanban)的核心思想之我见
  2. Visual Studio 2019使用码云设置过滤忽略的文件或文件夹(ignore file)
  3. 微信支付 第三篇 微信调用H5页面进行支付
  4. Axure制作dialog效果的动作步骤
  5. jeecg代码生成器配置及常见问题
  6. 打通 DevOps 任督二脉 ,CODING 2.0 制品库全新上线
  7. CODING 2.0:为什么我们需要 DevOps
  8. C#&.Net干货分享- 构造BaiduLanguageHelper对接百度的语言翻译
  9. s3c2440裸机-内存控制器(五、SDRAM编程实现)
  10. libnl概述