kafka连接不上问题记录

222 阅读1分钟

这是在工作中遇到的一个问题,之前可以正常运行的本地代码,在更换环境配置之后,无法正常启动。报的错误是org.apache.kafka.common.errors.TimeoutException: Timeout expired while fetching topic metadata

带着这个问题去网上去查找,得到的并不一定是符合情况的解答。果然,能够解决一个问题的前提,往往需要先将问题描述好。

实际上,在我的问题中,因变量只有环境变化,因此不可能去考虑代码的问题。而对我造成干扰的是,我已经验证过环境中Kafka是正常运行的。虽然它可能无法直连,但是在另一台虚机上已经通过nginx做了代理端口。而盲点恰恰在于,我认为这个被代理的端口是可以被本地正常访问的。因此,我忽略了对该端口本连访问的验证。

因此,反思这个问题,是解题路径不完整造成的。首先,推断是环境的问题,这个大前提是对的。而对问题做的修改方法也是对的,但是缺少与实际验证的情况。尤其是,存在我对于部署环境并不了解的前提,就造成了现在的问题。

而与部署环境的同事了解之后,也发现在代理主机上,可访问端口是有范围的,而我的进行代理的端口恰恰没有处于这个区间。

以上,工作要完备细致,要做好解题步骤的完备,否则难免疏忽,需要警惕。