下载解压 kafka 后,在 kafka/config 下有 3 个配置文件与主题的生产、消费相关。
  • server.properties--服务端配置
  • producer.properties--生产端配置
  • consumer.properties--消费端配置
这里主要介绍服务端的参数配置。
 
server.properties 
#指定 kafka集群中 broker 的全局编号,每一个 broker 的编号不能重复。
broker.id= #Listeners 指明 broker 监听客户端连接的地址列表,即客户端要连接 broker 的入口地址列表,
#配置格式为protocol://hostname:port,多个地址中间以逗号隔开,
#其中 protocol 代表协议类型,Kafka 当前支持的协议类型有 PLAINTEXT、SSL、SASL_SSL 等,如果未开启安全认证,则使用简单的 PLAINTEXT 即可;
#hostname 代表主机名,主机名最好不要为空,这里是 localhost;
#port 代表服务端口,producer或consumer将在此端口建立连接,这里是 。
listeners=PLAINTEXT://localhost:9092 #advertised.listeners 主要用于 IaaS(Infrastructure as a Service)环境,
#若多块网卡包含私网网卡和公网网卡,配置 listeners 参数绑定私网IP地址供 broker 间通信使用,
#配置advertised.listeners 参数绑定公网IP供外部客户端使用,
advertised.listeners=PLAINTEXT://localhost:9092 #broker 处理网络请求的线程数量,也就是接收消息的线程数,一般情况下不需要去修改。
#接收线程会将接收到的消息放到内存中,然后再从内存中写入磁盘。
num.network.threads= #消息从内存中写入磁盘时使用的线程数量。
#用来处理磁盘IO的线程数量。
num.io.threads= #发送套接字的缓冲区大小。
socket.send.buffer.bytes= #接受套接字的缓冲区大小。
socket.receive.buffer.bytes= #请求套接字的缓冲区大小。
socket.request.max.bytes= #kafka运行日志存放的路径
log.dirs=/usr/local/kafka/log/kafka #topic在当前broker上的分片数
num.partitions= #日志默认会被保留7天的时间,超时的话就会被清理,清理这件事情就需要有一些线程来做。
#这里就是用来设置恢复和清理data下数据的线程数量。
num.recovery.threads.per.data.dir= #主题的副本数量
offsets.topic.replication.factor= #事务主题的复制因子,设置更高以确保可用性。
transaction.state.log.replication.factor= #覆盖事务主题的min.insync.replicas配置。
transaction.state.log.min.isr= #接收线程会将接收到的消息放到内存中,然后再从内存写到磁盘上,
什么时候将消息从内存中写入磁盘,就有一个时间限制(时间阈值)和一个数量限制(数量阈值)
#这里设置的是数量阈值,消息的条数达到阈值,将触发flush到磁盘。下一个参数设置的则是时间阈值。
log.flush.interval.messages= #消息buffer的时间,达到阈值,将触发将消息从内存flush到磁盘,单位是毫秒。
log.flush.interval.ms= #日志文件保留的最长时间,单位小时,默认保留7天(168小时),超时将被删除。
log.retention.hours= #topic 的分区是以一堆 segment 文件存储的,
#此参数控制日志文件中每个 segment 的大小,单位是字节,即默认为1G。
log.segment.bytes= #周期性检查文件大小的时间,单位是毫秒。
#即定期检查 segment 文件有没有达到1G(上一个参数)
log.retention.check.interval.ms= #zookeeper 的集群地址,可以是多个,多个地址之间用逗号隔开,
#broker需要使用 zookeeper 保存 meta 数据。
zookeeper.connect=localhost: #zookeeper 的连接超时时间
zookeeper.connection.timeout.ms= #在执行第一次再平衡之前,group 协调员将等待更多消费者加入 group 的时间。
#延迟时间越长意味着重新平衡的可能性越小,但是等待处理开始的时间增加。
group.initial.rebalance.delay.ms=
 

