如何正确更改kafka broker id

版本:kafka 0.9.0.0
操作:修改server.properties中的broker id
一般会得到如下错误:

[2016-06-29 15:05:29,127] FATAL Fatal error during KafkaServer startup. Prepare to shutdown (kafka.server.KafkaServer)
    kafka.common.InconsistentBrokerIdException: Configured brokerId 2 doesn't match stored brokerId 1 in meta.properties
            at kafka.server.KafkaServer.getBrokerId(KafkaServer.scala:630)
            at kafka.server.KafkaServer.startup(KafkaServer.scala:175)
            at io.confluent.support.metrics.SupportedServerStartable.startup(SupportedServerStartable.java:99)
            at io.confluent.support.metrics.SupportedKafka.main(SupportedKafka.java:45)

更正办法:手动修改meta.properties文件,在配置的log.dir下

vi ../kafka_data/meta.properties

So, 如果你想改kafka的broker id,比如第一遍写错了,应该遵循两个步骤:
1. 改server.prorperties文件配置;
2. 改meta.properties,默认情况下,应该在/tmp/kafka-logs目录下;
同时需注意数据存在多个目录时,需要修改多个目录的meta.propertie。

  • 8
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用PHP rdkafkaKafka broker消费消息,你可以按照以下步骤进行操作: 1. 确保已经在服务器上正确安装了Kafka和rdkafka扩展。可以参考官方文档或者其他资源进行安装和配置。 2. 创建一个消费者实例并设置相关的配置参数。例如: ```php $conf = new RdKafka\Conf(); $conf->set('group.id', 'your_consumer_group_id'); $conf->set('metadata.broker.list', 'your_broker_host:your_broker_port'); $consumer = new RdKafka\KafkaConsumer($conf); ``` 在上面的代码中,你需要设置`group.id`为你的消费者组ID,`metadata.broker.list`为你的Kafka broker地址。 3. 订阅一个或多个主题来消费消息。例如: ```php $consumer->subscribe(['topic1', 'topic2']); ``` 在上面的代码中,你可以将要消费的主题名称以数组的形式传递给`subscribe`方法。 4. 使用`consume`方法从Kafka broker获取消息。例如: ```php while (true) { $message = $consumer->consume(120 * 1000); // 设置超时时间 switch ($message->err) { case RD_KAFKA_RESP_ERR_NO_ERROR: // 处理消息 echo 'Key: ' . $message->key . ', Value: ' . $message->payload . PHP_EOL; break; case RD_KAFKA_RESP_ERR__PARTITION_EOF: // 没有更多消息,等待新消息到达 break; case RD_KAFKA_RESP_ERR__TIMED_OUT: // 超时,继续下一次消费 break; default: // 错误处理 echo 'Error: ' . $message->errstr() . PHP_EOL; break; } } ``` 在上面的代码中,`consume`方法将会阻塞等待消息的到达,并返回一个`RdKafka\Message`对象。你可以根据返回的消息对象做相应的处理,比如获取消息的键和值。 请注意,上述代码仅为示例,你需要根据实际情况进行适当的修改和错误处理。 希望以上信息对你有帮助!如果还有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值