我正在将 Spring 微服务项目部署到 AKS,其余服务工作正常,但是当我部署使用 Kafka 的服务时,在我使用 helm 单独部署 Kafka 后, 我在日志中收到重复的消息,表明我的服务无法建立连接,即使我已经配置了
application.properties
,并且仍在尝试建立与本地主机的连接。
这是我的
application.properties
:
spring.kafka.consumer.group-id=jihed
spring.kafka.consumer.auto-offset-reset=earliest
spring.kafka.consumer.bootstrap-servers=kafka:9092
spring.kafka.properties.security.protocol=SASL_PLAINTEXT
spring.kafka.properties.sasl.mechanism=PLAIN
spring.kafka.properties.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="user1" password="Ut8uZDJzPR";
spring.kafka.consumer.key-deserializer=org.apache.kafka.common.serialization.StringDeserializer
spring.kafka.consumer.value-deserializer=org.springframework.kafka.support.serializer.JsonDeserializer
spring.kafka.consumer.properties.spring.json.trusted.packages=*
spring.kafka.producer.bootstrap-servers=kafka:9092
spring.kafka.producer.key-serializer=org.apache.kafka.common.serialization.StringSerializer
spring.kafka.producer.value-serializer=org.springframework.kafka.support.serializer.JsonSerializer
这些是我输入
kubectl logs -f pod-name
时的日志:
2024-05-13T16:11:17.713Z INFO 1 --- [payload-service] [| adminclient-1] org.apache.kafka.clients.NetworkClient : [AdminClient clientId=adminclient-1] Node -1 disconnected.
2024-05-13T16:11:17.713Z WARN 1 --- [payload-service] [| adminclient-1] org.apache.kafka.clients.NetworkClient : [AdminClient clientId=adminclient-1] Connection to node -1 (localhost/127.0.0.1:9092) could not be established. Broker may not be available.
2024-05-13T16:11:18.917Z INFO 1 --- [payload-service] [| adminclient-1] org.apache.kafka.clients.NetworkClient : [AdminClient clientId=adminclient-1] Node -1 disconnected.
2024-05-13T16:11:18.917Z WARN 1 --- [payload-service] [| adminclient-1] org.apache.kafka.clients.NetworkClient : [AdminClient clientId=adminclient-1] Connection to node -1 (localhost/127.0.0.1:9092) could not be established. Broker may not be available.
2024-05-13T16:11:20.021Z INFO 1 --- [payload-service] [| adminclient-1] org.apache.kafka.clients.NetworkClient : [AdminClient clientId=adminclient-1] Node -1 disconnected.
2024-05-13T16:11:20.021Z WARN 1 --- [payload-service] [| adminclient-1] org.apache.kafka.clients.NetworkClient : [AdminClient clientId=adminclient-1] Connection to node -1 (localhost/127.0.0.1:9092) could not be established. Broker may not be available.
2024-05-13T16:11:21.024Z INFO 1 --- [payload-service] [| adminclient-1] org.apache.kafka.clients.NetworkClient : [AdminClient clientId=adminclient-1] Node -1 disconnected.
2024-05-13T16:11:21.025Z WARN 1 --- [payload-service] [| adminclient-1] org.apache.kafka.clients.NetworkClient : [AdminClient clientId=adminclient-1] Connection to node -1 (localhost/127.0.0.1:9092) could not be established. Broker may not be available.
2024-05-13T16:11:22.228Z INFO 1 --- [payload-service] [| adminclient-1] org.apache.kafka.clients.NetworkClient : [AdminClient clientId=adminclient-1] Node -1 disconnected.
2024-05-13T16:11:22.228Z WARN 1 --- [payload-service] [| adminclient-1] org.apache.kafka.clients.NetworkClient : [AdminClient clientId=adminclient-1] Connection to node -1 (localhost/127.0.0.1:9092) could not be established. Broker may not be available.
2024-05-13T16:11:23.432Z INFO 1 --- [payload-service] [| adminclient-1] org.apache.kafka.clients.NetworkClient : [AdminClient clientId=adminclient-1] Node -1 disconnected.
2024-05-13T16:11:23.432Z WARN 1 --- [payload-service] [| adminclient-1] org.apache.kafka.clients.NetworkClient : [AdminClient clientId=adminclient-1] Connection to node -1 (localhost/127.0.0.1:9092) could not be established. Broker may not be available.
2024-05-13T16:11:24.335Z INFO 1 --- [payload-service] [| adminclient-1] org.apache.kafka.clients.NetworkClient : [AdminClient clientId=adminclient-1] Node -1 disconnected.
2024-05-13T16:11:24.335Z WARN 1 --- [payload-service] [| adminclient-1] org.apache.kafka.clients.NetworkClient : [AdminClient clientId=adminclient-1] Connection to node -1 (localhost/127.0.0.1:9092) could not be established. Broker may not be available.
2024-05-13T16:11:25.339Z INFO 1 --- [payload-service] [| adminclient-1] org.apache.kafka.clients.NetworkClient : [AdminClient clientId=adminclient-1] Node -1 disconnected.
2024-05-13T16:11:25.339Z WARN 1 --- [payload-service] [| adminclient-1] org.apache.kafka.clients.NetworkClient : [AdminClient clientId=adminclient-1] Connection to node -1 (localhost/127.0.0.1:9092) could not be established. Broker may not be available.
2024-05-13T16:11:26.342Z INFO 1 --- [payload-service] [| adminclient-1] org.apache.kafka.clients.NetworkClient : [AdminClient clientId=adminclient-1] Node -1 disconnected.
2024-05-13T16:11:26.342Z WARN 1 --- [payload-service] [| adminclient-1] org.apache.kafka.clients.NetworkClient : [AdminClient clientId=adminclient-1] Connection to node -1 (localhost/127.0.0.1:9092) could not be established. Broker may not be available.
2024-05-13T16:11:27.246Z INFO 1 --- [payload-service] [| adminclient-1] org.apache.kafka.clients.NetworkClient : [AdminClient clientId=adminclient-1] Node -1 disconnected.
2024-05-13T16:11:27.246Z WARN 1 --- [payload-service] [| adminclient-1] org.apache.kafka.clients.NetworkClient : [AdminClient clientId=adminclient-1] Connection to node -1 (localhost/127.0.0.1:9092) could not be established. Broker may not be available.
2024-05-13T16:11:28.149Z INFO 1 --- [payload-service] [| adminclient-1] org.apache.kafka.clients.NetworkClient : [AdminClient clientId=adminclient-1] Node -1 disconnected.
2024-05-13T16:11:28.149Z WARN 1 --- [payload-service] [| adminclient-1] org.apache.kafka.clients.NetworkClient : [AdminClient clientId=adminclient-1] Connection to node -1 (localhost/127.0.0.1:9092) could not be established. Broker may not be available.
2024-05-13T16:11:29.052Z INFO 1 --- [payload-service] [| adminclient-1] org.apache.kafka.clients.NetworkClient : [AdminClient clientId=adminclient-1] Node -1 disconnected.
2024-05-13T16:11:29.053Z WARN 1 --- [payload-service] [| adminclient-1] org.apache.kafka.clients.NetworkClient : [AdminClient clientId=adminclient-1] Connection to node -1 (localhost/127.0.0.1:9092) could not be established. Brok
值得一提的是,当我尝试访问此方法时,这些日志会显示:
public AppTopic createAppTopic(AppTopic topic) throws TopicException {
try {
// Persist the AppSchema object if it's not already persisted
if (topic.getSchema() != null && topic.getSchema().getId() == null) {
AppSchema persistedSchema = appSchemaRepo.save(topic.getSchema());
topic.setSchema(persistedSchema);
}
// Create or modify Kafka topic
kafkaAdmin.createOrModifyTopics(TopicBuilder.name(topic.getName()).partitions(topic.getPartitions()).replicas(topic.getReplicas()).config(TopicConfig.RETENTION_MS_CONFIG, topic.getRetentionPeriod()).build());
// Save the AppTopic entity
return appTopicRepo.save(topic);
} catch (Exception e) {
throw new TopicException("Cannot create topic for this reason", e);
}
}
我已经尝试再次推送 docker 镜像,当我检查 pod 的环境时:
使用
kubectl exec -it pod-name -- env
:
KAFKA_PORT_9092_TCP=tcp://10.0.148.52:9092
KAFKA_PORT_9092_TCP_PROTO=tcp
KAFKA_SERVICE_HOST=10.0.148.52
KAFKA_SERVICE_PORT=9092
KAFKA_SERVICE_PORT_TCP_CLIENT=9092
KAFKA_PORT_9092_TCP_PORT=9092
KAFKA_PORT_9092_TCP_ADDR=10.0.148.52
这表明 Kafka 和服务之间的链接已完成,因为它知道这一点。
spring.kafka.bootstrap-servers
可用于为每个客户端(包括您收到错误的 AdminClient)设置一次引导服务器
否则,您将需要另一个部分来表示
spring.kafka.admin.*
属性