Kafka学习笔记2--Kafka的服务端配置的更多相关文章

  1. Kafka学习笔记之Kafka性能测试方法及Benchmark报告

    0x00 概述 本文主要介绍了如何利用Kafka自带的性能测试脚本及Kafka Manager测试Kafka的性能,以及如何使用Kafka Manager监控Kafka的工作状态,最后给出了Kafka ...

  2. Binder学习笔记(九)—— 服务端如何响应Test()请求 ?

    从服务端代码出发,TestServer.cpp int main() { sp < ProcessState > proc(ProcessState::self()); sp < I ...

  3. Kafka学习笔记3--Kafka的生产者和消费者配置

    下载解压 kafka 后,在 kafka/config 下有 3 个配置文件与主题及其生产.消费相关. server.properties--服务端配置 producer.properties--生产 ...

  4. Netty4 学习笔记之一:客户端与服务端通信 demo

    前言 因为以前在项目中使用过Mina框架,感受到了该框架的强大之处.于是在业余时间也学习了一下Netty.因为Netty的主要版本是Netty3和Netty4(Netty5已经被取消了),所以我就直接 ...

  5. Docker学习笔记 - Docker客户端和服务端

    学习内容: Docker客户端和服务端的通讯方式:client和自定义程序 Docker客户端和服务端的连接方式:socket 演示Docker客户端和服务端之间用remote-api通讯:nc   ...

  6. Kafka学习笔记之Kafka Consumer设计解析

    0x00 摘要 本文主要介绍了Kafka High Level Consumer,Consumer Group,Consumer Rebalance,Low Level Consumer实现的语义,以 ...

  7. Kafka学习笔记之Kafka背景及架构介绍

    0x00 概述 本文介绍了Kafka的创建背景,设计目标,使用消息系统的优势以及目前流行的消息系统对比.并介绍了Kafka的架构,Producer消息路由,Consumer Group以及由其实现的不 ...

  8. FastSocket学习笔记~再说客户端与服务端的组成

    废话多说 很久之前,我写过几篇FastSocket的文章,基本属于使用的方法,而缺乏对概念的总结讲解,而本讲就是弥补一下上几讲的不足,将核心的模块再说说,再谈谈,再聊聊! 首先FastSocket由C ...

  9. linux网络编程学习笔记之三 -----多进程并发服务端

    首先是fork()函数.移步APUE 8.3.  比較清晰的解释能够參考http://blog.csdn.net/lingdxuyan/article/details/4993883和http://w ...

  10. Kafka学习笔记之Kafka三款监控工具

    0x00 概述 在之前的博客中,介绍了Kafka Web Console这 个监控工具,在生产环境中使用,运行一段时间后,发现该工具会和Kafka生产者.消费者.ZooKeeper建立大量连接,从而导 ...

随机推荐

  1. Jsp调用淘宝IP地址库获取来访IP详细信息

    Jsp调用淘宝IP地址库获取来访IP详细信息   示例网页点击:www.trembler.cn/ipinfo/ipinfo(服务器有其他用处,页面已失效) String ip = request.ge ...

  2. HeadFirst设计模式--命令模式

    模式定义 命令模式(Command Pattern):将一个请求封装为一个对象,从而使我们可用不同的请求对客户进行参数化:对请求排队或者记录请求日志,以及支持可撤销的操作.命令模式是一种对象行为型模式 ...

  3. 使用redis实现程序或者服务的高可用

    使用redis实现程序或者服务的高可用,就是将某一程序或服务部署在不同服务器上,或者是跨机房部署,当运行服务的服务器挂了之后,其他服务器上的该服务能立马顶上,这里我简单的使用redis实现这一目的. ...

  4. docker研究-3 docker简介和基本操作

    Docker是PaaS供应商dotCloud开源的一个基于LXC 的高级容器引擎,源代码托管在 GitHub 上, 基于Go语言开发并遵从Apache 2.0协议开源.Docker 是通过内核虚拟化技 ...

  5. Jenkins连接Git仓库时候报错Permission denied, please try again.

    一.连接GIT仓库报错 Failed to connect to repository : Command : stdout: stderr: Permission denied, please tr ...

  6. Java结构讲解

    Java结构有顺序结构.选择结构和循环结构. 顺序结构: 是Java的基本结构,除非特别说明,否则按顺序一句一句执行:也是最简单的结构:它是任何一个算法都离不开的一种基本算法结构. 选择结构: 1.i ...

  7. C++编译错误 --- 成员函数定义在 .h 文件中出现重定义错误(Error LNK 2005)

    今天写了一个简单的类,定义在 .h 文件中, 类很简单就将其成员函数定义在了一起(class类后面).运行的时候出现了如下图所示的编译错误(error LNK2005) 查资料,大部分都是说需要加上 ...

  8. Js中的对象、构造函数、原型、原型链及继承

    1.对象 在传统的面向过程的程序设计中,会造成函数或变量的冗余.而JS中对象的目的是将所有的具有相同属性或行为的代码整合到一起,形成一个集合,这样就会方便我们管理,例如: var person1={  ...

  9. k8s集群搭建 2019

    参考,https://github.com/qxl1231/2019-k8s-centos 事实上k8s集群的搭建很简单,笔者在搭建的过程中遇到的主要问题是镜像无法下载的问题. 如果发现教程中提供的镜 ...

  10. File.createNewFile和 File.createTempFile比较和区别

    原文地址:http://wzhiju.iteye.com/blog/1119037 最近,在看代码时看到了一个方法, File.createTempFile() ,由此联想到File.createNe ...