This is a kafka framework for mesos
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Andreas Peters 04298ead2b Merge branch 'dev' of AVENTER/go-mesos-framework-kafka into master 1 month ago
.github fix funding 8 months ago
api add suppress and revive 5 months ago
mesos add persistent storage support 1 month ago
proto first commit 10 months ago
types add persistent storage support 1 month ago
.gitignore update readme 5 months ago
LICENSE first commit 10 months ago
README.md fix spell 1 month ago
app.go add persistent storage support 1 month ago
changelog.md add image env for zookeeper and kafka 2 months ago
init.go add persistent storage support 1 month ago
kafka_mesos.gif wait until all zookeepers are running 8 months ago
kafka_mesos1.gif add container monitor 8 months ago

README.md

go-mesos-framework-kafka

Donate Support Chat

Dies ist ein Kafka Framework für Apache Mesos

Voraussetzung

Dieses Framework ist aktuell so erstellt, dass es MESOS mit SSL Verschlüsselung und Authentication benötigt.

Framework starten


export FRAMEWORK_USER="root"
export FRAMEWORK_NAME="kafkaframework"
export FRAMEWORK_PORT="10000"
export FRAMEWORK_ROLE="kafka"
export FRAMEWORK_STATEFILE_PATH="/tmp"
export MESOS_PRINCIPAL="<mesos_principal>"
export MESOS_USERNAME="<mesos_user>"
export MESOS_PASSWORD="<mesos_password>"
export MESOS_MASTER="<mesos_master_server>:5050"
export LOGLEVEL="DEBUG"
export DOMAIN="weave.local"
export ZOOKEEPER_COUNT=1
export KAFKA_COUNT=3
export RES_CPU=0.1
export RES_MEM=3200
export AUTH_PASSWORD="password"
export AUTH_USERNAME="user"
export MESOS_SSL="true"
export ZOOKEEPER_CUSTOM_DOMAIN=""
export KAFKA_CUSTOM_DOMAIN=""
export IMAGE_KAFKA="confluentinc/cp-kafka:5.4.1"
export IMAGE_ZOOKEEPER="zookeeper:3.5.7"
export VOLUME_DRIVER="local"
export VOLUME_KAFKA="/data/kafka"
export VOLUME_ZOOKEEPER="/data/zookeeper"

go run init.go app.go

Dies startet das Framework. Es wird sich an den Mesos Master anmelden. Nach wenigen Sekunden kann man “kafkaframework” als Eintrag in der Mesos UI sehen. Sobald das Framework erfolgreich gestartet wurde, startet es Zookeeper. Ist Zookeeper erfolgreich gestartet, werden die Kafka Container gestartet.

Kafka Framework in Mesos

Faellt ein Container aus, wird dieser neugestartet.

Kafka Framework in Mesos

Task Status Abfragen

Um den Status eines Tasks über das Framework abzufragen, folgendes Kommando verwenden:

curl -X GET 127.0.0.1:10000/v0/container/<taskId> -d 'JSON'  | jq

Fehlende Kafka oder Zookeeper Starten

Sollte aus bestimmten Gründen der Healthcheck Status im Framework nicht mit der Realität übereinstimmen, kann über den nachfolgenden Aufruf erzwungen werden die fehlenden Container zu starten.

curl -X GET 127.0.0.1:10000/v0/<kafka|zookeeper>/reflate -d 'JSON'

Kafka oder Zookeeper skalieren

Um Kafka oder Zookeeper im Betrieb zu skalieren, wird dem Framework die zu laufende Anzahl an Containern angegeben. Soll der Zookeeper also drei mal laufen, muss als eine “3” angegeben werden. Beim Scaledown wird der zuletzt hinzugefügte Container entfernt.

curl -X GET 127.0.0.1:10000/v0/<kafka|zookeeper>/scale/<count> -d 'JSON'

Task killen

Sollte es notwendig sein einen Task zu benden, erfolgt dies mit dem nachfolgenden aufruf. Der beendete Container wird nicht automatisch neu gestartet.

curl -X GET 127.0.0.1:10000/v0/task/kill/<taskId> -d 'JSON'