C# 未能解决';卡夫卡:9092';:名称解析暂时失败
我面临一些问题 %3 | 1622567567.487 | FAIL | rdkafka | consumer-2 |[thrd:GroupCoordinator]:GroupCoordinator:kafka:9092:未能解析“kafka:9092”:名称解析暂时失败(在状态连接中27431ms后,抑制了1个相同错误) 如何解决这个问题,有什么想法吗? 屏幕截图中描述的问题C# 未能解决';卡夫卡:9092';:名称解析暂时失败,c#,docker,apache-kafka,docker-compose,C#,Docker,Apache Kafka,Docker Compose,我面临一些问题 %3 | 1622567567.487 | FAIL | rdkafka | consumer-2 |[thrd:GroupCoordinator]:GroupCoordinator:kafka:9092:未能解析“kafka:9092”:名称解析暂时失败(在状态连接中27431ms后,抑制了1个相同错误) 如何解决这个问题,有什么想法吗? 屏幕截图中描述的问题 nkafka-console-app: build: context: dotNet/examp
nkafka-console-app:
build:
context: dotNet/examples/
dockerfile: Src/KafkaConsoleApp/Dockerfile
environment:
- producer_topic=console_topic_test
- consumer_topic=console_topic_test
- kafka_endpoint=kafka:9092
depends_on:
- kafka
zookeeper:
image: confluentinc/cp-zookeeper:5.2.1
restart: always
environment:
ZOOKEEPER_SERVER_ID: 1
ZOOKEEPER_CLIENT_PORT: "2181"
ZOOKEEPER_TICK_TIME: "2000"
ports:
- "2181:2181"
kafka:
image: confluentinc/cp-enterprise-kafka:5.2.1
depends_on:
- zookeeper
ports:
- "29092:29092"
environment:
KAFKA_ZOOKEEPER_CONNECT: "zookeeper:2181"
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092,PLAINTEXT_HOST://localhost:29092
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
动物园管理员日志
在您的图像中,代理因无法解析zookeeper:2181而死亡。因此,您的应用程序将无法解析
kafka:9092
,因为代理未运行
您应该运行
docker compose logs zookeeper
来验证它是否启动正常。当我使用docker stats
时,我注意到ms server占用了大量内存。这是我的问题的根源如何启动容器?消费者放在哪个容器中?我使用docker compose将所有图像放在一个容器中。我在docker compose文件中没有看到控制台应用程序容器?我忘记添加说明。我加了一句,好吧,但为什么动物园管理员死了?我必须添加什么配置?好的,我会尝试在没有看到日志的情况下我不确定。因此,依赖于
不能确保服务实际成功启动,只能确保容器按顺序启动。我通常建议运行docker compose up-d zookeer kafka
,然后在启动自己的应用程序之前等待一分钟,我假设您在Windows上?您需要将Docker内存增加到至少4GB
var config = new ProducerConfig { BootstrapServers = conf.kafka_endpoint, BatchSize = 100000, LingerMs = 100 };
var configConsumer = new ConsumerConfig
{
BootstrapServers = kafkaEndpoint,
EnableAutoOffsetStore = false,
EnableAutoCommit = true,
AutoCommitIntervalMs = 10000,
AutoOffsetReset = AutoOffsetReset.Earliest,
GroupId = "group.id"
};