3.Broker配置相关

常规配置

在kafka的conf中server.propertis的一些配置

  1. broker.id:每个broker 都需要有一个标识符,使用broker.id 来表示。它的默认值是 0,也可以被设置 成其他任意整数。这个值在整个 Kafka 集群里必须是唯一的。这个值可以任意选定,如果 出于维护的需要,可以在服务器节点间交换使用这些 ID。
  2. port:端口如果使用配置样本来使用Kafka,它会鉴定9092端口。修改port配置参数可以把它设置成其他任意可用端口。
  3. zookeeper.connect:用来保存broker元数据的zookeeper地址通过zookeeper.connect来指定的。localhost:2181表示这个Zookeeper是运行在本地的2181端口上。该配置参数使用冒号分隔的一组hostname:port/path列表。
  4. log.dirs:Kafka把所有消息都保存在磁盘上,存放这些日志片段的目录是通过log.dirs指定的。它是一组用逗号分隔的本地文件系统路径。如果指定了多个路径,那么broker会根据“最少使用”原则,把同一个分区的日志片段保存到同一个路径下。要注意,broker会往拥有最少数目分区的路径新增分区,而不是往拥有最小磁盘空间的路径新增分区。
  5. num.recovery.threads.per.data.dir:对于如下 3 种情况,Kafka会使用可配置的线程池来处理日志片段
  • 服务器正常启动,用于打开每个分区的日志片段
  • 服务器崩溃后重启,用于检查和截短每个分区的日志片段;
  • 服务器正常关闭,用于关闭日志片段。

默认情况下,每个日志目录只使用一个线程。因为这些线程只是在服务器启动和关闭时会用到,所以完全可以设置大量的线程来达到并行操作的目的。特别是对于包含大量分区的服务器来说,一旦发生崩溃,在进行恢复时使用并行操作可能会省下数小时的时间。设置此参数时需要注意,所配置的数字对应的是 log.dirs指定的单个日志目录。也就是说,如 果 num.recovery.threads.per.data.dir 被设为 8,并且 log.dir 指定了3个路径,那么总 共需要 24 个线程。

  1. auto.create.topics.enable 默认情况下,Kafka 会在如下几种情形下自动创建主题: • 当一个生产者开始往主题写入消息时; • 当一个消费者开始从主题读取消息时; • 当任意一个客户端向主题发送元数据请求时。 很多时候,这些行为都是非预期的。而且,根据 Kafka 协议,如果一个主题不先被创建, 根本无法知道它是否已经存在。如果显式地创建主题,不管是手动创建还是通过其他配置 系统来创建,都可以把 auto.create.topics.enable 设为 false。

主题配置相关

  1. num.partitions:指定新创建的主题将包含多少个分区。默认参数是1。
  2. log.retention.ms:Kafka 通常根据时间来决定数据可以被保留多久。默认使用 log.retention.hours参数来配置时间,默认值为168小时,也就是一周。除此以外,还有其他两个参数log.retention.minutes和log.retention.ms
  3. log.retention.byte:另一种方式是通过保留的消息字节数来判断消息是否过期。它的值通过参数log.retention.bytes来指定,作用在每个分区上。也就是说,如果有一个包含8个分区的主题,并且log.retention.bytes被设为1GB,那么这个主题最多可以保留8GB的数据。
  4. log.segment.bytes:以上的设置都作用在日志片段上,而不是作用在单个消息上。当消息到达 broker 时,它们被追加到分区的当前日志片段上。当日志片段大小达到 log.segment.bytes 指定的上限 (默认是1GB)时,当前日志片段就会被关闭,一个新的日志片段被打开。如果一个日志片段被关闭,就开始等待过期。这个参数的值越小,就会越频繁地关闭和分配新文件,从而降低磁盘写入的整体效率。
  5. log.segment.ms:控制irzhi片段关闭时间。
  6. message.max.bytes:broker 通过设置 message.max.bytes 参数来限制单个消息的大小,默认值是 1000 000,也就是1MB。如果生产者尝试发送的消息超过这个大小,不仅消息不会被接收,还会收到broker返回错误的信息。

v2-52beccf2a41e2f6af26fb3ee97b18aa8_b.jpg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值