php - 如何远程向kafka发送消息
问题描述
我对卡夫卡很陌生。我正在尝试从本地机器生产者向 kafka 服务器发送消息。我无法弄清楚问题或正在做什么。
$config = \Kafka\ProducerConfig::getInstance();
$config->setMetadataRefreshIntervalMs(10000);
$config->setMetadataBrokerList('localhost:9092');
$config->setBrokerVersion('1.0.0');
$config->setRequiredAck(1);
$config->setIsAsyn(false);
$config->setProduceInterval(500);
$producer = new \Kafka\Producer(
function() {
return [
[
'topic' => 'test',
'value' => 'test....message.',
'key' => 'testkey',
],
];
}
);
// $producer->setLogger($logger);
$producer->success(function($result) {
print_r($result);
});
$producer->error(function($errorCode) {
var_dump($errorCode);
});
$producer->send(true);
metadataBrokerList
输出:- 致命错误:在第 193 行 C:\xampp\htdocs\vendor\nmred\kafka-php\src\Kafka\Producer\Process.php 中未捕获异常 'Kafka\Exception' 并带有消息 'Not has broker can connection '
解决方案
这是我在 codeigniter 中为生产者使用的库https://github.com/weiboad/kafka-php 。这个库工作正常。问题是服务器端口号已更改,实际上是 29092,默认情况下端口是 9092,这就是连接失败的原因。
推荐阅读
- android - java.net.UnknownHostException:无法解析主机“domain.com”:没有与主机名关联的地址
- python - 需要安装 PyOpenGL (Windows)
- pine-script - 如何为使用 stop、trail_points 和 trail_offset 的 strategy.exit 设置交易视图 pine 脚本警报通知
- java - 将数字列表合并到低于和最接近上限数字的算法
- .net - 在 vb.net 中使用 RGB 整数检测图片中的颜色
- c - 如何修复 fftw3 库的“sincos@@GLIBC_2.2.5”未定义参考
- flutter - 如何将sha256的摘要添加到颤动的字符串中?
- javascript - 打开层 6.1。- 具有多点功能的弹出窗口
- microsoft-graph-api - MSGraph 日历事件 多个通知
- arrays - 如何通过两个变量集循环 API 调用