我曾尝试通过使用confluent zip / tar文件安装ksql服务器和客户端来创建流,并且成功了。例如,下面日志中的create stream语句使用ksql-cli运行得很好。
但是,当我在链接https://ksqldb.io/quickstart.html之后使用docker-compose up启动ksql服务器时(通过关闭之前的ksql server ),它给出了下面的错误,可能是因为这个ksql cli没有使用docker exec -it ksqldb-cli ksql http://0.0.0.0:8088连接到ksql server,并给出了错误Couldn't connect to the KSQL server: KSQL is not yet ready to serve requests.
ksqldb-server | [2021-01-12 17:16:05,182] ERROR Failed to handle: Command{statement='CREATE STREAM persons (version int, id int, type string, data string) WITH (kafka_topic='prod.trail', value_format='json');', overwriteProperties={}, version=Optional.empty} (io.confluent.ksql.rest.server.computation.InteractiveStatementExecutor:214)
ksqldb-server | io.confluent.ksql.util.KsqlException: This version of ksqlDB does not support executing statements submitted prior to ksqlDB 0.8.0 or Confluent Platform ksqlDB 5.0. Please see the upgrading guide to upgrade.
ksqldb-server | at io.confluent.ksql.rest.server.computation.InteractiveStatementExecutor.throwUnsupportedStatementError(InteractiveStatementExecutor.java:309)
ksqldb-server | at io.confluent.ksql.rest.server.computation.InteractiveStatementExecutor.executeStatement(InteractiveStatementExecutor.java:279)
ksqldb-server | at io.confluent.ksql.rest.server.computation.InteractiveStatementExecutor.handleStatementWithTerminatedQueries(InteractiveStatementExecutor.java:212)
ksqldb-server | at io.confluent.ksql.rest.server.computation.InteractiveStatementExecutor.handleRestore(InteractiveStatementExecutor.java:135)
ksqldb-server | at io.confluent.ksql.rest.server.computation.CommandRunner.lambda$null$3(CommandRunner.java:276)
ksqldb-server | at io.confluent.ksql.util.RetryUtil.retryWithBackoff(RetryUtil.java:89)
ksqldb-server | at io.confluent.ksql.util.RetryUtil.retryWithBackoff(RetryUtil.java:60)
ksqldb-server | at io.confluent.ksql.util.RetryUtil.retryWithBackoff(RetryUtil.java:41)
ksqldb-server | at io.confluent.ksql.rest.server.computation.CommandRunner.lambda$processPriorCommands$4(CommandRunner.java:272)
ksqldb-server | at java.base/java.lang.Iterable.forEach(Iterable.java:75)
ksqldb-server | at io.confluent.ksql.rest.server.computation.CommandRunner.processPriorCommands(CommandRunner.java:269)
ksqldb-server | at io.confluent.ksql.rest.server.KsqlRestApplication.initialize(KsqlRestApplication.java:437)
ksqldb-server | at io.confluent.ksql.rest.server.KsqlRestApplication.startKsql(KsqlRestApplication.java:367)
ksqldb-server | at io.confluent.ksql.rest.server.KsqlRestApplication.startAsync(KsqlRestApplication.java:350)
ksqldb-server | at io.confluent.ksql.rest.server.KsqlServerMain.tryStartApp(KsqlServerMain.java:91)
ksqldb-server | at io.confluent.ksql.rest.server.KsqlServerMain.main(KsqlServerMain.java:66)
ksqldb-server | [2021-01-12 17:16:05,183] ERROR Exception encountered running command: This version of ksqlDB does not support executing statements submitted prior to ksqlDB 0.8.0 or Confluent Platform ksqlDB 5.0. Please see the upgrading guide to upgrade.. Retrying in 5000 ms (io.confluent.ksql.util.RetryUtil:106)
ksqldb-server | [2021-01-12 17:16:05,183] ERROR Stack trace: io.confluent.ksql.util.KsqlException: This version of ksqlDB does not support executing statements submitted prior to ksqlDB 0.8.0 or Confluent Platform ksqlDB 5.0. Please see the upgrading guide to upgrade.
ksqldb-server | at io.confluent.ksql.rest.server.computation.InteractiveStatementExecutor.throwUnsupportedStatementError(InteractiveStatementExecutor.java:309)
ksqldb-server | at io.confluent.ksql.rest.server.computation.InteractiveStatementExecutor.executeStatement(InteractiveStatementExecutor.java:279)
ksqldb-server | at io.confluent.ksql.rest.server.computation.InteractiveStatementExecutor.handleStatementWithTerminatedQueries(InteractiveStatementExecutor.java:212)
ksqldb-server | at io.confluent.ksql.rest.server.computation.InteractiveStatementExecutor.handleRestore(InteractiveStatementExecutor.java:135)
ksqldb-server | at io.confluent.ksql.rest.server.computation.CommandRunner.lambda$null$3(CommandRunner.java:276)
ksqldb-server | at io.confluent.ksql.util.RetryUtil.retryWithBackoff(RetryUtil.java:89)
ksqldb-server | at io.confluent.ksql.util.RetryUtil.retryWithBackoff(RetryUtil.java:60)
ksqldb-server | at io.confluent.ksql.util.RetryUtil.retryWithBackoff(RetryUtil.java:41)
ksqldb-server | at io.confluent.ksql.rest.server.computation.CommandRunner.lambda$processPriorCommands$4(CommandRunner.java:272)
ksqldb-server | at java.base/java.lang.Iterable.forEach(Iterable.java:75)
ksqldb-server | at io.confluent.ksql.rest.server.computation.CommandRunner.processPriorCommands(CommandRunner.java:269)
ksqldb-server | at io.confluent.ksql.rest.server.KsqlRestApplication.initialize(KsqlRestApplication.java:437)
ksqldb-server | at io.confluent.ksql.rest.server.KsqlRestApplication.startKsql(KsqlRestApplication.java:367)
ksqldb-server | at io.confluent.ksql.rest.server.KsqlRestApplication.startAsync(KsqlRestApplication.java:350)
ksqldb-server | at io.confluent.ksql.rest.server.KsqlServerMain.tryStartApp(KsqlServerMain.java:91)
ksqldb-server | at io.confluent.ksql.rest.server.KsqlServerMain.main(KsqlServerMain.java:66)
ksqldb-server | (io.confluent.ksql.util.RetryUtil:110)
ksqldb-server | [2021-01-12 17:16:10,184] ERROR Failed to handle: Command{statement='CREATE STREAM persons (version int, id int, type string, data string) WITH (kafka_topic='prod.trail', value_format='json');', overwriteProperties={}, version=Optional.empty} (io.confluent.ksql.rest.server.computation.InteractiveStatementExecutor:214)
ksqldb-server | io.confluent.ksql.util.KsqlException: This version of ksqlDB does not support executing statements submitted prior to ksqlDB 0.8.0 or Confluent Platform ksqlDB 5.0. Please see the upgrading guide to upgrade.
ksqldb-server | at io.confluent.ksql.rest.server.computation.InteractiveStatementExecutor.throwUnsupportedStatementError(InteractiveStatementExecutor.java:309)
ksqldb-server | at io.confluent.ksql.rest.server.computation.InteractiveStatementExecutor.executeStatement(InteractiveStatementExecutor.java:279)
ksqldb-server | at io.confluent.ksql.rest.server.computation.InteractiveStatementExecutor.handleStatementWithTerminatedQueries(InteractiveStatementExecutor.java:212)
ksqldb-server | 我对kafka/ksql完全不熟悉。在网上找不到太多关于这件事的运气。有人能帮上忙吗?
发布于 2021-01-13 02:21:00
在全新的安装中,Docker-Compose版本和下载的归档之间没有任何共享数据,我不希望发生这种情况。您是否正在连接已有的Kafka集群?
Docker镜像使用KSQLdb独立服务器,它比Confluent Platform捆绑的版本更新。这可能是您看到有关版本问题的错误的原因。
有一个upgrade guide here,但是如果您只是在处理示例数据,那么您将需要清理所使用的主题。
https://stackoverflow.com/questions/65688879
复制相似问题