使用java在kafka中传输单条大于1M的数据

用久了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的数据了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值