一.操作系统-Linux

  • Kafka是JVM系的大数据框架
  • kafka由Scala语言和Java语言编写而成,编译之后的源代码就是普通的".class"文件

使用Linux

  • kafka客户端底层使用Java的selector,selector在Linux上的实现机制是epoll,由于在windows上实现是select,因此部署在Linux上有优势,可以获得更高效的I/O性能。
  • 在Linux部署kafka能够享受到零拷贝技术所带来的 快速数据传输特性。

二.磁盘-普通机械磁盘

  • kafka大量使用磁盘,但是使用磁盘是顺序读写操作,一定程序规避机械磁盘的随机读写操作慢。
  • 机械磁盘物美价廉,易损坏等可靠性缺陷,由kafka在软件层面提供机制保证。

三.磁盘容量

需求:

kafka需要将消息保存在底层磁盘上,这些消息默认保存一段时间然后自动被删除。

问题:

  • 假设公司业务每天需要发送一亿条消息,每条消息保存两份以上防止数据丢失,
  • 另外消息默认保存两周时间。假设消息的平均大小是1kB,那么你能计算出kafka集群要预留多少磁盘空间吗?

计算:

  • 每天一亿条1kB大小的消息,且保存两份留存两周
  • 计算一天的空间大小:1亿*1KB*2=200GB
  • 一般情况下Kafka集群除了消息数据还有其他类型的数据,比如索引数据,我们需要预留出百分之10的磁盘空间,因此总的存储容量就是220GB
  • 保存两周,那就是220GB*14,大约为3TB左右
  • kafka支持的压缩比是0.75,那么最后规划需要的空间是0.75*3-2.25TB

规划磁盘容量考虑以下几个元素:

  • 新增消息数
  • 消息 留存时间
  • 消息平均大小
  • 备份数
  • 是否启用压缩

四.带宽

  • 与其说是带宽资源规划, 其实是规划所需kafka服务器的数量。

需求:

  • 公司的机场环境是千兆网络即1Gbps,现在有业务,业务目标是1小时处理1TB业务数据,那么需要多少台服务器完成业务:

计算:

  • 带宽是1Gbps,即每秒处理1Gb的数据,假设每台kafka服务器都是安装在专属的机器上,通常环境还是有其他服务,通常kafka只能用到百分70的带宽资源。
  • 实际使用经验,超过70%的阈值就有网络丢包可能性,故70%的设定是一个比较合理的值,也就是单台kafka服务器可能使用700mMb带宽资源。
  • 这只是它能使用的最大带宽资源,你不能让kafka服务器常规性使用这么多资源。通常额外预留2/3的资源,即单台服务器使用带宽700Mb/3=240Mbps。
  • 计算1小时处理1TB数据所需服务器数量。2336/240=10台,额外复制两份,需要30台。
因素 考量点 建议
操作系统 操作系统I/O模型 Linux
磁盘 磁盘I/O性能 机械磁盘
磁盘容量 消息数,留存时间预估 建议预留百分之20-30的磁盘资源
带宽 实际带宽资源预估 对于千兆网络按700Mps计算
文章知识点与官方知识档案匹配,可进一步学习相关知识
云原生入门技能树首页概览13441 人正在系统学习中

