kafka配置参数详解

作者&投稿:吁莫 (若有异议请与网页底部的电邮联系)
~

kafka的配置分为 broker、producter、consumer三个不同的配置

一 BROKER 的全局配置
最为核心的三个配置 broker.id、log.dir、zookeeper.connect 。

------------------------------------------- 系统 相关 -------------------------------------------

broker.id =1

log.dirs = /tmp/kafka-logs

port =6667

message.max.bytes =1000000

num.network.threads =3

num.io.threads =8

background.threads =4

queued.max.requests =500

host.name

advertised.host.name

advertised.port

socket.send.buffer.bytes =100*1024

socket.receive.buffer.bytes =100*1024

socket.request.max.bytes =100 1024 1024

------------------------------------------- LOG 相关 -------------------------------------------

log.segment.bytes =1024 1024 1024

log.roll.hours =24*7

log.cleanup.policy = delete

log.retention.minutes=7days

指定日志每隔多久检查看是否可以被删除,默认1分钟
log.cleanup.interval.mins=1

log.retention.bytes=-1

log.retention.check.interval.ms=5minutes

log.cleaner.enable=false

log.cleaner.threads =1

log.cleaner.io.max.bytes.per.second=None

log.cleaner.dedupe.buffer.size=500 1024 1024

log.cleaner.io.buffer.size=512*1024

log.cleaner.io.buffer.load.factor =0.9

log.cleaner.backoff.ms =15000

log.cleaner.min.cleanable.ratio=0.5

log.cleaner.delete.retention.ms =1day

log.index.size.max.bytes =10 1024 1024

log.index.interval.bytes =4096

log.flush.interval.messages=None

log.flush.scheduler.interval.ms =3000

log.flush.interval.ms = None

log.delete.delay.ms =60000

log.flush.offset.checkpoint.interval.ms =60000

------------------------------------------- TOPIC 相关 -------------------------------------------

auto.create.topics.enable =true

default.replication.factor =1

num.partitions =1

实例 --replication-factor3--partitions1--topic replicated-topic :名称replicated-topic有一个分区,分区被复制到三个broker上。

----------------------------------复制(Leader、replicas) 相关 ----------------------------------

controller.socket.timeout.ms =30000

controller.message.queue.size=10

replica.lag.time.max.ms =10000

replica.lag.max.messages =4000

replica.socket.timeout.ms=30*1000

replica.socket.receive.buffer.bytes=64*1024

replica.fetch.max.bytes =1024*1024

replica.fetch.wait.max.ms =500

replica.fetch.min.bytes =1

num.replica.fetchers=1

replica.high.watermark.checkpoint.interval.ms =5000

controlled.shutdown.enable =false

controlled.shutdown.max.retries =3

controlled.shutdown.retry.backoff.ms =5000

auto.leader.rebalance.enable =false

leader.imbalance.per.broker.percentage =10

leader.imbalance.check.interval.seconds =300

offset.metadata.max.bytes

----------------------------------ZooKeeper 相关----------------------------------

zookeeper.connect = localhost:2181

zookeeper.session.timeout.ms=6000

zookeeper.connection.timeout.ms =6000

zookeeper.sync.time.ms =2000
配置的修改
其中一部分配置是可以被每个topic自身的配置所代替,例如
新增配置
bin/kafka-topics.sh --zookeeper localhost:2181--create --topic my-topic --partitions1--replication-factor1--config max.message.bytes=64000--config flush.messages=1

修改配置
bin/kafka-topics.sh --zookeeper localhost:2181--alter --topic my-topic --config max.message.bytes=128000

删除配置 :
bin/kafka-topics.sh --zookeeper localhost:2181--alter --topic my-topic --deleteConfig max.message.bytes
二 CONSUMER 配置
最为核心的配置是group.id、zookeeper.connect

group.id

consumer.id

client.id = group id value

zookeeper.connect=localhost:2182

zookeeper.session.timeout.ms =6000

zookeeper.connection.timeout.ms =6000

zookeeper.sync.time.ms =2000

auto.offset.reset = largest

socket.timeout.ms=30*1000

socket.receive.buffer.bytes=64*1024

fetch.message.max.bytes =1024*1024

auto.commit.enable =true

auto.commit.interval.ms =60*1000

queued.max.message.chunks =10

rebalance.max.retries =4

rebalance.backoff.ms =2000

refresh.leader.backoff.ms

fetch.min.bytes =1

fetch.wait.max.ms =100

consumer.timeout.ms = -1

