aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorBryan Cutler <cutlerb@gmail.com>2017-01-11 11:57:38 -0800
committerMarcelo Vanzin <vanzin@cloudera.com>2017-01-11 11:57:38 -0800
commit3bc2eff8880a3ba8d4318118715ea1a47048e3de (patch)
treeed2191ec24974ab6866fd05fa5e62dcd7a94dfdd /docs
parentd749c06677c2fd383733337f1c00f542da122b8d (diff)
downloadspark-3bc2eff8880a3ba8d4318118715ea1a47048e3de.tar.gz
spark-3bc2eff8880a3ba8d4318118715ea1a47048e3de.tar.bz2
spark-3bc2eff8880a3ba8d4318118715ea1a47048e3de.zip
[SPARK-17568][CORE][DEPLOY] Add spark-submit option to override ivy settings used to resolve packages/artifacts
## What changes were proposed in this pull request? Adding option in spark-submit to allow overriding the default IvySettings used to resolve artifacts as part of the Spark Packages functionality. This will allow all artifact resolution to go through a central managed repository, such as Nexus or Artifactory, where site admins can better approve and control what is used with Spark apps. This change restructures the creation of the IvySettings object in two distinct ways. First, if the `spark.ivy.settings` option is not defined then `buildIvySettings` will create a default settings instance, as before, with defined repositories (Maven Central) included. Second, if the option is defined, the ivy settings file will be loaded from the given path and only repositories defined within will be used for artifact resolution. ## How was this patch tested? Existing tests for default behaviour, Manual tests that load a ivysettings.xml file with local and Nexus repositories defined. Added new test to load a simple Ivy settings file with a local filesystem resolver. Author: Bryan Cutler <cutlerb@gmail.com> Author: Ian Hummel <ian@themodernlife.net> Closes #15119 from BryanCutler/spark-custom-IvySettings.
Diffstat (limited to 'docs')
-rw-r--r--docs/configuration.md26
1 files changed, 20 insertions, 6 deletions
diff --git a/docs/configuration.md b/docs/configuration.md
index d2fdef02df..7a11a983d5 100644
--- a/docs/configuration.md
+++ b/docs/configuration.md
@@ -436,9 +436,11 @@ Apart from these, the following properties are also available, and may be useful
<td></td>
<td>
Comma-separated list of maven coordinates of jars to include on the driver and executor
- classpaths. Will search the local maven repo, then maven central and any additional remote
- repositories given by <code>spark.jars.ivy</code>. The format for the coordinates should be
- groupId:artifactId:version.
+ classpaths. The coordinates should be groupId:artifactId:version. If <code>spark.jars.ivySettings</code>
+ is given artifacts will be resolved according to the configuration in the file, otherwise artifacts
+ will be searched for in the local maven repo, then maven central and finally any additional remote
+ repositories given by the command-line option <code>--repositories</code>. For more details, see
+ <a href="submitting-applications.html#advanced-dependency-management">Advanced Dependency Management</a>.
</td>
</tr>
<tr>
@@ -453,8 +455,20 @@ Apart from these, the following properties are also available, and may be useful
<td><code>spark.jars.ivy</code></td>
<td></td>
<td>
- Comma-separated list of additional remote repositories to search for the coordinates given
- with <code>spark.jars.packages</code>.
+ Path to specify the Ivy user directory, used for the local Ivy cache and package files from
+ <code>spark.jars.packages</code>. This will override the Ivy property <code>ivy.default.ivy.user.dir</code>
+ which defaults to ~/.ivy2.
+ </td>
+</tr>
+<tr>
+ <td><code>spark.jars.ivySettings</code></td>
+ <td></td>
+ <td>
+ Path to an Ivy settings file to customize resolution of jars specified using <code>spark.jars.packages</code>
+ instead of the built-in defaults, such as maven central. Additional repositories given by the command-line
+ option <code>--repositories</code> will also be included. Useful for allowing Spark to resolve artifacts from behind
+ a firewall e.g. via an in-house artifact server like Artifactory. Details on the settings file format can be
+ found at http://ant.apache.org/ivy/history/latest-milestone/settings.html
</td>
</tr>
<tr>
@@ -1440,7 +1454,7 @@ Apart from these, the following properties are also available, and may be useful
Enables monitoring of killed / interrupted tasks. When set to true, any task which is killed
will be monitored by the executor until that task actually finishes executing. See the other
<code>spark.task.reaper.*</code> configurations for details on how to control the exact behavior
- of this monitoring</code>. When set to false (the default), task killing will use an older code
+ of this monitoring. When set to false (the default), task killing will use an older code
path which lacks such monitoring.
</td>
</tr>