Sign inSign up

simplematter/waterstream-kafka

By simplematter

•Updated over 1 year ago

Please check https://hub.docker.com/orgs/waterstreamio/repositories for new versions

Image
Internet of things
1

50K+

simplematter/waterstream-kafka repository overview

⁠Waterstream - Kafka-native MQTT broker

Waterstream⁠ is an MQTT broker which uses Kafka as its only persistence, thus improving integration and simplifying setup in Kafka IoT infrastructure.

Requires Waterstream license - you can get a development license here: https://waterstream.io/try-waterstream/⁠

If you're looking for the simplest possible evaluation - consider Waterstream Devbox⁠ which already includes ZK, Kafka, and UI MQTT client. If you need full flexibility - you're in the right place here.

Assuming that waterstream.license is in the current directory, Kafka and ZooKeeper running locally you can create required topics:

   kafka-topics --zookeeper localhost:2181 --create \
     --topic mqtt_sessions --partitions 5 --replication-factor 1 \
     --config cleanup.policy=compact \
     --config min.compaction.lag.ms=60000 --config delete.retention.ms=600000
   kafka-topics --zookeeper localhost:2181--create \
     --topic mqtt_retained_messages --partitions 5 --replication-factor 1 \
     --config cleanup.policy=compact \
     --config min.compaction.lag.ms=60000 --config delete.retention.ms=600000
   kafka-topics --zookeeper localhost:2181 --create \
     --topic mqtt_connections --partitions 5 --replication-factor 1 \
     --config cleanup.policy=delete --config retention.ms=600000
   kafka-topics --zookeeper localhost:2181 --create \
     --topic mqtt_messages --partitions 5 --replication-factor 1 \
     --config retention.ms=86400000
   kafka-topics --zookeeper localhost:2181 --create \
     --topic __waterstream_heartbeat --partitions 5 --replication-factor 1 \
     --config retention.ms=300000

and run Waterstream:

  #For x86 platform:
  IMAGE_NAME=simplematter/waterstream-kafka:latest
  #For ARM platform:
  #IMAGE_NAME=simplematter/waterstream-kafka-arm64v8:latest


  docker run -d --rm \
     -e KAFKA_BOOTSTRAP_SERVERS=PLAINTEXT://localhost:9092 \
     -e MQTT_PORT=1883 \
     -e SESSION_TOPIC=mqtt_sessions \
     -e RETAINED_MESSAGES_TOPIC=mqtt_retained_messages \
     -e CONNECTION_TOPIC=mqtt_connections \
     -e KAFKA_MESSAGES_DEFAULT_TOPIC=mqtt_messages \
     -v waterstream.license:/etc/waterstream.license:ro \
     --network host \
     --name waterstream-kafka $IMAGE_NAME

When the container is started you can connect to the port 1883 using the MQTT client - for example, CLI from Mosquitto⁠ or UI from MQTT.fx⁠.

For further information refer to the Quick Start⁠ or Docker Configuration⁠.

Support is available on http://dev.waterstream.io/⁠

Happy IoT-ing!

Tag summary

Content type

Image

Digest

sha256:204427d86…

Size

202.8 MB

Last updated

almost 2 years ago

docker pull simplematter/waterstream-kafka