-
Notifications
You must be signed in to change notification settings - Fork 28.9k
[SPARK-13492][MESOS] Configurable Mesos framework webui URL. #11369
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
Conversation
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.
Why expose both --webui-url and spark.mesos.dispatcher.webui.url. Isn't one sufficient?
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.
We could only take spark.mesos.dispatcher.webui.url, sure. I thought this is idiomatic in this context.
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.
The code here is a bit strange it forces you to pass the master string for example with --master flag although you can also define the master url in a file (as spark.master) with the --properties-file option.
Check here main args are parsed first and then any properties coming from a file: https://github.com/apache/spark/blob/master/core/src/main/scala/org/apache/spark/deploy/mesos/MesosClusterDispatcherArguments.scala#L33-L35
In the latter case we dont really need the --master flag yet it will fail if you dont provide it. The restriction is not there for other parameters like --zk and spark.mesos.deploy.zookeeper.url.
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.
There are a trillion ways to set configuration in Spark, half of them are deprecated, and some only work with certain entrypoint classes.
Some entrypoints, like SparkSubmit, support setting arbitrary properties in commands w/ something like --conf. MesosClusterDispatcher does not. So I say we just rely on --properties-file, rather than adding a command argument just for this one property. It's already arbitrary which properties are exposed as special command parameters, so let's not add a new one.
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, I removed the config option and will go the --properties-file route.
|
ok to test |
|
Test build #52011 has finished for PR 11369 at commit
|
e6dedd5 to
586d6de
Compare
|
Test build #52050 has finished for PR 11369 at commit
|
|
Test build #52054 has finished for PR 11369 at commit
|
docs/running-on-mesos.md
Outdated
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.
Worths to mention that properties coming from a driver submission request are propagated from here:
https://github.com/apache/spark/blob/master/core/src/main/scala/org/apache/spark/deploy/rest/mesos/MesosRestServer.scala#L87-L97
Also there are properties coming from MesosClusterScheduler's conf (initialized from MesosClusterDispatcher conf- https://github.com/apache/spark/blob/master/core/src/main/scala/org/apache/spark/deploy/mesos/MesosClusterDispatcher.scala#L62):
eg. spark.mesos.uris at
https://github.com/apache/spark/blob/master/core/src/main/scala/org/apache/spark/scheduler/cluster/mesos/MesosClusterScheduler.scala#L407
Both of these sets of properties seem to merge to form the final set of driver's spark properties IMHO these should be isolated or clarified into the docs the concept seems complicated.
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.
Yes, it is complicated and opaque. A JIRA for this problem is welcome.
|
@s-urbaniak You need to fix the scala style error: |
|
Test build #52067 has finished for PR 11369 at commit
|
|
Test build #52181 has finished for PR 11369 at commit
|
|
Test build #52184 has finished for PR 11369 at commit
|
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.
What was the problem with the /?
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.
After discussing with @s-urbaniak directly, I see it's a bug where the link doesn't work when application proxy is set.
|
@s-urbaniak I think we should keep the existing -p since users might actually depend on it. Otherwise this patch LGTM. @dragos you want to take a look? |
|
LGTM. |
|
@andrewor14 this LGTM to me and @dragos , can you take a look? |
Previously the Mesos framework webui URL was being derived only from the Spark UI address leaving no possibility to configure it. This commit makes it configurable. If unset it falls back to the previous behavior.
fa8570d to
46ea0ab
Compare
|
Test build #52742 has finished for PR 11369 at commit
|
|
Merging into master. |
Previously the Mesos framework webui URL was being derived only from the Spark UI address leaving no possibility to configure it. This commit makes it configurable. If unset it falls back to the previous behavior. Motivation: This change is necessary in order to be able to install Spark on DCOS and to be able to give it a custom service link. The configured `webui_url` is configured to point to a reverse proxy in the DCOS environment. Locally, using unit tests and on DCOS testing and stable revision. Author: Sergiusz Urbaniak <[email protected]> Closes apache#11369 from s-urbaniak/sur-webui-url. Conflicts: core/src/test/scala/org/apache/spark/scheduler/cluster/mesos/MesosSchedulerBackendSuite.scala
Previously the Mesos framework webui URL was being derived only from the Spark UI address leaving no possibility to configure it. This commit makes it configurable. If unset it falls back to the previous behavior. Motivation: This change is necessary in order to be able to install Spark on DCOS and to be able to give it a custom service link. The configured `webui_url` is configured to point to a reverse proxy in the DCOS environment. Locally, using unit tests and on DCOS testing and stable revision. Author: Sergiusz Urbaniak <[email protected]> Closes apache#11369 from s-urbaniak/sur-webui-url. Conflicts: core/src/test/scala/org/apache/spark/scheduler/cluster/mesos/MesosSchedulerBackendSuite.scala
## What changes were proposed in this pull request? Previously the Mesos framework webui URL was being derived only from the Spark UI address leaving no possibility to configure it. This commit makes it configurable. If unset it falls back to the previous behavior. Motivation: This change is necessary in order to be able to install Spark on DCOS and to be able to give it a custom service link. The configured `webui_url` is configured to point to a reverse proxy in the DCOS environment. ## How was this patch tested? Locally, using unit tests and on DCOS testing and stable revision. Author: Sergiusz Urbaniak <[email protected]> Closes apache#11369 from s-urbaniak/sur-webui-url.
Previously the Mesos framework webui URL was being derived only from the Spark UI address leaving no possibility to configure it. This commit makes it configurable. If unset it falls back to the previous behavior. Motivation: This change is necessary in order to be able to install Spark on DCOS and to be able to give it a custom service link. The configured `webui_url` is configured to point to a reverse proxy in the DCOS environment. Locally, using unit tests and on DCOS testing and stable revision. Author: Sergiusz Urbaniak <[email protected]> Closes apache#11369 from s-urbaniak/sur-webui-url. Conflicts: core/src/test/scala/org/apache/spark/scheduler/cluster/mesos/MesosSchedulerBackendSuite.scala
Previously the Mesos framework webui URL was being derived only from the Spark UI address leaving no possibility to configure it. This commit makes it configurable. If unset it falls back to the previous behavior. Motivation: This change is necessary in order to be able to install Spark on DCOS and to be able to give it a custom service link. The configured `webui_url` is configured to point to a reverse proxy in the DCOS environment. Locally, using unit tests and on DCOS testing and stable revision. Author: Sergiusz Urbaniak <[email protected]> Closes apache#11369 from s-urbaniak/sur-webui-url. Conflicts: core/src/test/scala/org/apache/spark/scheduler/cluster/mesos/MesosSchedulerBackendSuite.scala
Previously the Mesos framework webui URL was being derived only from the Spark UI address leaving no possibility to configure it. This commit makes it configurable. If unset it falls back to the previous behavior. Motivation: This change is necessary in order to be able to install Spark on DCOS and to be able to give it a custom service link. The configured `webui_url` is configured to point to a reverse proxy in the DCOS environment. Locally, using unit tests and on DCOS testing and stable revision. Author: Sergiusz Urbaniak <[email protected]> Closes apache#11369 from s-urbaniak/sur-webui-url. Conflicts: core/src/test/scala/org/apache/spark/scheduler/cluster/mesos/MesosSchedulerBackendSuite.scala
What changes were proposed in this pull request?
Previously the Mesos framework webui URL was being derived only from the Spark UI address leaving no possibility to configure it. This commit makes it configurable. If unset it falls back to the previous behavior.
Motivation:
This change is necessary in order to be able to install Spark on DCOS and to be able to give it a custom service link. The configured
webui_urlis configured to point to a reverse proxy in the DCOS environment.How was this patch tested?
Locally, using unit tests and on DCOS testing and stable revision.