今天收到小学同学的消息,她问我是否已经毕业。我回答肯定后,她发来一张抱着一只大橘猫的照片,问我眯眯长大了好看吗。我回复说猫挡住了,看不到。但她误以为我在说她,拒收了我的消息,让我无法解释。
考虑到简便性,我使用Docker搭建了一个Kafka节点。然而,由于国内Docker Hub镜像加速器不可用,我决定搭建个人镜像仓库。为了解决镜像拉取超时的问题,我尝试了一种可行的方法,并在此补充几点。
首先,我修改了
sync-image-example.yml
中的镜像拷贝,使其支持一次配置多个镜像的拷贝。然后,通过docker镜像拷贝命令,我成功将镜像从Docker Hub拷贝至个人仓库。最终,我成功搭建了Kafka。
在搭建Kafka之前,由于依赖Zookeeper,我先启动了它。
docker run -d --name zookeeper-test -p 2181:2181 \
--env ZOO_MY_ID=1 \
-v zookeeper_vol:/data \
-v zookeeper_vol:/datalog \
-v zookeeper_vol:/logs \
registry.cn-hangzhou.aliyuncs.com/qingshilu/wurstmeister_zookeeper
随后,我启动了Kafka。
docker run -d --name kafka-test -p 9092:9092 \
--env KAFKA_ZOOKEEPER_CONNECT=192.168.2.118:2181 \
--env KAFKA_ADVERTISED_HOST_NAME=192.168.2.118 \
--env KAFKA_ADVERTISED_PORT=9092 \
--env KAFKA_LOG_DIRS=/kafka/logs \
-v kafka_vol:/kafka \
registry.cn-hangzhou.aliyuncs.com/qingshilu/wurstmeister_kafka
如果一切顺利,都会启动成功。若出现意外,可以使用
docker log
命令查看日志,然后找到对应的解决方案。
在搭建完成后,我使用Kafka Tool创建了一个名为
test-topic
的Topic,并发送了一条消息。接着,我编写了一个简单的消息消费者代码。然而,在执行过程中,却发现消费者无法拉取消息。通过调整代码和查看日志,最终找到了问题所在。
总结来说,使用Docker搭建Kafka节点时,可能会遇到镜像拉取超时的问题。而在消费者拉取消息时,可能会出现消费者不在消费者组中的情况,导致拉取消息失败。这些问题都可以通过适当的调整和重试机制来解决。