一.Broker 端参数

Broke存储信息配置

  • log.dirs:非常重要,指定Broker需要使用的若干文件目录路径,没有默认值必须亲自指定。
  • log.dir:他只能表示单个路径,补充上一个参数用。

如何设置:

  • 只要设置log.dirs,不要设置log.dir
  • 线上环境一定要为log.dirs配置多个路径,具体格式为CSV格式,比如:/home/kafka1,/home/kafka2,/home/kafka3

最好保证这些目录挂载到不同的物理磁盘上:

  • 提升读写性能:多块磁盘同时读写数据有更高吞吐量
  • 能实现故障转移:Failover
  • kafka1.1以前:Broker使用的任何一块磁盘挂掉,整个Broker进程都会被关闭
  • 1.1之后:坏掉的磁盘的数据会自动转移到其他正常的磁盘上,而且Broker还能正常工作。

二.Zookeeoer的相关配置:

  • Zookeeper是什么
  • 分布式协调框架,负责协调管理并保存kafka集群的所有元数据信息,比如集群中有哪些Broker运行,创建哪些Topic,每个Topic多个分区,以及分区的Leader副本在哪些机器上等信息。

Zookeeper.connect

  • 这也是CSV格式的参数,比如zk1:2181,zk2:2181,zk3:2181
  • 多个kafka使用同一套zookeeper集群,使用chroot,类似于别名。

三.客户端程序或者其他Broker与该Broker的配置:

  • listeners:监听器,告诉外部连接者要通过什么协议访问指定主机名和端口开放kafka的服务。
  • advertised.listeners:和listeners相比多了个advertised。Advertised含义是公开的,因此这组 监听器是Broker对外公布的。

监听器的概念:

  • 他是由若干个逗号分隔的三元组,每个三元组格式为<协议名称,主机号,端口号>
  • listener.security.protocol.map参数告诉这个协议底层使用了哪种安全协议
  • 这里我给出统一的建议:最好全部使用主机名,即 Broker 端和 Client 端应用配置中全部填写主机名。

四.Topic 配置

auto.create.topics.enable:是否允许自动创建Topic

  • 参数建议最好设置成false,避免创建名字稀奇古怪的Topic。

unclean.leader.election。enable

  • 能否让落户的副本竞选Leader。
  • 如果是false:坚决不让落后太多的副本竞选Leader,这样会导致分区不可用,因为没有Leader选出
  • 如果是true,那么kafka允许从慢的副本中选出一个Leader,这样会导致数据丢失,因为副本数据本身就不全,当成为Leader以后就会以他的为准。
  • 这个参数新版默认false;

auto.leader.rebalance.enable:是否允许定期选举Leader

  • 对生产环境影响较大
  • 换Leader,本身没有收益建议换成false;

五.数据存留配置

log.retention.{hours|minutes|ms}

  • 控制一条消息数据保存多长时间,优先级是ms>minutes>hours
  • 通常情况下设置hours级别多一些,比如log.retention.hours=168表示7天后删除,自动删除7天前的数据。

log.retention.bytes:

  • 指定 Broker 为消息保存的总磁盘容量大小。

message.max.bytes:控制 Broker 能够接收的最大消息大小。

  • 默认的 1000012 太少了,还不到 1MB。实际场景中突破 1MB 的消息都是屡见不鲜的,因此在线上环境中设置一个比较大的值还是比较保险的做法。毕竟它只是一个标尺而已,仅仅衡量 Broker 能够处理的最大消息大小,即使设置大一点也不会耗费什么磁盘空间的。
文章知识点与官方知识档案匹配,可进一步学习相关知识
Java技能树首页概览121025 人正在系统学习中

