在Openshift上外部访问Kafka

时间:2019-05-14 20:02:56

标签: kubernetes apache-kafka openshift devops

我正在尝试使用将Kafka部署到Openshift的这种方法: https://github.com/mattf/openshift-kafka

部署完成,我可以在容器内设置一个代理和使用者,它们可以正常工作。当我尝试使用控制台用户(使用端口转发到我的本地计算机)访问主题时,出现一条消息,提示代理不可用。

我尝试向yaml文件中添加advertised.listeners=PLAINTEXT://openshiftRoute:80覆盖,但是现在我得到了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?

1 个答案:

答案 0 :(得分:0)

如果您想简化此方法,可以尝试使用Strimzi项目(https://strimzi.io)在Kubernetes和OpenShift上部署和管理Apache Kafka集群。 它提供了一种非常简单的方法,可以使用路由(甚至支持负载平衡器和节点端口)在OpenShift之外公开Kafka集群。 您可以在此处了解更多信息:https://strimzi.io/docs/latest/#con-kafka-listeners-deployment-configuration-kafka