三 PRODUCER 的配置
比较核心的配置:metadata.broker.list、request.required.acks、producer.type、serializer.class

metadata.broker.list

request.required.acks =0

request.timeout.ms =10000

send.buffer.bytes=100*1024

key.serializer.class

partitioner.class=kafka.producer.DefaultPartitioner

compression.codec = none

compressed.topics=null

message.send.max.retries =3

retry.backoff.ms =100

topic.metadata.refresh.interval.ms =600*1000

client.id=""

------------------------------------------- 消息模式 相关 -------------------------------------------

producer.type=sync

queue.buffering.max.ms =5000

queue.buffering.max.messages =10000

queue.enqueue.timeout.ms = -1

batch.num.messages=200

serializer.class= kafka.serializer.DefaultEncoder




一探究竟,详解Kafka生产者和消费者的工作原理!
kafka发送进行消息压缩有两个地方,分别是生产端压缩和Broker端压缩。生产者端压缩 生产者压缩通常采用的GZIP算法这样 Producer 启动后生产的每个消息集合都是经 GZIP 压缩过的,故而能很好地节省网络传输带宽以及 Kafka Broker 端的磁盘占用。 配置参数:Broker压缩 大部分情况下 Broker 从 Producer 端接收...

2kafka 共识配置包含一下那些步骤?
2kafka是指Kafka的副本机制,即一个主题在多个Kafka节点中都存在一份完整数据的拷贝,以保证数据的完整性和安全性。在2kafka共识配置中,以下是常见的步骤:1. 配置Kafka配置文件,指定所有节点的Broker ID、IP地址和端口号。2. 设定Kafka的拷贝副本数和ISR(同步复制副本)的数量参数,用于确定数据的备份...

flume与kafka集成配置
此配置定义了一个名为a1的代理。a1具有侦听端口44444上的数据的source,在内存中缓冲事件数据的通道以及将事件数据记录到控制台的sink。配置文件为各个组件命名,然后描述它们的类型和配置参数。给定的配置文件可能会定义几个命名的代理。当启动给定的Flume进程时,会传递一个标志,告诉它要显示哪个命名的代理...

kafka-docker上使用+常用指令
ps: 缓冲区:kafka默认会创建一个消息缓冲区去存放要发送的消息,大小是32M,每次本地线程会去缓冲区拉16K数据发送到broker,如果不到16K等待10ms也会将数据发送到broker 参考链接: 1、kafka安装教程--推荐 2、kafka配置文件server.properties参数说明 3、创建主题分区数 4、解决docker容...

kafka消息的管理
可以看到kafka消息按partition存储的,每个partition一个目录。partition下消息分段(segment)存储,默认每段最大1G,通过参数log.segment.bytes可配置。segment包含索引文件index、消息文件log,分别存储消息的索引和内容,以.index和.log结尾,文件命名为当前segment第一个消息offset。index文件在log每隔一定数据量...

深入理解kafka(五)日志存储
kafka0.10.0-0.11.0 比v0多了timestamp(8B)字段,表示消息的时间戳 attributes的第4位也被利用起来,0表示timestamp的类型为CreateTime,1表示timestamp的类型为LogAppendTime timestamp类型由broker端参数log.message.timestamp.type来配置,默认为CreateTime,即采用生产者创建的时间戳 5.2.3 消息...

有哪些好用的消息中间件值得推荐,为什么?
一、kafka是什么?Apache Kafka是一套开源的消息系统,它最初由LinkedIn公司开发,之后成为Apache项目的一部分。Kafka是一个分布式,分区化,可复制的提交日志服务。现在,LinkedIn公司有三个同事离职创业,继续开发kafka。二、关键配置项解读 出于性能和实际集群部署情况,我们还是需要讲解一些重要的配置项。除...

canal+Kafka实现mysql与redis数据同步
Kafka内部自带了zookeeper,所以暂不需要去下载搭建zookeeper集群,本文就使用Kafka自带zookeeper来实现。通过上述zookeeper启动命令以及Kafka启动命令把服务启动,可以通过以下简单实现下是否成功:Canal搭建 canal搭建具体可以参考上文,这里只讲解具体的参数配置:找到\/conf目录下的canal.properties配置文件:然后配置...

如何确定Kafka的分区数,key和consumer线程数
再讨论分配策略之前,先说说KafkaStream——它是consumer的关键类,提供了遍历方法用于consumer程序调用实现数据的消费。其底层维护了一个阻塞队列,所以在没有新消息到来时,consumer是处于阻塞状态的,表现出来的状态就是consumer程序一直在等待新消息的到来。——你当然可以配置成带超时的consumer,具体参看参...

