【发布时间】:2022-08-19 11:09:23
【问题描述】:
在我的本地计算机上安装了独立的 ksqlDB。
在运行 ksql 服务器时,我收到以下错误
Remote server at http://ksqldb-server:8088 does not appear to be a valid KSQL
server. Please ensure that the URL provided is for an active KSQL server.
The server responded with the following error:
Error issuing GET to KSQL server. path:/info
Caused by: java.net.UnknownHostException: failed to resolve \'ksqldb-server\'
after 2 queries
Caused by: failed to resolve \'ksqldb-server\' after 2 queries
PS:我的 docker-compose.yml 如下所示
---
version: \'2\'
services:
ksqldb-server:
image: confluentinc/ksqldb-server:0.23.1
hostname: ksqldb-server
container_name: ksqldb-server
ports:
- \"8088:8088\"
environment:
KSQL_LISTENERS: http://0.0.0.0:8088
KSQL_BOOTSTRAP_SERVERS: localhost:9092
KSQL_KSQL_LOGGING_PROCESSING_STREAM_AUTO_CREATE: \"true\"
KSQL_KSQL_LOGGING_PROCESSING_TOPIC_AUTO_CREATE: \"true\"
ksqldb-cli:
image: confluentinc/ksqldb-cli:0.23.1
container_name: ksqldb-cli
depends_on:
- ksqldb-server
entrypoint: /bin/sh
tty: true
运行 docker-compose up 时出现以下错误
[2022-01-11 07:21:54,280] INFO [AdminClient clientId=adminclient-1] Metadata update failed (org.apache.kafka.clients.admin.internals.AdminMetadataManager:235)
ksqldb-server | org.apache.kafka.common.errors.TimeoutException: Timed out waiting for a node assignment. Call: fetchMetadata
ksqldb-server | [2022-01-11 07:21:54,282] ERROR Failed to start KSQL (io.confluent.ksql.rest.server.KsqlServerMain:68)
ksqldb-server | java.lang.RuntimeException: Failed to get Kafka cluster information
ksqldb-server | at io.confluent.ksql.services.KafkaClusterUtil.getKafkaClusterId(KafkaClusterUtil.java:107)
ksqldb-server | at io.confluent.ksql.rest.server.KsqlRestApplication.buildApplication(KsqlRestApplication.java:669)
ksqldb-server | at io.confluent.ksql.rest.server.KsqlServerMain.createExecutable(KsqlServerMain.java:154)
ksqldb-server | at io.confluent.ksql.rest.server.KsqlServerMain.main(KsqlServerMain.java:61)
ksqldb-server | Caused by: java.util.concurrent.TimeoutException
ksqldb-server | at java.base/java.util.concurrent.CompletableFuture.timedGet(CompletableFuture.java:1886)
ksqldb-server | at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2021)
ksqldb-server | at org.apache.kafka.common.internals.KafkaFutureImpl.get(KafkaFutureImpl.java:180)
ksqldb-server | at io.confluent.ksql.services.KafkaClusterUtil.getKafkaClusterId(KafkaClusterUtil.java:105)
ksqldb-server | ... 3 more
ksqldb-server exited with code 255
^CGracefully stopping... (press Ctrl+C again to force)
Stopping ksqldb-cli ... done
在 server.properties 文件中,我添加了
listeners=PLAINTEXT://localhost:9092
并重新启动了kafka,但并没有解决问题。
卡夫卡消费者和生产者工作正常。问题仅在于kSQL
任何帮助表示赞赏
-
请展示您如何运行 ksql 并连接到它。例如,您为什么不连接到
http://localhost:8088? -
@OneCricketeer 我没有正确理解你的问题。但在我的问题中添加了更多细节
-
KSQL_BOOTSTRAP_SERVERS: localhost:9092不正确,因为此地址指的是 KSQL 容器。 KSQL 需要一个正在运行的 Kafka 集群。卡夫卡在哪里运行?如果Kafka不是容器,见stackoverflow.com/questions/68401788/…
标签: apache-kafka ksqldb