2015-11-19 17 views
5

Próbuję uruchomić rejestr schematów kafka, ale otrzymuję komunikat o błędzie: Nie udało się zapisać rekordu Noop w sklepie kafka. Ślad stosu znajduje się poniżej. Sprawdziłem połączenia z zookeeperem, brokerami kafka - wszystko jest w porządku. Mogę wysyłać wiadomości do kafka. Próbowałem usunąć temat _schema, a nawet ponownie zainstalować kafka, ale ten problem nadal się zdarza. Wczoraj wszystko działało dobrze, ale dzisiaj, po ponownym uruchomieniu mojego pudełka z włóczniami, pojawia się ten problem. Czy mogę coś z tym zrobić? DziękiBłąd rejestru Kafka: Nie udało się zapisać rekordu Noop w sklepie kafka

[2015-11-19 19:12:25,904] INFO SchemaRegistryConfig values: 
master.eligibility = true 
port = 8081 
kafkastore.timeout.ms = 500 
kafkastore.init.timeout.ms = 60000 
debug = false 
kafkastore.zk.session.timeout.ms = 30000 
request.logger.name = io.confluent.rest-utils.requests 
metrics.sample.window.ms = 30000 
schema.registry.zk.namespace = schema_registry 
kafkastore.topic = _schemas 
avro.compatibility.level = none 
shutdown.graceful.ms = 1000 
response.mediatype.preferred = [application/vnd.schemaregistry.v1+json, application/vnd.schemaregistry+json, application/json] 
metrics.jmx.prefix = kafka.schema.registry 
host.name = 12bac2a9529f 
metric.reporters = [] 
kafkastore.commit.interval.ms = -1 
kafkastore.connection.url = master.mesos:2181 
metrics.num.samples = 2 
response.mediatype.default = application/vnd.schemaregistry.v1+json 
kafkastore.topic.replication.factor = 3 
(io.confluent.kafka.schemaregistry.rest.SchemaRegistryConfig:135) 

[2015-11-19 19:12:25,904] INFO SchemaRegistryConfig values: 
master.eligibility = true 
port = 8081 
kafkastore.timeout.ms = 500 
kafkastore.init.timeout.ms = 60000 
debug = false 
kafkastore.zk.session.timeout.ms = 30000 
request.logger.name = io.confluent.rest-utils.requests 
metrics.sample.window.ms = 30000 
schema.registry.zk.namespace = schema_registry 
kafkastore.topic = _schemas 
avro.compatibility.level = none 
shutdown.graceful.ms = 1000 
response.mediatype.preferred = [application/vnd.schemaregistry.v1+json, application/vnd.schemaregistry+json, application/json] 
metrics.jmx.prefix = kafka.schema.registry 
host.name = 12bac2a9529f 
metric.reporters = [] 
kafkastore.commit.interval.ms = -1 
kafkastore.connection.url = master.mesos:2181 
metrics.num.samples = 2 
response.mediatype.default = application/vnd.schemaregistry.v1+json 
kafkastore.topic.replication.factor = 3 
(io.confluent.kafka.schemaregistry.rest.SchemaRegistryConfig:135) 
[2015-11-19 19:12:26,535] INFO Initialized the consumer offset to -1  (io.confluent.kafka.schemaregistry.storage.KafkaStoreReaderThread:87) 
[2015-11-19 19:12:27,167] WARN Creating the schema topic _schemas using a replication factor of 1, which is less than the desired one of 3. If this is a production environment, it's crucial to add more brokers and increase the replication factor of the topic. (io.confluent.kafka.schemaregistry.storage.KafkaStore:172) 
[2015-11-19 19:12:27,262] INFO [kafka-store-reader-thread-_schemas], Starting (io.confluent.kafka.schemaregistry.storage.KafkaStoreReaderThread:68) 
[2015-11-19 19:13:27,350] ERROR Error starting the schema registry (io.confluent.kafka.schemaregistry.rest.SchemaRegistryRestApplication:57) 
io.confluent.kafka.schemaregistry.exceptions.SchemaRegistryInitializationException: Error initializing kafka store while initializing schema registry 
at io.confluent.kafka.schemaregistry.storage.KafkaSchemaRegistry.init(KafkaSchemaRegistry.java:164) 
at io.confluent.kafka.schemaregistry.rest.SchemaRegistryRestApplication.setupResources(SchemaRegistryRestApplication.java:55) 
at io.confluent.kafka.schemaregistry.rest.SchemaRegistryRestApplication.setupResources(SchemaRegistryRestApplication.java:37) 
at io.confluent.rest.Application.createServer(Application.java:104) 
at io.confluent.kafka.schemaregistry.rest.Main.main(Main.java:42) 
Caused by: io.confluent.kafka.schemaregistry.storage.exceptions.StoreInitializationException: io.confluent.kafka.schemaregistry.storage.exceptions.StoreException: Failed to write Noop record to kafka store. 
at io.confluent.kafka.schemaregistry.storage.KafkaStore.init(KafkaStore.java:151) 
at io.confluent.kafka.schemaregistry.storage.KafkaSchemaRegistry.init(KafkaSchemaRegistry.java:162) 
... 4 more 
Caused by: io.confluent.kafka.schemaregistry.storage.exceptions.StoreException: Failed to write Noop record to kafka store. 
at io.confluent.kafka.schemaregistry.storage.KafkaStore.getLatestOffset(KafkaStore.java:363) 
at io.confluent.kafka.schemaregistry.storage.KafkaStore.waitUntilKafkaReaderReachesLastOffset(KafkaStore.java:220) 
at io.confluent.kafka.schemaregistry.storage.KafkaStore.init(KafkaStore.java:149) 
... 5 more 
+1

Czy masz błędy z dzienników Kafka z tego czasu? –

Odpowiedz

0

Mam ten sam błąd. Problemem było to, że oczekuje się, że Kafka używać kafka nazw w Heca, więc mogę ustawić go w schema-registry.properties

kafkastore.connection.url=localhost:2181/kafka 

ale w Kafka server.properties nie ustawić go w ogóle. Config zawiera

zookeeper.connect=localhost:2181 

więc po prostu dodać nazw Heca na ten obiekt i ponownie Kafka

zookeeper.connect=localhost:2181/kafka 

Prawdopodobnie problem jest nazw, czy schematu rejestru oczekiwać „/”, ale w konfiguracji Kafka zdefiniowano coś innego. Czy mógłbyś opublikować konfigurację Kafki?

Można również użyć pliku zkCli.sh, aby dowiedzieć się, gdzie można znaleźć informacje na temat sklepów ZooKeeper Kafka.

/bin/zkCli.sh localhost:2181 
Welcome to ZooKeeper! 
ls /kafka 
[cluster, controller, controller_epoch, brokers, admin, isr_change_notification, consumers, latest_producer_id_block, config]