cdh里面怎么修改kafka的配置文件
另外,kafka为特权用户,只有kafka用户能够赋予\/取消权限。因此,ACL相关的ZooKeeper节点权限为kafka具有所有权限,其他用户不具有任何权限。构建安全的Kafka服务 首先,我们为Broker启用Kerberos认证模式,配置文件为\/etc\/kafka\/conf\/server.properties,安全相关的参数如下所示:其中,authentication参数表示认证模式...

西和县19333298068: 如何为Kafka集群选择合适的Partitions数量 -
莫妻清眩: 如何决定kafka集群中topic,partition的数量,这是许多kafka用户经常遇到的问题.本文列举阐述几个重要的决定因素,以提供一些参考.分区多吞吐量更高 一个话题topic的各个分区partiton之间是并行的.在producer和broker方面,写不同的分区...

西和县19333298068: 如何为Kafka集群选择合适的Topics/Partitions数量 -
莫妻清眩: 首先我们需要明白以下事实:在kafka中,单个patition是kafka并行操作的最小单元.在producer和broker端,向每一个分区写入数据是可以完全并行化的,此时,可以通过加大硬件资源的利用率来提升系统的吞吐量,例如对数据进行压缩.在...

西和县19333298068: 如何在Kafka上创建一个Topic -
莫妻清眩: Kafka创建Topic步骤: 进入服务器找kafka安装目录进入bin文件夹输入命令--- 查看kafka现主题命令:/kafka-topics.sh --list --zookeeper zk_host:port 望采

西和县19333298068: kafka batch.size 设置多大合适 -
莫妻清眩: 使用bulk API 初次索引的时候,把 replica 设置为 0 增大 threadpool.index.queue_size 增大 indices.memory.index_buffer_size 增大 index.translog.flush_threshold_ops 增大 index.translog.sync_interval 增大 index.engine.robin.refresh_interval

西和县19333298068: 多个topic怎么设置kafkaspout java例子 -
莫妻清眩: +t)?"1+2=几.out:"当然是; t=add(i,j).println(&quot.println(&quotpublic class j { static int add(int a,int b){ int s; s=a+b; System; } public static void main(String args[]){ int i=1,j=2; int t;); System; return s.out

西和县19333298068: flink如何去接受kafka安装和配置 -
莫妻清眩: 纯java开发的软件在linux下面也可以应用自如. 那么首先就需要配置好linux下的java环境,具体说来,就是配置jdk环境变量. 介绍在linux下配置jdk环境变量的几种常用方法. 首先在linux下安装jdk,如果出现提示权限不够(且root下也提示权限不够)

西和县19333298068: linux下mysql表名大小写问题 -
莫妻清眩: 这个和hibernate 无关,MYSQL的问题1、Linux下mysql安装完后是默认:区分表名的大小写,不区分列名的大小写;2、用root帐号登录后,在/etc/my.cnf中的[mysqld]后添加添加lower_case_table_names=1,重启MYSQL服务,这时已设置成功...

西和县19333298068: kafka哪个配置文件里有版本号 -
莫妻清眩: kafka没有像别的软件一样有,kafka -verison的命令,但是你可以查看kafka/libs 下的库文件,知道kafka的版本号:find ./libs/ -name \*kafka_\* | head -1 | grep -o '\kafka[^\n]*'[root@kafka1 kafka]# find ./libs/ -name \*kafka_\* | head -1 | grep -o '\kafka[^\n]*'kafka_2.9.2-0.8.1.1.jar.asc

西和县19333298068: zookeeper怎么设置2个kafka集群 -
莫妻清眩: (1)解压为zookeepertar -xf -C /home/myuser/zookeeper/ 复制zookeeper文件夹3份,分别重名名为zookeeperA,zookeeperB,zookeeperC. 并且创建数据快照以及日志存放文件夹,命名为zooA,zooB,zooC. (2)编辑对应的zookeeper配置文件,复制...

西和县19333298068: 如何查看linux pagesize的大小 -
莫妻清眩: 使用getconf命令即可查看pagesize的大小 ,命令如下:getcon PAGESIZE 执行结果如下图所示:扩展:getconf命令详解 用途:将系统配置变量值写入标准输出.语法:getconf [ -v specification ] [ SystemwideConfiguration | PathConfiguration ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网