一.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. 神经网络基础篇:梯度下降法(Gradient Descent)

    梯度下降法 梯度下降法可以做什么? 在 测试集上,通过最小化代价函数(成本函数)\(J(w,b)\)来训练的参数\(w\)和\(b\), 如图,在第二行给出和之前一样的逻辑回归算法的代价函数(成本函数 ...

  2. 十分钟从入门到精通(下)——OBS权限配置

    上一篇我们介绍了OBS权限管理中统一身份认证和企业项目管理,本期我们继续介绍OBS权限管理中的高级桶策略和ACL应用.   您是否也遇到过类似的问题或者困扰? 1.隔壁的主账户给了子用户创建一个桶,但 ...

  3. 技术解读丨GaussDB数仓高可用容灾利器之逻辑备份

    摘要:GaussDB数仓的Roach工具,同时提供物理备份和逻辑备份两种主要形态的备份.逻辑备份针对数据库的逻辑对象进行抽取和备份,能够有效地应对单表.schema级等较细粒度的备份,较为灵活和便利. ...

  4. 构建万物互联,华为云IoT+鸿蒙重燃物体感知

    摘要:鸿蒙的出现,让硬件.软件行业面临着变革与重构的洪流,但激流勇进中,也潜藏着巨大机遇.物联网设备与鸿蒙结合成为必然趋势,本文将解读华为云IoT+鸿蒙如何强强联合,为物联网行业提供新的思路和方法. ...

  5. 带你了解TensorFlow pb模型常用处理方法

    摘要:TensorFlow 模型训练完成后,通常会通过frozen过程保存一个最终的pb模型. 本文分享自华为云社区<TensorFlow pb模型修改和优化>,作者:luchangli. ...

  6. 鸿蒙轻内核源码分析:Newlib C

    摘要:本文介绍了LiteOS-M内核Newlib C的实现,特别是文件系统和内存分配释放部分,最后介绍了Newlib钩子函数. 本文分享自华为云社区<鸿蒙轻内核M核源码分析系列二十 Newlib ...

  7. A/B测试有哪些常见应用场景?——火山引擎DataTester科普

      更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 火山引擎 DataTester不仅对外提供服务,也是字节跳动内部所应用的A/B实验平台,它基于先进的底层算法, ...

  8. Oracle 删除唯一约束

    1.查出有哪些约束 SELECT CONSTRAINT_NAME,CONSTRAINT_TYPE,STATUS FROM USER_CONSTRAINTS WHERE TABLE_NAME ='D_D ...

  9. Sublime Text 查找的内容 高亮显示

    1. 默认情况下是方框,看起来不太方便 2. 选中 "同" 然后按 Alt +F3[下方的查询框要出现,没有的话按 Ctrl+F 调出来,否则不会高亮显示] 同时,选中的文字还会填 ...

  10. Mac 播放 swf Flash文件

    Flash已不再支持,swf 文件彻底打不开了(一些教程),通过PD虚拟,安装 windows 操作系统在里在装了 flash 播放器使用了一段时间,始终不方便.于是找到了如下方法 首先安装:Adob ...