admin管理员组

文章数量:1430282

Based on this tutorial I'm trying to create Kafka and Fastapi. But kafdrop web ui fails. Here are the logs from kafdrop

docker-compose logs kafdrop
Attaching to kafdrop
kafdrop      | 
kafdrop      | :::    :::     :::     :::::::::: :::::::::  :::::::::   ::::::::  :::::::::           :::    
kafdrop      | :+:   :+:    :+: :+:   :+:        :+:    :+: :+:    :+: :+:    :+: :+:    :+:         :+:     
kafdrop      | +:+  +:+    +:+   +:+  +:+        +:+    +:+ +:+    +:+ +:+    +:+ +:+    +:+        +:+ +:+  
kafdrop      | +#++:++    +#++:++#++: :#::+::#   +#+    +:+ +#++:++#:  +#+    +:+ +#++:++#+        +#+  +:+  
kafdrop      | +#+  +#+   +#+     +#+ +#+        +#+    +#+ +#+    +#+ +#+    +#+ +#+             +#+#+#+#+#+
kafdrop      | #+#   #+#  #+#     #+# #+#        #+#    #+# #+#    #+# #+#    #+# #+#                   #+#  
kafdrop      | ###    ### ###     ### ###        #########  ###    ###  ########  ###                   ###  
kafdrop      | 
kafdrop      | OpenJDK 64-Bit Server VM warning: Options -Xverify:none and -noverify were deprecated in JDK 13 and will likely be removed in a future release.
kafdrop      | 2024-11-24 19:31:48.371  INFO ${sys:PID} [           main] k.Kafdrop$EnvironmentSetupListener       : Initializing JAAS config
kafdrop      | 2024-11-24 19:31:48.457  INFO ${sys:PID} [           main] k.Kafdrop$EnvironmentSetupListener       : Env: null
kafdrop      | 2024-11-24 19:31:49.168  INFO 1 [kground-preinit] o.h.v.i.u.Version                        : HV000001: Hibernate Validator 8.0.1.Final
kafdrop      | 2024-11-24 19:31:49.434  INFO 1 [           main] o.s.b.StartupInfoLogger                  : Starting Kafdrop v4.0.2 using Java 17.0.11 with PID 1 (/kafdrop-4.0.2/kafdrop-4.0.2.jar started by root in /)
kafdrop      | 2024-11-24 19:31:49.458  INFO 1 [           main] o.s.b.SpringApplication                  : No active profile set, falling back to 1 default profile: "default"
kafdrop      | 2024-11-24 19:31:55.540  WARN 1 [           main] o.s.c.s.AbstractApplicationContext       : Exception encountered during context initialization - cancelling refresh attempt: java.lang.StackOverflowError
kafdrop      | 2024-11-24 19:31:55.606  INFO 1 [           main] .s.b.a.l.ConditionEvaluationReportLogger : 
kafdrop      | 
kafdrop      | Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled.
kafdrop      | 2024-11-24 19:31:55.672 ERROR 1 [           main] o.s.b.SpringApplication                  : Application run failed
kafdrop      | 
kafdrop      | java.lang.StackOverflowError
kafdrop      |  at java.base/java.lang.ClassLoader.defineClass1(Native Method)
kafdrop      |  at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017)
kafdrop      |  at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150)
kafdrop      |  at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:862)
kafdrop      |  at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:760)
kafdrop      |  at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:681)
kafdrop      |  at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:639)
kafdrop      |  at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
kafdrop      |  at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
kafdrop      |  at java.base/java.lang.ClassLoader.defineClass1(Native Method)

docker-compose.yaml:

version: '3.3'

services:
  zookeeper:
    image: 'bitnami/zookeeper:3.7.0'
    container_name: zookeeper
    ports:
      - '2181:2181'
    environment:
      - ALLOW_ANONYMOUS_LOGIN=true
    volumes:
      - ./bitnami/zookeeper:/bitnami/zookeeper

  kafka:
    image: 'bitnami/kafka:2.8.0'
    container_name: kafka
    ports:
      - "9092:9092"
      - "9093:9093"
    expose:
      - "9092"
      - "9093"
    environment:
      - KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181
      - KAFKA_CREATE_TOPICS="kafka_capstone_event_bus:1:1"
      - KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE=true
      - KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CLIENT:PLAINTEXT,EXTERNAL:PLAINTEXT
      - KAFKA_CFG_LISTENERS=CLIENT://:9092,EXTERNAL://:9093
      - KAFKA_CFG_ADVERTISED_LISTENERS=CLIENT://kafka:9092,EXTERNAL://localhost:9093
      - KAFKA_INTER_BROKER_LISTENER_NAME=CLIENT
      - ALLOW_PLAINTEXT_LISTENER=yes
    depends_on:
      - zookeeper
    volumes:
      - ./bitnami/kafka:/bitnami/kafka

  kafdrop:
    image: obsidiandynamics/kafdrop
    container_name: kafdrop
    ports:
      - "9000:9000"
    environment:
      KAFKA_BROKERCONNECT: "kafka:9092"
      JVM_OPTS: "-Xms16M -Xmx48M -Xss180K -XX:-TieredCompilation -XX:+UseStringDeduplication -noverify"
    depends_on:
      - kafka