[转帖]Kafka 核心技术与实战学习笔记(七)kafka集群参数配置(上)的更多相关文章

  1. Redis学习笔记八:集群模式

    作者:Grey 原文地址:Redis学习笔记八:集群模式 前面提到的Redis学习笔记七:主从复制和哨兵只能解决Redis的单点压力大和单点故障问题,接下来要讲的Redis Cluster模式,主要是 ...

  2. ZooKeeper学习笔记一:集群搭建

    作者:Grey 原文地址:ZooKeeper学习笔记一:集群搭建 说明 单机版的zk安装和运行参考:https://zookeeper.apache.org/doc/r3.6.3/zookeeperS ...

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

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

  4. redis 学习笔记(6)-cluster集群搭建

    上次写redis的学习笔记还是2014年,一转眼已经快2年过去了,在段时间里,redis最大的变化之一就是cluster功能的正式发布,以前要搞redis集群,得借助一致性hash来自己搞shardi ...

  5. Hadoop学习笔记—13.分布式集群中节点的动态添加与下架

    开篇:在本笔记系列的第一篇中,我们介绍了如何搭建伪分布与分布模式的Hadoop集群.现在,我们来了解一下在一个Hadoop分布式集群中,如何动态(不关机且正在运行的情况下)地添加一个Hadoop节点与 ...

  6. 开源流媒体服务器SRS学习笔记(4) - Cluster集群方案

    单台服务器做直播,总归有单点风险,利用SRS的Forward机制 + Edge Server设计,可以很容易搭建一个大规模的高可用集群,示意图如下 源站服务器集群:origin server clus ...

  7. 吴裕雄--天生自然HADOOP学习笔记:hadoop集群实现PageRank算法实验报告

    实验课程名称:大数据处理技术 实验项目名称:hadoop集群实现PageRank算法 实验类型:综合性 实验日期:2018年 6 月4日-6月14日 学生姓名 吴裕雄 学号 15210120331 班 ...

  8. Redis学习总结(七)--Redis集群之客户端访问

    我们来试试进行数据的存储 127.0.0.1:7000> set name marklogzhu OK 127.0.0.1:7000> get name "marklogzhu& ...

  9. Redis学习笔记~conf自主集群模式

    回到目录 Redis自主提供了集群模式,当然也只是比较简单的读写分离模式,或者叫主从模式,它在各个redis服务端自己做数据同步机制,当然就是将主服务端的信息同步到各个slave服务器上,在客户端集成 ...

  10. K8S学习笔记之CentOS7集群使用Chrony实现时间同步

    0x00 概述 容器集群对时间同步要求高,实际使用环境中必须确保集群中所有系统时间保持一致,openstack官方也推荐使用chrony代替ntp做时间同步. Chrony是一个开源的自由软件,像Ce ...

随机推荐

  1. Base64编码:数据传输的安全使者

    Base64编码是一种将二进制数据转换为可传输的文本表示形式的方法,它在全球范围内被广泛应用于网络通信.数据存储和传输等领域.本文将从多个方面介绍Base64编码的原理.应用及其在现实场景中的优势,帮 ...

  2. 2021-01-16:我截获了登录token的话,是不是就获得了登录状态,这样就不安全了。如何保证安全?

    福哥答案2021-01-06: 知乎答案: 首先,Token 一般放在 Header 或者 Cookies 中,Http 是明文传输,Https 是密文传输.可以一定程度防止Token 截获. 第二, ...

  3. 为了减少代码复杂度,我将if-else升级为面向状态编程

    摘要:面向过程设计和面向对象设计的主要区别是:是否在业务逻辑层使用冗长的if else判断. 本文分享自华为云社区<从面向if-else编程升级为面向状态编程,减少代码复杂度>,作者:br ...

  4. 提升源代码安全性的C#和Java深度混淆工具——IpaGuard

    提升源代码安全性的C#和Java深度混淆工具--IpaGuard 摘要 Ipa Guard是一款功能强大的IPA混淆工具,通过对iOS IPA文件进行混淆加密,保护其代码.资源和配置文件,降低破解反编 ...

  5. 2023年 CISO 需要高度关注的任务和趋势

    在过去的几年中,企业一直忙于应对远程办公模式下的安全要求.展望2023年,疫情局面将与过去3年大不相同.根据目前的趋势,未来一年的网络攻击的数量和严重程度都将增加,这将对各规模企业,尤其是未做好准备的 ...

  6. IaC 存储最佳实践

    往往一些成功的软件公司在构建解决方案的时候十分注重其可重复性.可审计性.和简便性,而基础设施即代码(IaC)的出现让开发人员能够将这些时间应用于基础设施的分配.目前的存储 IaC 的实践有以下三种: ...

  7. 火山引擎 DataTester:A/B 实验如何应用在抖音的产品优化流程中?

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 日前,在 WOT 全球创新技术大会上,火山引擎 DataTester 技术负责人韩云飞做了关于字节跳动 A/B 测 ...

  8. 高性能 Jsonpath 框架,Snack3 3.2.57 发布

    Snack3,一个高性能的 JsonPath 框架 借鉴了 Javascript 所有变量由 var 申明,及 Xml dom 一切都是 Node 的设计.其下一切数据都以ONode表示,ONode也 ...

  9. 拒绝了对对象 ‘GetTips‘ (数据库 ‘vipsoft‘,架构 ‘dbo‘)的 EXECUTE 权限

    SQL Server 2016 安装 数据库-属性-权限-选择用户或角色-勾选执行权限即可.

  10. Hugging Face 入选 Time《时代周刊》2023 全球前 100 最具影响力的公司

    喜报 Hugging Face 入选 Time<时代周刊>2023 全球前 100 最具影响力的公司 继续为梦想努力 继续为开源贡献 榜单链接: https://time.com/100c ...