Запуск сервера kafka вызывает исключения NoClassDefFoundError

Я получаю много NoClassDefFoundError на работающем сервере Kafka. Я не уверен, что вызывает это? Кто-нибудь еще сталкивался с этой проблемой?

Я использую Kafka v2.1.1 и Java 11. Недавно я обновился до версии 2.1.1.

Обновлять: Обратите внимание, что я вижу это исключение только у 2 брокеров из 5 во всем кластере.

Исключение 1:

[2019-02-28 00:54:49,288] INFO Successfully authenticated client: authenticationID=rajputs/[email protected]; authorizationID=rajputs/[email protected]. (org.apache.kafka.common.security.authenticator.SaslServerCallbackHandler)
[2019-02-28 00:54:49,469] ERROR [KafkaApi-4] Error when handling request: clientId=consumer-2, correlationId=1686, api=METADATA, body = {topics=[fps.rajputs.jpse.desim_se],allow_auto_topic_creation=true} (kafka.server.KafkaApis)
java.lang.NoClassDefFoundError: scala/collection/immutable/SortedMap$$anon$1
        at scala.collection.immutable.SortedMap.filterKeys(SortedMap.scala:87)
        at scala.collection.immutable.SortedMap.filterKeys$(SortedMap.scala:87)
        at scala.collection.immutable.TreeMap.filterKeys(TreeMap.scala:46)
        at kafka.security.auth.SimpleAclAuthorizer.$anonfun$getMatchingAcls$1(SimpleAclAuthorizer.scala:245)
        at kafka.utils.CoreUtils$.inLock(CoreUtils.scala:251)
        at kafka.utils.CoreUtils$.inReadLock(CoreUtils.scala:257)
        at kafka.security.auth.SimpleAclAuthorizer.getMatchingAcls(SimpleAclAuthorizer.scala:233)
        at kafka.security.auth.SimpleAclAuthorizer.aclsAllowAccess$1(SimpleAclAuthorizer.scala:154)
        at kafka.security.auth.SimpleAclAuthorizer.authorize(SimpleAclAuthorizer.scala:159)
        at kafka.server.KafkaApis.$anonfun$authorize$1(KafkaApis.scala:371)
        at kafka.server.KafkaApis.$anonfun$authorize$1$adapted(KafkaApis.scala:371)
        at scala.Option.forall(Option.scala:247)
        at kafka.server.KafkaApis.authorize(KafkaApis.scala:371)
        at kafka.server.KafkaApis.$anonfun$handleTopicMetadataRequest$1(KafkaApis.scala:970)
        at kafka.server.KafkaApis.$anonfun$handleTopicMetadataRequest$1$adapted(KafkaApis.scala:970)
        at scala.collection.TraversableLike.$anonfun$partition$1(TraversableLike.scala:313)
        at scala.collection.immutable.Set$Set1.foreach(Set.scala:95)
        at scala.collection.TraversableLike.partition(TraversableLike.scala:313)
        at scala.collection.TraversableLike.partition$(TraversableLike.scala:311)
        at scala.collection.AbstractTraversable.partition(Traversable.scala:104)
        at kafka.server.KafkaApis.handleTopicMetadataRequest(KafkaApis.scala:970)
        at kafka.server.KafkaApis.handle(KafkaApis.scala:109)
        at kafka.server.KafkaRequestHandler.run(KafkaRequestHandler.scala:69)
        at java.base/java.lang.Thread.run(Thread.java:834)

Исключение 2:

[2019-02-28 01:05:58,920] INFO [GroupMetadataManager brokerId=4] Removed 0 expired offsets in 0 milliseconds. (kafka.coordinator.group.GroupMetadataManager)
[2019-02-28 01:06:04,296] WARN Client session timed out, have not heard from server in 4002ms for sessionid 0x468d0a6602700cc (org.apache.zookeeper.ClientCnxn)
[2019-02-28 01:06:04,296] INFO Client session timed out, have not heard from server in 4002ms for sessionid 0x468d0a6602700cc, closing socket connection and attempting reconnect (org.apache.zookeeper.ClientCnxn)
[2019-02-28 01:06:04,972] INFO Client will use GSSAPI as SASL mechanism. (org.apache.zookeeper.client.ZooKeeperSaslClient)
[2019-02-28 01:06:04,972] INFO Opening socket connection to server mwkafka-zk-test-03.dr/10.218.247.19:2181. Will attempt to SASL-authenticate using Login Context section 'Client' (org.apache.zookeeper.ClientCnxn)
[2019-02-28 01:06:04,973] INFO Socket connection established to mwkafka-zk-test-03.dr/10.218.247.19:2181, initiating session (org.apache.zookeeper.ClientCnxn)
[2019-02-28 01:06:04,973] WARN Session 0x468d0a6602700cc for server mwkafka-zk-test-03.dr/10.218.247.19:2181, unexpected error, closing socket connection and attempting reconnect (org.apache.zookeeper.ClientCnxn)
java.lang.NoClassDefFoundError: org/apache/zookeeper/proto/SetWatches
        at org.apache.zookeeper.ClientCnxn$SendThread.primeConnection(ClientCnxn.java:929)
        at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:363)
        at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1145)
Caused by: java.lang.ClassNotFoundException: org.apache.zookeeper.proto.SetWatches
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
        ... 3 more

Я предполагаю, что что-то пропущено или произошло какое-то несоответствие версий. Пожалуйста, проверьте, завершен ли файл tar, который вы загрузили с сайта Kafka? Вы можете проверить с помощью инструментов md5 или sha.

Soheil Pourbafrani 01.03.2019 08:44

Я использую один и тот же архив для всех брокеров, но эти исключения появляются только у 2 брокеров из 5.

xabhi 01.03.2019 08:58
Построение конвейеров данных в реальном времени с Apache Kafka: Руководство по Python
Построение конвейеров данных в реальном времени с Apache Kafka: Руководство по Python
Apache Kafka - популярная платформа распределенной потоковой передачи данных, которую можно использовать для построения конвейеров данных в реальном...
0
2
878
0

Другие вопросы по теме