kafka对ec2示例进行集成测试

nnvyjq4y  于 2021-06-08  发布在  Kafka
关注(0)|答案(1)|浏览(395)

我正在尝试为我们的项目中使用kafka的部分设置一些集成测试。我选择使用spotify/kafka docker图像,其中包含kafka和zookeeper。我可以运行我的测试(他们通过了!)在本地机器上运行kafka容器。但是,当我尝试在我的ec2构建服务器上运行它时,容器就死了。最后一个致命错误是“信息放弃:Kafka进入致命状态,太多开始重试太快”。
我怀疑它不喜欢传入的地址。我尝试过使用ec2提供的公共和私有ip地址,但是结果都是一样的,就像localhost一样。
任何帮助都将不胜感激。谢谢!

7nbnzgx9

7nbnzgx91#

它现在神奇地工作了,即使我仍然在做我以前做的事情。然而,为了帮助其他人谁可能会来,我会张贴我做了什么让它工作。
我创建了以下批处理文件,并让jenkins将其作为构建步骤运行。


# !/bin/bash

if ! docker inspect -f 1 test_kafka &>/dev/null
then docker run -d --name test_kafka -p 2181:2181 -p 9092:9092 --env ADVERTISED_HOST=localhost --env ADVERTISED_PORT=9092 spotify/kafka
fi

尽管localhost解析为私有ip地址,但现在似乎需要它。if块只是测试容器是否已经存在,否则就重用它。

相关问题