From b026db7a535e7138d6337c53ded3963f50852609 Mon Sep 17 00:00:00 2001 From: Veeru Natarajan Date: Thu, 18 May 2017 15:38:47 -0700 Subject: [PATCH] Adding marathon file in case mesos uses SSL. Mesos has a bug when LIBPROCCESS_REQUIRE_CERT=true docker does not pass the certs along with request to mesos master. Mesos-3815 has the details --- README.md | 1 + src/marathon/kafka-scheduler.json | 39 +++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 src/marathon/kafka-scheduler.json diff --git a/README.md b/README.md index 5bd38fb..11380a0 100644 --- a/README.md +++ b/README.md @@ -144,6 +144,7 @@ Start the Kafka scheduler using this command: # ./kafka-mesos.sh scheduler Note: you can also use Marathon to launch the scheduler process so it gets restarted if it crashes. +Note: You might not be able to run kafka-mesos scheduler in docker if mesos uses SSL. In order to make it work, run it as an plain marathon app. With the correct environmental variables set it would work. Marathon app json file can be found [[here][https://github.com/mesos/kafka/src/marathon/] Starting and using 1 broker --------------------------- diff --git a/src/marathon/kafka-scheduler.json b/src/marathon/kafka-scheduler.json new file mode 100644 index 0000000..e37a167 --- /dev/null +++ b/src/marathon/kafka-scheduler.json @@ -0,0 +1,39 @@ +{ + "id": "/kafka-mesos-scheduler", + "cmd": "$(find jdk* -maxdepth 0 -type d)/bin/java -jar kafka-mesos-0.10.1.0-SNAPSHOT-kafka_2.11-0.10.2.0.jar scheduler --debug true --master=zk://mesos-master1:2181,mesos-master2:2181,mesos-master3:2181/mesos --zk=zk1-for-kafka:2181,zk2-for-kafka:2181,zk3-for-kafka:2181/KafkaCluster --api=http://$HOSTNAME:7000 --storage=zk:/kafkaStorage --user=kafka", + "cpus": 1, + "mem": 4096, + "disk": 1024, + "instances": 1, + "constraints": [ + [ + "AppType", + "CLUSTER", + "kafkasched" + ] + ], + "healthChecks": [ + { + "path": "/health", + "protocol": "HTTP", + "portIndex": 0, + "gracePeriodSeconds": 120, + "intervalSeconds": 60, + "timeoutSeconds": 30, + "maxConsecutiveFailures": 3, + "ignoreHttp1xx": false + } + ], + "portDefinitions": [ + { + "port": 31000, + "protocol": "tcp", + "labels": {} + } + ], + "uris": [ + "https://:443/kafka_2/kafka-mesos-0.10.1.0-SNAPSHOT-kafka_2.11-0.10.2.0.jar", + "https://:443/kafka/kafka_2.11-0.10.2.0.tgz", + "https://:443/java-store/jdk-8u45-linux-x64.tar.gz" + ] +}