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参数表示认证模式...
莫妻清眩: 如何决定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(".println("public 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 ...