Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache kafka ksql在docker中运行的问题_Apache Kafka_Confluent Platform_Confluent Schema Registry_Ksqldb - Fatal编程技术网

Apache kafka ksql在docker中运行的问题

Apache kafka ksql在docker中运行的问题,apache-kafka,confluent-platform,confluent-schema-registry,ksqldb,Apache Kafka,Confluent Platform,Confluent Schema Registry,Ksqldb,我在Kubernetes集群上的容器中运行了融合的kafka、zookeeper、模式注册表和ksql。Kafka、zookeeper和schema registry工作正常,a可以创建主题并以Avro格式写入数据,但当我尝试检查ksql并使用curl创建一些流时,如: curl -XPOST http://ksql-svc.someapp:8080/ksql -H "Content-Type: application/json" -d $' {"ksql": "CREATE STREAM k

我在Kubernetes集群上的容器中运行了融合的kafka、zookeeper、模式注册表和ksql。Kafka、zookeeper和schema registry工作正常,a可以创建主题并以Avro格式写入数据,但当我尝试检查ksql并使用curl创建一些流时,如:

curl -XPOST http://ksql-svc.someapp:8080/ksql -H "Content-Type: application/json" -d $' 
{"ksql": "CREATE STREAM kawabanga_stream (log_id varchar, created_date varchar) WITH (kafka_topic = '\'kawabanga\'', value_format = '\'avro\'');","streamsProperties":{}}'
我得到一个错误:

[{"error":{"statementText":"CREATE STREAM kawabanga_stream (log_id varchar, created_date varchar) WITH (kafka_topic = 'kawabanga', value_format = 'avro');","errorMessage":{"message":"Avro schema file path should be set for avro topics.","stackTrace":["io.confluent.ksql.ddl.commands.RegisterTopicCommand.extractTopicSerDe(RegisterTopicCommand.java:75)","io.confluent.ksql.ddl.commands.RegisterTopicCommand.<init>
此外,我还尝试在没有schema.registry字符串的情况下启动服务器,但运气不佳。

根据,您应该使用
ksql.schema.registry.url
属性来指定架构注册表的位置

至少从v0.5开始,情况似乎就是这样

还值得注意的是,目前不支持直接使用RESTful API。因此,您可能会发现不同版本之间的API更改。

根据,您应该使用
ksql.schema.registry.url
属性指定架构注册表的位置

至少从v0.5开始,情况似乎就是这样


还值得注意的是,目前不支持直接使用RESTful API。因此,您可能会发现API在版本之间发生了更改。

您必须设置配置
ksql.schema.registry.url
(请参阅)

仅供参考:我们将有更好的文档,用于KSQL中Avro的使用,以及与即将于4月初发布的KSQL GA(作为Confluent Platform 4.1的一部分)的Confluent Schema registry集成


我不知道如何检查版本,但我使用的是docker image confluentinc/ksql cli(我认为是0.5)。对于卡夫卡,我使用了融合的卡夫卡Docker image 4.0.0

  • KSQL服务器在启动时显示版本
  • 如果看不到KSQL服务器启动消息,还可以通过在KSQL CLI提示符中输入“version”(版本)(
    KSQL>version
    )来检查KSQL版本

必须设置配置
ksql.schema.registry.url
(请参阅)

仅供参考:我们将有更好的文档,用于KSQL中Avro的使用,以及与即将于4月初发布的KSQL GA(作为Confluent Platform 4.1的一部分)的Confluent Schema registry集成


我不知道如何检查版本,但我使用的是docker image confluentinc/ksql cli(我认为是0.5)。对于卡夫卡,我使用了融合的卡夫卡Docker image 4.0.0

  • KSQL服务器在启动时显示版本
  • 如果看不到KSQL服务器启动消息,还可以通过在KSQL CLI提示符中输入“version”(版本)(
    KSQL>version
    )来检查KSQL版本

您使用的是什么版本?我不知道如何检查版本,但我使用的是docker image confluentinc/ksql cli(我认为是0.5)。对于Kafka,我使用了Confluent Kafka Docker image 4.0.0,我认为配置必须是
ksql.schema.registry.url
(cf)来检查ksql版本:ksql服务器在启动时显示版本。如果您使用的是KSQL CLI,还可以通过在提示符中输入“version”(version)来检查版本(
KSQL>version
)。您使用的是什么版本?我不知道如何检查版本,但我使用的是docker image confluentinc/KSQL CLI(我认为是0.5)。对于Kafka,我使用了Confluent Kafka Docker image 4.0.0,我认为配置必须是
ksql.schema.registry.url
(cf)来检查ksql版本:ksql服务器在启动时显示版本。如果您正在使用KSQL CLI,还可以通过在提示符中输入“version”(版本)(
KSQL>version
)来检查版本。
# cat /etc/ksql/ksqlserver.properties
bootstrap.servers=kafka-0.kafka-hs:9093,kafka-1.kafka-hs:9093,kafka-
2.kafka-hs:9093
schema.registry.host=schema-svc
schema.registry.port=8081
ksql.command.topic.suffix=commands
listeners=http://0.0.0.0:8080