首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

你不知道的kafka配置broker.id

前言

随着大数据技术普及率越来越高,门槛越来越低,大数据平台厂商也是层出不穷。国内几个规模比较大的厂商,基本都会基于HDP发行商,再次开发或者直接简单包装,就拿到市场上售卖。部分厂商还会涉及到ambari或者特定组件(Spark、Flink、Hive、Hbase等)的改进优化。而有些厂商无非就是直接集成组件的开源版本,实时跟踪社区的发展而已。所以,基于ambari提供的接口集成各种大数据组件,也算是一种最基本的基本功了。如果是集成kafka的话,会涉及到一个特殊的配置项,那就是broker.id。

正文

如官网所描述的,kafka broker.id是必须配置的。如图:

但是这里的”必须配置”说的是这个配置必须有,但不一定要用户自己配置(当然用户可以自己配置),也是可以由kafka broker动态生成配置的。如图

为什么扯到这些呢?

因为集成kafka到ambari时,如果用户自己管理配置broker.id,需要实现一些很恶心的检查机制,以确保公用同一个zookeeper集群的kafka集群中各个broker的broker.id必须唯一(这是官网要求,否则broker会启动失败)。比如:可能每启动一个broker,都需要到zookeeper中/brokers/ids节点check一下当前使用的broker.id是否已经使用,这会很恶心。可能有人会说,可以一次性提前分配好:比如以IP区分,可是集群内IP可能会改变的;那就用mac区分,这个每个机器都是唯一的。可是broker.id是int类型,而mac是6字节,做不到一一对应的。

结论

老老实实用broker自己动态配置的broker.id吧。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181228G1ETYU00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券