-
Notifications
You must be signed in to change notification settings - Fork 140
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Adding marathon file in case mesos uses SSL. #304
base: master
Are you sure you want to change the base?
Conversation
LIBPROCCESS_REQUIRE_CERT=true docker does not pass the certs along with request to mesos master. Mesos-3815 has the details
@@ -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/] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you know what the actual bug is here? Is it something we can just fix in the scheduler?
@@ -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", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not a big fan of the hard coded jar names everywhere (esp to snapshot), I dont know really anything about marathon but is there a way to parameterize these? Or maybe just have the command discover the jar automatically?
Alternatively, maybe we should just put this whole file in /examples (which I realize doesn't exist yet).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it is possible, I can create examples directory and put it there.
], | ||
"portDefinitions": [ | ||
{ | ||
"port": 31000, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shouldn't this match the port up in the --api
flag?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It does not have to, its vestigial code from something I tried out earlier, can be and will be removed
} | ||
], | ||
"uris": [ | ||
"https://<url-of-artifact-server>:443/kafka_2/kafka-mesos-0.10.1.0-SNAPSHOT-kafka_2.11-0.10.2.0.jar", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Again as above, it'd be nice to have these all parameterized somehow, esp since the kafka-mesos version is hard-coded in two places.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agreed, Let me create example directory and make this parameterized.
Mesos has a bug even if LIBPROCCESS_REQUIRE_CERT=true
docker does not pass the certs along with request to mesos master.
Mesos-3815 has the details. The only way to get out this is to run as marathon app instead of running it in docker. Adding json file to run as marathon app.