Based on this tutorial I'm trying to create Kafka and Fastapi. But kafdrop web ui fails. Here are the logs from kafdrop

docker-compose logs kafdrop
Attaching to kafdrop
kafdrop      | 
kafdrop      | :::    :::     :::     :::::::::: :::::::::  :::::::::   ::::::::  :::::::::           :::    
kafdrop      | :+:   :+:    :+: :+:   :+:        :+:    :+: :+:    :+: :+:    :+: :+:    :+:         :+:     
kafdrop      | +:+  +:+    +:+   +:+  +:+        +:+    +:+ +:+    +:+ +:+    +:+ +:+    +:+        +:+ +:+  
kafdrop      | +#++:++    +#++:++#++: :#::+::#   +#+    +:+ +#++:++#:  +#+    +:+ +#++:++#+        +#+  +:+  
kafdrop      | +#+  +#+   +#+     +#+ +#+        +#+    +#+ +#+    +#+ +#+    +#+ +#+             +#+#+#+#+#+
kafdrop      | #+#   #+#  #+#     #+# #+#        #+#    #+# #+#    #+# #+#    #+# #+#                   #+#  
kafdrop      | ###    ### ###     ### ###        #########  ###    ###  ########  ###                   ###  
kafdrop      | 
kafdrop      | OpenJDK 64-Bit Server VM warning: Options -Xverify:none and -noverify were deprecated in JDK 13 and will likely be removed in a future release.
kafdrop      | 2024-11-24 19:31:48.371  INFO ${sys:PID} [           main] k.Kafdrop$EnvironmentSetupListener       : Initializing JAAS config
kafdrop      | 2024-11-24 19:31:48.457  INFO ${sys:PID} [           main] k.Kafdrop$EnvironmentSetupListener       : Env: null
kafdrop      | 2024-11-24 19:31:49.168  INFO 1 [kground-preinit] o.h.v.i.u.Version                        : HV000001: Hibernate Validator 8.0.1.Final
kafdrop      | 2024-11-24 19:31:49.434  INFO 1 [           main] o.s.b.StartupInfoLogger                  : Starting Kafdrop v4.0.2 using Java 17.0.11 with PID 1 (/kafdrop-4.0.2/kafdrop-4.0.2.jar started by root in /)
kafdrop      | 2024-11-24 19:31:49.458  INFO 1 [           main] o.s.b.SpringApplication                  : No active profile set, falling back to 1 default profile: "default"
kafdrop      | 2024-11-24 19:31:55.540  WARN 1 [           main] o.s.c.s.AbstractApplicationContext       : Exception encountered during context initialization - cancelling refresh attempt: java.lang.StackOverflowError
kafdrop      | 2024-11-24 19:31:55.606  INFO 1 [           main] .s.b.a.l.ConditionEvaluationReportLogger : 
kafdrop      | 
kafdrop      | Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled.
kafdrop      | 2024-11-24 19:31:55.672 ERROR 1 [           main] o.s.b.SpringApplication                  : Application run failed
kafdrop      | 
kafdrop      | java.lang.StackOverflowError
kafdrop      |  at java.base/java.lang.ClassLoader.defineClass1(Native Method)
kafdrop      |  at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017)
kafdrop      |  at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150)
kafdrop      |  at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:862)
kafdrop      |  at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:760)
kafdrop      |  at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:681)
kafdrop      |  at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:639)
kafdrop      |  at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
kafdrop      |  at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
kafdrop      |  at java.base/java.lang.ClassLoader.defineClass1(Native Method)

docker-compose.yaml:

version: '3.3'

