开发者社区> 问答> 正文

关于kafka创建topic后partition的奇怪问题,求大神?报错

有一些数据需要在在Java中调用API发送到指定的topic中的指定partition中,报出如下错误:

错误说我的partition超出了最大的partition数量.可以确定partition的数量是我创建的为50个,奇怪的是在kafka中查询partition数量的时候,有时候查询出3个有时候查询出50个,如图

并且第一个报错也是,有时是可以将数据放进去的如图:

有一些partition成功的将数据放进去了.

看了报错地方的源码就是在获取topic的partition总数时没准确才会在程序中报出这个问题,和使用命令查询partition出现的情况相对应.

 

求大神指点!!!十分感谢

展开
收起
爱吃鱼的程序员 2020-06-06 16:53:08 971 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB
                        <p>查看下zk状态是否正常</p>
    

    查看下kafka服务日志中是否异常报出

                            大概知道怎么回事了.因为这个环境是3个kafka的小集群,创建topic的时候,复制因子指定的是1,三个节点的信息没有同步,每次去查询数据的时候是随机去一个节点上面去查询的,所以导致如果在对应的节点是对的,不然就查不到
                        
    
                        <p>还需要什么错误信息留言.秒回!!!!!</p>
    
                    
    
                        <p><img height="399" src="https://static.oschina.net/uploads/space/2018/0711/161742_hjja_3614717.png" width="1038"></p>
    

    程序出错原因

                        <p><img height="489" src="https://static.oschina.net/uploads/space/2018/0711/163900_xTeV_3614717.png" width="1330"></p>
    

    经常就会报出超出partition总数的错误,但是有一些数据也是能放进去的

                        <p>MetadataRequest是根据客户端的inflightRequests来挑选负载最低的Broker节点来请求的,通俗点的说法相当你说的随机。每个Broker节点都有一块内存MetadataCache来缓存元数据信息,你这里的集群中的Broker节点的元数据是没有同步。元数据同步的工作是由Kafka Controller来发送UpdataMetaRequest来维护的,元数据的同步是内部自动运转的,为什么没有同步,这个要你捞出服务端日志来check的</p>
    
                    
    
                        <div class='ref'><h4>引用来自“朱小厮S”的评论</h4><p>MetadataRequest是根据客户端的inflightRequests来挑选负载最低的Broker节点来请求的,通俗点的说法相当你说的随机。每个Broker节点都有一块内存MetadataCache来缓存元数据信息,你这里的集群中的Broker节点的元数据是没有同步。元数据同步的工作是由Kafka Controller来发送UpdataMetaRequest来维护的,元数据的同步是内部自动运转的,为什么没有同步,这个要你捞出服务端日志来check的</p>
    
    
                        <p>不是可检测节点 是可用节点。。说明你整个集群的可用节点为1.</p>
    

    所以你不能创建超过1的副本

                            搞定了已经,是启动脚本有问题,用一个ZK节点起的kafka,感谢
    
    2020-06-06 16:53:26
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Java Spring Boot开发实战系列课程【第16讲】:Spring Boot 2.0 实战Apache Kafka百万级高并发消息中间件与原理解析 立即下载
MaxCompute技术公开课第四季 之 如何将Kafka数据同步至MaxCompute 立即下载
消息队列kafka介绍 立即下载