我在我的笔记本电脑上使用Docker中的Kafka(使用docker-compose)。
之后,创建了新的kafka主题:
import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np
x = np.linspace(0, 20, 100)
plt.plot(x, np.sin(x))
plt.show()
(尚未在Schema Registry中创建架构)。
现在尝试制作(基于此示例 - 步骤3 - https://docs.confluent.io/4.0.0/quickstart.html):
kafka-topics --zookeeper localhost:2181 --create --topic simple --replication-factor 1 --partitions 1
输入值:
kafka-avro-console-producer \
--broker-list localhost:9092 --topic simple \
--property value.schema='{"type":"record","name":"myrecord","fields":[{"name":"f1","type":"string"}]}'
错误:
{"f1": "value1"}
如何解决这个问题?
是不是因为Kafka集群使用SSL但错误是假的?
感谢。
答案 0 :(得分:0)
If NPCodes Like "*Document1*" Then
Set NPCodes_Doc117 = Documents.Open(NPCodes_Path & "\" & "Document1.docx")
Selection.WholeStory
Selection.Font.Name = "Arial"
Selection.ParagraphFormat.SpaceAfter = 0
Selection.ParagraphFormat.SpaceBefore = 0
Selection.ParagraphFormat.LineSpacing = 12
Selection.Copy
Documents("Code Template.docm").Activate
Selection.EndKey Unit:=wdLine
Selection.Collapse Direction:=wdCollapseEnd
Selection.Paste
End If
假定Schema Registry正在侦听端口On Error Resume Next
NPCodes_Doc1.Close False
NPCodes_Doc2.Close False
NPCodes_Doc3.Close False
NPCodes_Doc4.Close False
NPCodes_Doc5.Close False
.... _Doc118.Close False
On Error GoTo 0
。但是,如果另一个进程正在侦听该端口,则可能会发生奇怪的错误。
为了解决此问题,您可以在使用kafka-avro-console-producer
运行生产者时指定架构URL
例如,
http://localhost:8081
答案 1 :(得分:0)
我有相同的错误,但我的解决方案不同。如果有人发现此功能有用,我会在这里发布。
此错误与访问架构注册表和预期的响应有关。因此,要么配置不正确,客户端就无法评估架构注册表,或者无法识别响应。
因此,请检查您是否提供了正确的配置,在此情况下,--property schema.registry.url
如Giorgos所述。另请参阅:https://docs.confluent.io/5.5.1/schema-registry/serdes-develop/serdes-avro.html
您还可以curl
架构注册表以查看是否收到任何响应,例如
curl -X GET http://localhost:8081/subjects
另请参阅:https://docs.confluent.io/5.5.1/schema-registry/develop/using.html
就我而言,问题是过滤流量的Web代理。所以检查:
NO_PROXY
,no_proxy
以及HTTP_PROXY
,http_proxy
和HTTPS_PROXY
,https_proxy
以确保没有任何内容拦截对注册表的调用。如果要创建jvm应用程序,则相应的标志为:
http.nonProxyHosts
,http.proxyHost
和http.proxyPort
,或https.proxyHost
和https.proxyPort
。