kubernetes - 在 Openshift 上外部访问 Kafka
问题描述
我正在尝试使用这种将 Kafka 部署到 Openshift 的方法: https ://github.com/mattf/openshift-kafka
部署设置完毕,我可以在容器内设置代理和消费者,它们工作正常。当我尝试使用控制台消费者(使用端口转发到我的本地计算机)访问主题时,我收到一条消息说代理不可用。
我尝试将advertised.listeners=PLAINTEXT://openshiftRoute:80
覆盖添加到 yaml 文件,但现在我得到了Error while fetching metadata with correlation id X : {test=LEADER_NOT_AVAILABLE}
.
当我尝试使用 Openshift 路由到 localhost:9092
kafka-console-consumer.bat --bootstrap-server http://route:80 --topic test --from-beginning
我明白了
[2019-05-14 21:58:47,773] ERROR Error processing message, terminating consumer process: (kafka.tools.ConsoleConsumer$)
java.lang.OutOfMemoryError: Java heap space
我在这里缺少什么,如何在 Openshift 中从外部访问 Kafka?
解决方案
如果您想简化执行此操作的方法,可以尝试使用 Strimzi 项目 ( https://strimzi.io ) 在 Kubernetes 和 OpenShift 上部署和管理 Apache Kafka 集群。它提供了一种非常简单的方法来使用路由在 OpenShift 之外公开 Kafka 集群(但甚至支持负载均衡器和节点端口)。你可以在这里阅读更多:https ://strimzi.io/docs/latest/#con-kafka-listeners-deployment-configuration-kafka
推荐阅读
- python - FailedPreconditionError:找不到变量 weights_15。| 张量流
- javascript - 升级 webpack、babel、angularjs 版本后,控制台和屏幕上出现多个 lexor 错误
- azure - 通过 ARM 模板将节点池添加到现有 AKS 群集
- regex - 如何使用 SPARQL 正则表达式解析 Wikitext 并从 Wikimedia Commons 模板中的参数中提取值?
- flutter - 输入'() => 地图
?不是“地图”类型的子类型 ' 在类型转换中 - javascript - 如何在不离开 Angular 的当前页面的情况下路由到错误页面
- r - R Studio - 无法在 R Markdown 中使用 BASH
- javascript - 允许摄像头时,Webview 中的 MediaDevices.getUserMedia() 权限被拒绝
- rabbitmq - RabbitMQ 滚动升级后保留太多队列镜像
- r - 如何在 R 中绘制河岸而不是单线?