Tag: kafka producer api

在同一台机器上的两个docker客人中创build卡夫卡经纪人和动物园pipe理员有什么优点和缺点?

我正在创build一个包含3个卡夫卡经纪人和3个动物园pipe理员的卡夫卡数据pipe道,所以我需要使用6台机器部署3个经纪人和3个动物园pipe理员。 有两种方法可以减less所用机器的数量 1)为了保持1卡夫卡经纪人和1动物园pipe理员在同一台物理机器,我在网上search,find了会有延迟问题,因为卡夫卡经纪人和动物园pipe理员都使用相同的内存 2)使用docker并在一台机器中为zookeeper和broker创build两个continer,并限制zookeeper容器的RAM,以便kafka broker采用更多的RAM并减less延迟 我想知道我的两个用例的更多优点和缺点 保持动物园pipe理员和经纪人使用容器在同一台机器是一个好习惯 提前致谢

从docker集装箱向外部的卡夫卡经纪人发布信息

在我的IDE中,我能够使用一个弹簧启动应用程序,它会向外部kafka代理生成消息(与Kafkaproducer一起)。 但是,一旦我在docker容器中托pipe了我的spring-boot应用程序,我的应用程序就不能再提交给代理。 这是错误消息: osksupport.LoggingProducerListener: Exception thrown when sending a message with key='null' and payload='….' to topic Category: org.apache.kafka.common.errors.TimeoutException: Failed to update metadata after 60000 ms. org.springframework.kafka.core.KafkaProducerException: Failed to send; nested exception is org.apache.kafka.common.errors.TimeoutException: Failed to update metadata after 60000 ms. 我以前运行docker的是: docker run -p 9001:9001 -d image_name其中9001是我的spring-boot端口,我可以发布到端口,只是一旦我的消息发布,它不会得到外部经纪人。 我想我有一个普遍的概念,那就是Docker容器生活在孤立的土地上,你必须打开/映射这个端口才能访问它(像我的-p 9002:9002),但是它的工作原理是一样的容器? 如果是的话,有人可以告诉我如何运行docker集装箱,以便能够访问外部经纪人(比方说,经纪人的URL是“192.168.1.1:9000”)? 我不认为我现在能够修改代理上的任何东西,但我的假设是,如果我可以通过我的IDE访问,为什么不在docker? 感谢所有的帮助!

生产者/消费者的Java代码无法在Docker设置中连接kafka

我为kafka(wurstmeister / kafka-docker)构build了一个docker镜像。 在Docker容器内部,我可以使用内置shell脚本创build主题,生成消息并使用消息。 现在我使用https://github.com/mapr-demos/kafka-sample-programs托pipe的代码从我的主机连接到kafka代理。 build立和运行程序后,什么也没有发生,程序stucks。 我想producer.send不能连接到kafka经纪人。 任何帮助表示赞赏

将消息发布到docker中运行的Kafka

我在docker集装箱内运行卡夫卡。 我使用以下命令启动我的容器 docker run –rm -p 2181:2181 -p 9092:9092 -p 8081:8081 –env ADVERTISED_HOST=\`docker-machine ip \\`docker-machine active\\“ –env ADVERTISED_PORT=9092 -v /Users/abhishek.srivastava/MyProjects/KafkaTest/target/scala-2.11:/app -it — name kafka spotify/kafka bash 我已经写了一个简单的程序,我可以在容器中复制并执行它,它完美的工作。 object KafkaProducerString { def SendStringMessage(msg: String) : Unit = { val inputRecord = new ProducerRecord[String, String]("test", null, msg) val producer: KafkaProducer[String, String] = CreateProducerString val rm = producer.send(inputRecord).get(10, […]

在docker中运行的服务不能产生消息给kafka

我有一个rest服务运行在端口5000上的docker容器中,用于通过docker容器运行的kafka主题产生消息。 我已经使用以下属性configuration了我的生产者客户端: bootstrap.servers=localhost:9093 我已经开始我的包含以下命令: docker run -d -p 127.0.0.1:5000:5000 <contained id> 我也做了下面的configuration宣传kafka主机和端口 advertised.host.name=localhost advertised.port=9093 尽pipe当我尝试产生一个kafka话题时,所有的configuration,然后我得到以下错误: – org.apache.kafka.common.errors.TimeoutException: Failed to update metadata after 60000 ms. 有人可以指出实际的问题在哪里?