Kafka - Schema Registry不可用

时间:2018-04-09 04:07:14

标签: rest apache-kafka confluent-kafka confluent-schema-registry

我下载了Confluent Kafka(在本地笔记本电脑MacOS上)并按照启动kafka的说明操作: https://docs.confluent.io/current/schema-registry/docs/intro.html

~/kafka/confluent-4.0.0/bin » confluent start schema-registry                                                                                                                                                                                               dnk306@9801a7a5b33d
Starting zookeeper
zookeeper is [UP]
Starting kafka
kafka is [UP]
Starting schema-registry
schema-registry is [UP]

通过查看上面的模式注册表似乎已启动并正在运行。如何检查是否真的在运行?

curl http://localhost:8081
curl: (7) Failed to connect to localhost port 8081: Connection refused

2 个答案:

答案 0 :(得分:1)

以下可能是您可以尝试验证架构注册表是否正常运行的东西:

1)首先,您要使模式注册Java进程正在运行或不运行。您可以使用简单的ps命令来查找它。例如。 ps ax | grep java | grep schema-registry

2)确保架构注册过程运行正常之后,您可以在输出中看到它使用的属性文件,然后可以在其中找到侦听器kafkstore.connection.url和kafkaStore.topic。

3)现在,您知道此架构注册表服务正在使用的配置是什么,可以检查kafka集群中是否存在此主题,或者使用curl测试连接性。

4)如果仍然发生错误,则可以检查-Dschema-registry.log.dir-Dlog4j.configuration选项,并在使用的log4j配置文件中将OUTPUT级别更改为DEBUG,可以在其中获取更多有用的信息。您的日志输出。

答案 1 :(得分:1)

首先,您需要测试架构注册表是否仍在运行。为此,您需要运行

confluent status schema-registry

然后,您可以检查服务的日志并查看是否报告了任何ERROR(以获取日志文件的最后100行):

confluent log schema-registry -n 100 -f

如果您确保实例已启动并正在运行并且未报告任何错误,请尝试获取所有主题

curl -X GET http://localhost:8081/subjects