使用java在kafka中传输单条大于1M的数据
用久了kafka,我们都知道,在kafka的默认配置下,限制了数据传输的大小(默认情况下为1M),那么但我们需要单次传输超过1M的数据时,我们究竟该如何修改kafka的配置,让我们能够正常使用呢?这是本文即将要阐述的内容。一.修改kafka的配置文件既然kafka默认配置是1M,那我们就来修改kafka的配置文件,让它能够支持我们传输超1M的数据,我们需要修改以下的三个配置文件:①修改kafka
·
用久了kafka,我们都知道,在kafka的默认配置下,限制了数据传输的大小(默认情况下为1M),那么但我们需要单次传输超过1M的数据时,我们究竟该如何修改kafka的配置,让我们能够正常使用呢?这是本文即将要阐述的内容。
一.修改kafka的配置文件
既然kafka默认配置是1M,那我们就来修改kafka的配置文件,让它能够支持我们传输超1M的数据,我们需要修改以下的三个配置文件:
①修改kafka安装目录下的conf/server.properties
这里我们需要添加以下的两个内容
message.max.bytes=10485760
#该值指的是broker能接收消息的最大字节数,这里我设置的是10M,该值的大小需 比replica.fetch.max.bytes的值小
replica.fetch.max.bytes=11534336
#broker可复制的消息的最大字节数,这里我设置的是11M,小于message.max.bytes会导致数据发布出去
②修改kafka安装目录下的conf/producer.properties
这里我们需要修改以下的一处内容
max.request.size=10485760
#该值指请求的最大大小为字节。要不大于上述的message.max.bytes
③修改kafka安装目录下的conf/consumer.properties
这里我们需要修改以下的一处内容
max.partition.fetch.bytes=10485760
#该值指一次fetch请求,从一个partition中取得的records最大大小。要不大于上述的message.max.bytes
通过上述的一些配置,我们的kafka应用服务器已经可以成功的传输超过1M的数据了。但是在我们的java端,依旧不能传输超过1M的数据,我们还需要对我们的java代码进行下修改
二.修改java程序中kafka参数的配置
①修改java程序中生产者的参数配置
修改java程序代码中kafka的producer的服务配置
设置max.request.size为10485760
设置compression.type为gzip
②修改java程序中消费者的参数配置
设置max.partition.fetch.bytes设置为11534336
到这里为止,kafka就能够成功的传输数据量为10M的数据了。
更多推荐
已为社区贡献5条内容
所有评论(0)