文档首页 > > 开发指南> Kafka应用开发> 开发规范> 规则

规则

分享
更新时间: 2019/04/30 GMT+08:00

调用Kafka API(AdminUtils.createTopic)创建Topic时,需要设置ZkStringSerializer

  • 对于Java开发语言,正确示例:
    import org.I0Itec.zkclient.ZkClient;
    import kafka.utils.ZKStringSerializer$;
    …
    ZkClient zkClient = new ZkClient(zkconnectstring, zkSessionTimeout, zkConnectionTimeout, ZKStringSerializer$.MODULE$);
    AdminUtils.createTopic(zkClient, topic, partitions, replicationFactor, new Properties());
    …
  • 对于Scala开发语言,正确示例:
    import org.I0Itec.zkclient.ZkClient;
    import kafka.utils.ZKStringSerializer;
    …
    var zkclient: ZkClient = new ZkClient(zkconnectstring, zkSessionTimeout, zkConnectionTimeout, ZKStringSerializer)
    AdminUtils.createTopic(zkClient, topic, partitions, replicationFactor, new Properties())

Partition的副本数不要超过节点个数

Kafka中Topic的Partition的副本是为了提升数据的可靠性而存在的,同一个Partition的副本会分布在不同的节点,因此副本数不允许超过节点个数。

Consumer客户端的配置参数“fetch.message.max.bytes”大小

Consumer客户端的配置参数“fetch.message.max.bytes”必须大于等于Producer客户端每次产生的消息最大字节数。如果参数的值太小,可能导致Producer产生的消息无法被Consumer成功消费。

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问