skip to Main Content

Couple of things to know:

  • Using a raspberry pi 4
  • Running Unbuntu 20.04 image on ri4
  • I use ZeroTier and SSH to connect remotely to the ri4
  • I was able to run 3 containers: nodered, mosquito and portainer.

I’m having issues with different Zookeeper and/or Kafka images when trying to run/start the Kafka service. I wonder if I have to use a specific image due to the arm64 architecture since I’m using a ri4.

So far, I’ve used the general images:

  • confluent, bitnami and wurstmeister.

Here’s a section of my docker-compose:

  zookeeper:
    image: confluent/zookeeper
    container_name: zookeeper
    environment:
      - ZOOKEEPER_CLIENT_PORT=2181
  kafka:
    image: confluent/kafka
    container_name: kafka
    environment:
      - KAFKA_ADVERTISED_HOST_NAME=kafka
      - KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181
      - KAFKA_CREATE_TOPICS=mqtt-sensor-1
    depends_on:
      - zookeeper
    restart: on-failure

I’m always getting this error from Kafka whenever I initiate a docker-compose up:

kafka        | exec /usr/local/bin/kafka-docker.sh: exec format error

I’m not getting anything else. Any idea?

2

Answers


  1. Chosen as BEST ANSWER

    This seems to do the trick, with the ubuntu images (supports ARM64):

      zookeeper:
        image: ubuntu/zookeeper
        container_name: zookeeper
        ports:
          - "2181:2181"
      kafka:
        image: ubuntu/kafka
        container_name: kafka
        ports:
          - "9092:9092"
        environment:
          - KAFKA_ADVERTISED_HOST_NAME=kafka
          - KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181
          - KAFKA_CREATE_TOPICS= "mqtt-sensor-1:1:1"
          - KAFKA_DELETE_TOPIC_ENABLE=true
        depends_on:
          - zookeeper
        restart: on-failure
    

  2. The Docker images you want are in the confluentinc/ repo, and latest versions support multi-arch builds.

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search