[转帖]Kafka 核心技术与实战学习笔记(六)kafka线上集群部署方案的更多相关文章

  1. 基于Centos7xELK+Kafka集群部署方案

    本次集群部署使用ELK版本统一为6.8.10,kafka为2.12-2.51 均可在官网下载 elasticsearch下载地址:https://www.elastic.co/cn/downloads ...

  2. Elasticsearch核心技术与实战-学习笔记

    学习资源: Elasticsearch中文社区日报https://elasticsearch.cn/article/ Elasticsearch 官网 https://www.elastic.co/ ...

  3. 官网英文版学习——RabbitMQ学习笔记(十)RabbitMQ集群

    在第二节我们进行了RabbitMQ的安装,现在我们就RabbitMQ进行集群的搭建进行学习,参考官网地址是:http://www.rabbitmq.com/clustering.html 首先我们来看 ...

  4. Nginx学习笔记(反向代理&搭建集群)

    一.前言 1.1 大型互联网架构演变历程 1.1.1 淘宝技术 淘宝的核心技术(国内乃至国际的 Top,这还是2011年的数据) 拥有全国最大的分布式 Hadoop 集群(云梯,2000左右节点,24 ...

  5. Linux实战教学笔记33:lvs+keepalived集群架构服务

    一,LVS功能详解 1.1 LVS(Linux Virtual Server)介绍 LVS是Linux Virtual Server 的简写(也叫做IPVS),意即Linux虚拟服务器,是一个虚拟的服 ...

  6. Redis学习笔记(十八) 集群(下)

    复制和故障转移 Redis集群中的节点分为主节点(master)和从节点(slave),其中主节点用于处理槽,而从节点则用于复制某个主节点,并在被复制 的主节点下线时,代替下线主节点继续处理命令请求. ...

  7. python学习笔记六 初识面向对象上(基础篇)

    python面向对象   面向对象编程(Object-Oriented Programming )介绍   对于编程语言的初学者来讲,OOP不是一个很容易理解的编程方式,虽然大家都知道OOP的三大特性 ...

  8. Hadoop学习笔记(4)hadoop集群模式安装

    具体的过程参见伪分布模式的安装,集群模式的安装和伪分布模式的安装基本一样,只有细微的差别,写在下面: 修改masers和slavers文件: 在hadoop/conf文件夹中的配置文件中有两个文件ma ...

  9. 学习笔记(5)——实验室集群LVS监控Web界面配置

    症状:通过虚拟IP能访问到监控页面:http://192.168.253.110/ipvsadm.php,但是却无法读出LVS任务分发及集群负载信息. 打开ipvsadm.php页面,源码如下: &l ...

  10. 学习笔记(4)——实验室集群管理结点IP配置

    经过验证,集群管理结点mgt的IP配置应为如下所示: [root@mgt zmq]# ifconfig//外部网卡 eth0 Link encap:Ethernet HWaddr 5C:F3:FC:E ...

随机推荐

  1. 昇腾实践丨ATC模型转换动态shape问题案例

    本文分享自华为云社区<ATC模型转换动态shape问题案例>,作者:昇腾CANN. ATC(Ascend Tensor Compiler)是异构计算架构CANN体系下的模型转换工具:它可以 ...

  2. 华为云API Explorer:自动化运维的得力助手

    华为云API Explorer为开发者提供一站式API解决方案统一平台,集成华为云服务所有开放API,支持全量快速检索.可视化调试.帮助文档.代码示例等能力,帮助开发者快速学习API,使用API开发代 ...

  3. 视频编码耗时长、编码帧发送失败…DVPP视频编码问题典型案例分析

    摘要:本期就分享几个关于DVPP视频编码问题的典型案例,并给出原因分析及解决方法 本文分享自华为云社区<DVPP媒体数据处理视频编码问题案例>,作者:昇腾CANN. DVPP(Digita ...

  4. AI论文解读丨融合视觉、语义、关系多模态信息的文档版面分析架构VSR

    摘要:文档版式分析任务中,文档的视觉信息.文本信息.各版式部件间的关系信息都对分析过程具有很重要的作用.本文提出一种融合视觉.文本.关系多模态信息的版式分析架构VSR. 本文分享自华为云社区<论 ...

  5. 4问教你搞定java中的ThreadLocal

    摘要:ThreadLocal是除了加锁同步方式之外的一种保证规避多线程访问出现线程不安全的方法. 本文分享自华为云社区<4问搞定java中的ThreadLocal>,作者:breakDra ...

  6. WebKit网页布局实现(0):基本概念及标准篇

    作为一个广受好评的浏览器引擎,其网页布局的质量(包括速度.效率.符合标准度等)往往是其关键,那么WebKit究竟是如何布局网页上的所有元素(包括滚动条.文字.图片.按钮.下拉框等)呢?其主要数据结构及 ...

  7. appuploder全过程使用教程(Windows版本)

    转载:使用appuploader工具流程(Windows版本) 一.登录apple官网,注册账号 1.注册苹果账号 Sign In - Apple 2.登录开发者中心 ,出现协议弹框,同意即可. 二. ...

  8. 火山引擎DataLeap的Data Catalog系统公有云实践

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 Data Catalog是一种元数据管理的服务,会收集技术元数据,并在其基础上提供更丰富的业务上下文与语义,通常支 ...

  9. 【主流技术】MongoTemplate 与 Spring Boot 项目集成分享(附CURD技巧)

    目录 前言 一.表结构特点 1.1Json格式 1.2实体映射 二.条件构造 2.1Criteria与Query的区别 2.2简单条件 2.3复杂条件 三.如何选用接口 3.1MongoReposit ...

  10. 又拍云邵海杨 - 25年Linux老兵,聊聊运维的“术”与“道”

    您好邵总,请您先做个自我介绍吧,聊聊您的履历和现状,让大家更好的认识您,了解您的背景也有助于读者理解后面的采访内容 我是来自又拍云的邵海杨,从1998年开始使用Linux至今快25年了,资深(老鸟)L ...