星空2020 2023-07-11 22:57 采纳率: 64.1%
浏览 12
已结题

php rdkafka连接kafka消费实例失败

已在phpinfo确认rdkafka已开启拓展。
但如下报错:提示必须配置 group . id :
Fatal error : Uncaught RdKafka \ Exception :" g roup . id " must be configured in E :\ phpstudy_proWWWmattest . phpl O Stack trace :#O E : phpstudy_proWWWmattest . php ( I O ): R dKafka \ KafkaConsumer-) construct ( Objec t ( RdKafka \ Conf ))#l ( main ) t hrown in E :\ php study_proWWWmattest . php on line I O

<?php
// Kafka服务器和Topic信息
$brokers = "n9-kkt.test001.com:30902";
$topic = "test.info.tst";
// 创建Kafka消费者实例
$conf = new RdKafka\Conf();
$conf->set('metadata.broker.list', $brokers);
$consumer = new RdKafka\KafkaConsumer($conf);
// 订阅Topic
$consumer->subscribe([$topic]);
// 从Topic中读取消息
while (true) {
    $message = $consumer->consume(120 * 1000); // 超时时间为2分钟
    switch ($message->err) {
        case RD_KAFKA_RESP_ERR_NO_ERROR:
            // 消费成功
            $payload = $message->payload;
            $json = json_encode($payload, JSON_UNESCAPED_UNICODE);
            echo $json;
            break;
        case RD_KAFKA_RESP_ERR__PARTITION_EOF:
            // 已经到达分区末尾
            break;
        case RD_KAFKA_RESP_ERR__TIMED_OUT:
            // 超时等待消息
            break;
        default:
            // 其他错误
            echo "消费失败: " . $message->errstr() . "\n";
            break;
    }
}
// 关闭Kafka消费者
$consumer->close();
  • 写回答

2条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-07-13 07:26
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:
    • 以下回答来自chatgpt:

      问题分析:

      根据错误提示,我们可以看到该问题是由于没有配置"group.id"导致的。在Kafka中,"group.id"是必须配置的参数。因此,解决该问题的关键就是正确配置"group.id"。

      解决方案:

      1. 首先,确保已正确安装librdkafka库和rdkafka扩展。可以使用phpinfo()函数来检查安装情况。

      2. 在php代码中,使用RdKafka\Conf类来创建一个配置对象,并使用set方法来设置"group.id"参数的值。示例代码如下:

      <?php
      $conf = new RdKafka\Conf();
      $conf->set("group.id", "your_group_id_here");
      
      $consumer = new RdKafka\KafkaConsumer($conf);
      // ...
      
      1. 将上述代码中的"your_group_id_here"替换为你想要设置的组ID。

      2. 运行代码,检查问题是否解决。

      总结:

      通过正确配置"group.id"参数,就可以解决该问题。如果仍然存在问题,请确保Kafka的配置文件中也已正确配置"group.id"参数。如果问题仍然存在,可能是由于其他配置或环境问题导致,建议进一步排查或查阅相关文档以获取更详细的解决方案。


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 7月18日
  • 修改了问题 7月11日
  • 创建了问题 7月11日

悬赏问题

  • ¥200 csgo2的viewmatrix值是否还有别的获取方式
  • ¥15 Stable Diffusion,用Ebsynth utility在视频选帧图重绘,第一步报错,蒙版和帧图没法生成,怎么处理啊
  • ¥15 请把下列每一行代码完整地读懂并注释出来
  • ¥15 pycharm运行main文件,显示没有conda环境
  • ¥15 易优eyoucms关于二级栏目调用的问题
  • ¥15 寻找公式识别开发,自动识别整页文档、图像公式的软件
  • ¥15 为什么eclipse不能再下载了?
  • ¥15 编辑cmake lists 明明写了project项目名,但是还是报错怎么回事
  • ¥15 关于#计算机视觉#的问题:求一份高质量桥梁多病害数据集
  • ¥15 特定网页无法访问,已排除网页问题