Skip to main content

Build Status

StreamNet

A Kafka Client to easily connect with Kafka

BranchStatus
mainmain

Pre-requisites

  • The .NET SDK 3.1 or higher should be installed before continuing.
  • To use Apache Kafka, I recommend to use docker with docker-compose.

docker-compose and kafka_server_jaas.conf

To run a docker container with kafka, just use the docker-compose up command in the same folder of the .yml and .conf files.

(sudo) docker-compose up -d
version: '3'
services:
zookeeper:
image: confluentinc/cp-zookeeper:latest
networks:
- broker-kafka
environment:
ZOOKEEPER_CLIENT_PORT: 2181
ZOOKEEPER_TICK_TIME: 2000

kafka:
image: confluentinc/cp-kafka:5.1.0
networks:
- broker-kafka
ports:
- "9092:9092"
environment:
KAFKA_LISTENERS: SASL_PLAINTEXT://:9092
KAFKA_ADVERTISED_LISTENERS: SASL_PLAINTEXT://localhost:9092
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
ZOOKEEPER_SASL_ENABLED: "false"
KAFKA_OPTS: "-Djava.security.auth.login.config=/etc/kafka/kafka_server_jaas.conf"
KAFKA_INTER_BROKER_LISTENER_NAME: SASL_PLAINTEXT
KAFKA_SASL_ENABLED_MECHANISMS: PLAIN
KAFKA_SASL_MECHANISM_INTER_BROKER_PROTOCOL: PLAIN
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
KAFKA_AUTO_CREATE_TOPICS_ENABLE: "false"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./kafka_server_jaas.conf:/etc/kafka/kafka_server_jaas.conf
- ./data:/var/lib/kafka/data
links:
- zookeeper

magic:
image: digitsy/kafka-magic
ports:
- "8080:80"
environment:
KMAGIC_ALLOW_TOPIC_DELETE: "true"
KMAGIC_ALLOW_SCHEMA_DELETE: "true"

networks:
broker-kafka:
driver: bridge
KafkaServer {
org.apache.kafka.common.security.plain.PlainLoginModule required
username="your_user"
password="your_password"
user_admin="your_admin_user";
};
Client{};