services:
  zookeeper:
    image: 'bitnami/zookeeper:3.7.0'
    container_name: zookeeper
    ports:
      - '2181:2181'
    environment:
      - ALLOW_ANONYMOUS_LOGIN=true
    volumes:
      - ./bitnami/zookeeper:/bitnami/zookeeper

  kafka:
    image: 'bitnami/kafka:2.8.0'
    container_name: kafka
    ports:
      - "9092:9092"
      - "9093:9093"
    expose:
      - "9092"
      - "9093"
    environment:
      - KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181
      - KAFKA_CREATE_TOPICS="kafka_capstone_event_bus:1:1"
      - KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE=true
      - KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CLIENT:PLAINTEXT,EXTERNAL:PLAINTEXT
      - KAFKA_CFG_LISTENERS=CLIENT://:9092,EXTERNAL://:9093
      - KAFKA_CFG_ADVERTISED_LISTENERS=CLIENT://kafka:9092,EXTERNAL://localhost:9093
      - KAFKA_INTER_BROKER_LISTENER_NAME=CLIENT
      - ALLOW_PLAINTEXT_LISTENER=yes
    depends_on:
      - zookeeper
    volumes:
      - ./bitnami/kafka:/bitnami/kafka

  kafdrop:
    image: obsidiandynamics/kafdrop
    container_name: kafdrop
    ports:
      - "9000:9000"
    environment:
      KAFKA_BROKERCONNECT: "kafka:9092"
      JVM_OPTS: "-Xms16M -Xmx48M -Xss180K -XX:-TieredCompilation -XX:+UseStringDeduplication -noverify"
    depends_on:
      - kafka
Share Improve this question edited Apr 12 at 0:11 halfer 20.4k19 gold badges109 silver badges202 bronze badges asked Nov 24, 2024 at 19:38 ERJANERJAN 24.5k25 gold badges87 silver badges176 bronze badges 10
  • 1 I can reproduce it here but it's most likely kafdrop issue and has nothing to do with docker. Have you checked open tickets on their bug tracker? – Arkadiusz Drabczyk Commented Nov 24, 2024 at 21:01
  • 1 OK, I see you have already created a ticket for them github/obsidiandynamics/kafdrop/issues/702 – Arkadiusz Drabczyk Commented Nov 24, 2024 at 21:02
  • 1 But wait, why are you setting custom JVM_OPTS? – Arkadiusz Drabczyk Commented Nov 24, 2024 at 21:04
  • 1 There is one more problem here: mkdir: cannot create directory '/bitnami/kafka/config': Permission denied. Kafka container crashes and kafdrop cannot connect to it. – Arkadiusz Drabczyk Commented Nov 24, 2024 at 21:57
  • @ArkadiuszDrabczyk, thx u but how did u find the mkdir bug? – ERJAN Commented Nov 25, 2024 at 13:32
 |  Show 5 more comments

1 Answer 1

Reset to default 3

it works after i deleted the jvm_opt line! kafdrop finally launched

version: '3.3'

services:
  zookeeper:
    image: 'bitnami/zookeeper:3.7.0'
    container_name: zookeeper
    ports:
      - '2181:2181'
    environment:
      - ALLOW_ANONYMOUS_LOGIN=yes
    volumes:
      - ./bitnami/zookeeper:/bitnami/zookeeper
  
  kafka:
    image: 'bitnami/kafka:2.8.0'
    container_name: kafka
    ports:
      - "9093:9093"
    expose:
      - "9093"
    environment:
      - KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181
      - KAFKA_CREATE_TOPICS="kafka_capstone_event_bus:1:1"
      - KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE=true
      - KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CLIENT:PLAINTEXT,EXTERNAL:PLAINTEXT
      - KAFKA_CFG_LISTENERS=CLIENT://:9092,EXTERNAL://:9093
      - KAFKA_CFG_ADVERTISED_LISTENERS=CLIENT://kafka:9092,EXTERNAL://localhost:9093
      - KAFKA_INTER_BROKER_LISTENER_NAME=CLIENT
      - ALLOW_PLAINTEXT_LISTENER=yes
    depends_on:
      - zookeeper
    volumes:
      - ./bitnami/kafka:/bitnami/kafka

  kafdrop:
    image: obsidiandynamics/kafdrop
    container_name: kafdrop
    ports:
     - "9000:9000"
    environment:
      KAFKA_BROKERCONNECT: "kafka:9092"
      # JVM_OPTS: "-Xms16M -Xmx48M -Xss180K -XX:-TieredCompilation -XX:+UseStringDeduplication -noverify"
    depends_on:
      - kafka

本文标签: apache kafkaWhy is Kafdrop failing in Docker Compose stack overflow errorStack Overflow