虽然在前面一部分我们启动了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 配置文件详解(二)的更多相关文章

  1. server.properties 文件详解

    [转载]:server.properties 文件详解 # 每一个Broker在集群中的唯标识.即使Broker的IP地址发生了变化,broker.id只要没变,则不会影响consumers的消息情况 ...

  2. mybatis的配置文件详解(二)

    一.properties 这些属性都是可外部配置且可动态替换的,既可以在典型的 Java 属性文件中配置,亦可通过 properties 元素的子元素来传递.例如 1) <?xml versio ...

  3. Log4j之properties配置文件详解

    Log4j由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式.日志信息的优先级从高到低有ERROR.WARN. INFO.DEBUG,分别用来指定这条日志信息的重要程度: ...

  4. Tomcat下的Server.xml配置文件详解

    自15年毕业到现在已经入行两年多了,一直以来没有深入的了解过tomcat的详细配置,只懂修改一下端口号.在网上找了些相关资料来支撑这篇文章,深入了解server.xml文件各配置的作用 <?xm ...

  5. Tomcat学习笔记【4】--- Server.xml配置文件详解

    本文主要讲如何配置Tomcat服务器. 首先展示一个BS结构图: 1 server 一个server就表示一个Tomcat实例. 1)port 指定一个端口,这个端口负责监听关闭tomcat的请求: ...

  6. SpringBoot第三篇:配置文件详解二

    作者:追梦1819 原文:https://www.cnblogs.com/yanfei1819/p/10615605.html 版权声明:本文为博主原创文章,转载请附上博文链接! 前言   本文主要讲 ...

  7. log4j.properties配置文件详解

    Log4J的配置文件(Configuration File)就是用来设置记录器的级别.存放器和布局的,它可接key=value格式的设置或xml格式的设置信息.通过配置,可以创建出Log4J的运行环境 ...

  8. mycat server.xml 配置文件详解

    <?xml version="1.0" encoding="UTF-8"?> <!-- - - Licensed under the Apac ...

  9. SQL Server 一些关键字详解(二)

    1.LEFT JOIN 容易让人误解的地方 背景:因为在网上搜了下 LEFT JOIN 和 OUTER APPLY 的区别,时发现,有的网友解释为: 1) A   left  join  B  的连接 ...

随机推荐

  1. ArrayBuffer、TypedArray、DataView二进制数组

    三个是处理二进制数据的接口.都是类数组. 1.ArrayBuffer是什么? ArrayBuffer是一个二进制对象(文件,图片等).它指向固定长度的,连续的内存区域. const buffer = ...

  2. 037_自动添加防火墙规则,开启某些服务或端口(适用于 RHEL7)

    #!/bin/bash#设置变量定义需要添加到防火墙规则的服务和端口号#使用 firewall-cmd --get-services 可以查看 firewall 支持哪些服务 service=&quo ...

  3. Windows 用户和内核模式

    上图: APP -> user mode OS-> kernel mode Drivers -> user or kernel mode 正所谓 一阴一阳之谓道,继之者善也,成之者性 ...

  4. k8s/Kubernetes常用组件Helm的部署

    Helm的安装 1.Helm的基本概念 Helm是Kubernetes的一个包管理工具,用来简化Kubernetes应用的部署和管理.可以把Helm比作CentOS的yum工具. Helm有如下几个基 ...

  5. jenkins之docker安装

    此方法安装还存在两个问题1.构建node程序:2.时区问题(在docker run 设置环境变量是否能解决没有试过) 不建议用此方法安装,查看我的其他安装方式 搬运官网步骤,稍微改动. 1.安装doc ...

  6. Raspberry Pi 摄像头模块入门

    目录 一.摄像头模块安装 二.使用命令控制摄像头 三.使用Python程序控制摄像头 四.基于vlc的Raspberry Pi摄像头实时监控 参考资料 Raspberry Pi提供了摄像头模块的接口, ...

  7. uiautomator2 wifi连接手机

    [实施方法] 手机和电脑同时连接到同一个wifi上 1.开启远程adb #开启远端adb,这一步需要手机通过USB连接到电脑 adb tcpip 5555 #结果如下:restarting in TC ...

  8. Leetcode题目322.零钱兑换(动态规划-中等)

    题目描述: 给定不同面额的硬币 coins 和一个总金额 amount.编写一个函数来计算可以凑成总金额所需的最少的硬币个数.如果没有任何一种硬币组合能组成总金额,返回 -1. 示例 1: 输入: c ...

  9. python操作MySQL数据库的三个模块

    python使用MySQL主要有两个模块,pymysql(MySQLdb)和SQLAchemy. pymysql(MySQLdb)为原生模块,直接执行sql语句,其中pymysql模块支持python ...

  10. [Oracle]关于回滚段的一些转贴摘录

    ORACLE 回滚段 回滚段概述 回滚段用于存放数据修改之前的值(包括数据修改之前的位置和值).回滚段的头部包含正在使用的该回滚段事务的信息.一个事务只能使用一个回滚段来存放它的回滚信息,而一个回滚段 ...