kafka server.properties 配置文件详解(二)
虽然在前面一部分我们启动了kafka集群,并通过控制台的方式实现了producer和consumer,但是我们还是了解一下kafka单个节点是的配置参数属性,
也只有了解了这些参数的配置,才能将kafka的性能发挥到最好。
标红部分为集群必配属性,致于其它的参数配置等学完后再回过头来看这些参数,你就知道是什么意思了
1.broker.id
broker.id=2 一般采用ip的后三位来用来标识是哪台kafka的broker,利于定位和排错
2.Prot
tcp用来监控的kafka端口
listeners=PLAINTEXT://192.168.43.17:9092
3.Zookeeper.connect
#kafka连接zk的集群,多个用”,”号隔开
#zookeeper.connect=192.168.43.15:2181,192.168.43.16:2181,192.168.43.17:2181
#但是这样写不是很友好,kafka在连上zk后,直接在zk的根目录创建自己需要的文件夹,这样会导致zk的根目录也非常乱
#同时如果有别的项目也在用zk创建1个controller目录,kafka会产生一个controller的文件夹,这样会导致混淆
#如果需要部署2个独立的kafka storm环境时,只有一个zk集群时
#综上所述,可以采用命名空间的方式解决以上问题:
zookeeper.connect=192.168.43.15:2181,192.168.43.16:2181,192.168.43.17:2181/kafka_1(推荐使用这2种方式)
zookeeper.connect=192.168.43.15:2181,192.168.43.16:2181,192.168.43.17:2181/kafka_2
4.Log.dirs(commit log)
#用来存储日志的路径,它上面存放了多个log segment,如果采用了磁盘阵列,路径可以是多个
#如果采用了多个存储路径,1个partition只能存放在1个路径下,因为顺序的磁盘读写操作速度
#可以接近随机的内存读写速度
log.dirs=/var/lib/kafka
5.num.recovery.threads.per.data.dir=1
#kafka配置了1个线程池,当kafka启动时打开每个segment,启动失败时检查并截取每个segment
#服务关闭时,关闭segments的句柄、管道的flush操作,
num.recovery.threads.per.data.dir=1
#注意是1个路径默认是1个线程,如果log.dirs配置了3个路径,那么将会有24个线程
6.auto crteat.topics.enable(配置文件中没有)
#自动创建1个topic
#当不存在1个topic时会创建,读的时候会创建1个topic,通过api访问元数据时,如果不存在会创建1个topic
#但是这个创建的tpoic都是采用默认的配置,因此不建议使用
# 一般情况下我们设置成false
7.num.partitions
#设置partitions 的个数
num.partitions=1
8.log.retention.ms
#日志存放时间,依据是文件最后1次更新文件的时间,这个参数是针对broker的,按小时来算的
log.retention.hours=168
#存放1个星期
9.log.retention.bytes
#partition保留数据的大小,这个参数是针对1个partitions 的
#如果有8个partition,每个partition设置的是1GB,那最多存8GB的东西,超过了就会将老的数据删除
log.retention.bytes=1073741824
10.log.segment.bytes
#设置segment 片断的大小,如果存放的达到了设置的大小,这个segment 将会关闭,并且将会
#创建1个新的打开的segment,如果1个segment达到了设置的大小并且已关闭,那么这个segment是可
#以被删除的,如果这个segment设置的小,则会频繁的创建segment,会影响kafka的性能,如果设置的较大
#超过了log.retention.ms的保存时间,这样会造成数据不一致或丢失的情况,因此,设置每个segment的
#大小还是要根据业务量来判断
log.segment.bytes=1073741824
11.log.segment.ms
#另一种控制segments关闭的参数设置
log.segment.ms
12.message.max.bytes
#发送信息的最大单位值,如果超过了,会造成数据丢失
#如果要发送的数据量较大,可以调整这个参数和检查发送数据量的
message.max.bytes=1024
kafka server.properties 配置文件详解(二)的更多相关文章
- server.properties 文件详解
[转载]:server.properties 文件详解 # 每一个Broker在集群中的唯标识.即使Broker的IP地址发生了变化,broker.id只要没变,则不会影响consumers的消息情况 ...
- mybatis的配置文件详解(二)
一.properties 这些属性都是可外部配置且可动态替换的,既可以在典型的 Java 属性文件中配置,亦可通过 properties 元素的子元素来传递.例如 1) <?xml versio ...
- Log4j之properties配置文件详解
Log4j由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式.日志信息的优先级从高到低有ERROR.WARN. INFO.DEBUG,分别用来指定这条日志信息的重要程度: ...
- Tomcat下的Server.xml配置文件详解
自15年毕业到现在已经入行两年多了,一直以来没有深入的了解过tomcat的详细配置,只懂修改一下端口号.在网上找了些相关资料来支撑这篇文章,深入了解server.xml文件各配置的作用 <?xm ...
- Tomcat学习笔记【4】--- Server.xml配置文件详解
本文主要讲如何配置Tomcat服务器. 首先展示一个BS结构图: 1 server 一个server就表示一个Tomcat实例. 1)port 指定一个端口,这个端口负责监听关闭tomcat的请求: ...
- SpringBoot第三篇:配置文件详解二
作者:追梦1819 原文:https://www.cnblogs.com/yanfei1819/p/10615605.html 版权声明:本文为博主原创文章,转载请附上博文链接! 前言 本文主要讲 ...
- log4j.properties配置文件详解
Log4J的配置文件(Configuration File)就是用来设置记录器的级别.存放器和布局的,它可接key=value格式的设置或xml格式的设置信息.通过配置,可以创建出Log4J的运行环境 ...
- mycat server.xml 配置文件详解
<?xml version="1.0" encoding="UTF-8"?> <!-- - - Licensed under the Apac ...
- SQL Server 一些关键字详解(二)
1.LEFT JOIN 容易让人误解的地方 背景:因为在网上搜了下 LEFT JOIN 和 OUTER APPLY 的区别,时发现,有的网友解释为: 1) A left join B 的连接 ...
随机推荐
- 为什么说Redis是单线程的?
一.前言 近乎所有与Java相关的面试都会问到缓存的问题,基础一点的会问到什么是“二八定律”.什么是“热数据和冷数据” ,复杂一点的会问到缓存雪崩.缓存穿透.缓存预热.缓存更新.缓存降级等问题,这些看 ...
- Oracle 后台进程(六)PMON进程
一.PMON简介 二.PMON的工作内容如下: 1.监控后台进程运行状况 2.如果某些进程异常中断,PMON去释放会话资源以及占用的锁LOCK 3.更新事务表的标志以及清除事务XID的标记 4.清除异 ...
- Celery和Flask
第一章:Celery 第二章:Flask登录 第三章:flask简介 第四章:flask应用启动流程 第五章:路由第六章:上下文 第七章:请求 第八章:响应 第九章:session
- IDEA工具的安装、破解与配置
一.什么是IDEA? IDEA 全称 IntelliJ IDEA,是java编程语言开发的集成环境,是目前最好用的java集成开发工具.他最突出的功能是调试(Debug),可以对Java代码,Java ...
- 【概率论】4-6:协方差和相关性(Covariance and Correlation)
title: [概率论]4-6:协方差和相关性(Covariance and Correlation) categories: - Mathematic - Probability keywords: ...
- Windows 消息以及消息处理算法--线程和消息队列详解
Windows以消息驱动的方式,使得线程能够通过处理消息来响应外界. Windows 为每个需要接受消息和处理消息的线程建立消息队列(包括发送消息队列,登记消息队列,输入消息队列,响应消息队列),其中 ...
- 以字符串为例,谈谈Python到底要学到什么程度
古语云:慈不掌兵,义不为商:离商业越近,离人性越远:我们在自学数据科学时,一定会辅助一些书籍或者视频来学习,怎么学习,选择哪些资料来学习?这时,我们都要理解好第一句话,理解不好,浪费钱是次要,重要的是 ...
- python线程+队列(queue)
---恢复内容开始--- python的线程学习 用处 pocpiliang脚本的编写 函数式:调用 _thread 模块中的start_new_thread()函数来产生新线程.语法如下: _thr ...
- Jenkins与gitlib实现自动化部署与持续构建
Jenkins概念 Jenkins是一个功能强大的应用程序,允许持续集成和持续交付项目,无论用的是什么平台.这是一个免费的源代码,可以处理任何类型的构建或持续集成.集成Jenkins可以用于一些测试和 ...
- Nginx 之 Location 的整理
1. Location 的整理 在将配置解析完后,所有的 location 此时都以 tree 的形式组织起来,具体可参考 Nginx之 Location 的生成. 此时需要对所有 server 下的 ...