This is an automated email from the ASF dual-hosted git repository. epugh pushed a commit to branch branch_9x in repository https://gitbox.apache.org/repos/asf/solr.git
commit 9a7eca896a24a7927718f83dc06594c277689288 Author: Eric Pugh <[email protected]> AuthorDate: Tue Oct 8 09:23:11 2024 -0400 SOLR-17470: CLI resolve -s (#2743) The -s parameter now only means "provide a solr url" through out all of our most widely used Solr CLI scripts. --------- Co-authored-by: Christos Malliaridis <[email protected]> (cherry picked from commit 8d7edeb335c0e00ccc52d55ca421df6062195bc5) --- dev-tools/scripts/cloud.sh | 2 +- solr/bin/solr | 4 +- solr/bin/solr.cmd | 4 +- .../src/java/org/apache/solr/cli/AssertTool.java | 41 ++++++++++++--- .../src/java/org/apache/solr/cli/AuthTool.java | 1 + .../org/apache/solr/cli/ConfigSetDownloadTool.java | 1 + .../org/apache/solr/cli/ConfigSetUploadTool.java | 1 + .../src/java/org/apache/solr/cli/ConfigTool.java | 1 + .../src/java/org/apache/solr/cli/CreateTool.java | 1 + .../src/java/org/apache/solr/cli/DeleteTool.java | 1 + .../java/org/apache/solr/cli/HealthcheckTool.java | 1 + .../src/java/org/apache/solr/cli/PackageTool.java | 1 + .../java/org/apache/solr/cli/RunExampleTool.java | 4 +- .../org/apache/solr/cli/SnapshotCreateTool.java | 1 + .../org/apache/solr/cli/SnapshotDeleteTool.java | 1 + .../org/apache/solr/cli/SnapshotDescribeTool.java | 1 + .../org/apache/solr/cli/SnapshotExportTool.java | 1 + .../java/org/apache/solr/cli/SnapshotListTool.java | 1 + .../core/src/java/org/apache/solr/cli/SolrCLI.java | 31 ++++++++++-- .../src/java/org/apache/solr/cli/ZkCpTool.java | 1 + .../src/java/org/apache/solr/cli/ZkLsTool.java | 1 + .../src/java/org/apache/solr/cli/ZkMkrootTool.java | 1 + .../src/java/org/apache/solr/cli/ZkMvTool.java | 1 + .../src/java/org/apache/solr/cli/ZkRmTool.java | 1 + .../org/apache/solr/cli/TestSolrCLIRunExample.java | 6 +-- solr/packaging/test/test_assert.bats | 58 ++++++++++++++++++++++ solr/prometheus-exporter/bin/solr-exporter | 2 +- solr/prometheus-exporter/bin/solr-exporter.cmd | 2 +- .../solr/prometheus/exporter/SolrExporter.java | 30 ++++++++++- .../deployment-guide/pages/enabling-ssl.adoc | 4 +- .../monitoring-with-prometheus-and-grafana.adoc | 2 +- .../pages/solr-control-script-reference.adoc | 38 +++++++------- .../getting-started/pages/tutorial-films.adoc | 10 ++-- .../getting-started/pages/tutorial-solrcloud.adoc | 12 ++--- .../pages/tutorial-techproducts.adoc | 4 +- 35 files changed, 213 insertions(+), 59 deletions(-) diff --git a/dev-tools/scripts/cloud.sh b/dev-tools/scripts/cloud.sh index d5d03bb0e58..4148c276210 100755 --- a/dev-tools/scripts/cloud.sh +++ b/dev-tools/scripts/cloud.sh @@ -335,7 +335,7 @@ start(){ echo "Final NUM_NODES is $NUM_NODES" for i in `seq 1 $NUM_NODES`; do mkdir -p "${CLUSTER_WD}/n${i}" - argsArray=(-c -s $CLUSTER_WD_FULL/n${i} -z localhost:${ZK_PORT}/solr_${SAFE_DEST} -p 898${i} -m $MEMORY \ + argsArray=(-c --solr-home $CLUSTER_WD_FULL/n${i} -z localhost:${ZK_PORT}/solr_${SAFE_DEST} -p 898${i} -m $MEMORY \ -a "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=500${i} \ -Dsolr.solrxml.location=zookeeper -Dsolr.log.dir=$CLUSTER_WD_FULL/n${i} $JVM_ARGS") FINAL_COMMAND="${SOLR}/bin/solr ${argsArray[@]}" diff --git a/solr/bin/solr b/solr/bin/solr index 5ef48802c45..2603aaf09c0 100755 --- a/solr/bin/solr +++ b/solr/bin/solr @@ -385,7 +385,7 @@ function print_usage() { echo "" elif [[ "$CMD" == "start" || "$CMD" == "restart" ]]; then echo "" - echo "Usage: solr $CMD [-f] [-c] [--host host] [-p port] [-d directory] [-z zkHost] [-m memory] [-e example] [-s solr.solr.home] [-t solr.data.home] [--jvm-opts \"jvm-opts\"] [-V]" + echo "Usage: solr $CMD [-f] [-c] [--host host] [-p port] [-d directory] [-z zkHost] [-m memory] [-e example] [--solr-home solr.solr.home] [-t solr.data.home] [--jvm-opts \"jvm-opts\"] [-V]" echo "" echo " -f Start Solr in foreground; default starts Solr in the background" echo " and sends stdout / stderr to solr-PORT-console.log" @@ -411,7 +411,7 @@ function print_usage() { echo " -m/--memory <memory> Sets the min (-Xms) and max (-Xmx) heap size for the JVM, such as: -m 4g" echo " results in: -Xms4g -Xmx4g; by default, this script sets the heap size to 512m" echo "" - echo " -s <dir> Sets the solr.solr.home system property; Solr will create core directories under" + echo " --solr-home <dir> Sets the solr.solr.home system property; Solr will create core directories under" echo " this directory. This allows you to run multiple Solr instances on the same host" echo " while reusing the same server directory set using the -d parameter. If set, the" echo " specified directory should contain a solr.xml file, unless solr.xml exists in Zookeeper." diff --git a/solr/bin/solr.cmd b/solr/bin/solr.cmd index c138c8531fc..843e4abc52d 100755 --- a/solr/bin/solr.cmd +++ b/solr/bin/solr.cmd @@ -345,7 +345,7 @@ goto done :start_usage @echo. -@echo Usage: solr %SCRIPT_CMD% [-f] [-c] [--host hostname] [-p port] [-d directory] [-z zkHost] [-m memory] [-e example] [-s solr.solr.home] [-t solr.data.home] [--jvm-opts "jvm-opts"] [-V] +@echo Usage: solr %SCRIPT_CMD% [-f] [-c] [--host hostname] [-p port] [-d directory] [-z zkHost] [-m memory] [-e example] [--solr-home solr.solr.home] [-t solr.data.home] [--jvm-opts "jvm-opts"] [-V] @echo. @echo -f Start Solr in foreground; default starts Solr in the background @echo and sends stdout / stderr to solr-PORT-console.log @@ -371,7 +371,7 @@ goto done @echo -m memory Sets the min (-Xms) and max (-Xmx) heap size for the JVM, such as: -m 4g @echo results in: -Xms4g -Xmx4g; by default, this script sets the heap size to 512m @echo. -@echo -s dir Sets the solr.solr.home system property; Solr will create core directories under +@echo --solr.home dir Sets the solr.solr.home system property; Solr will create core directories under @echo this directory. This allows you to run multiple Solr instances on the same host @echo while reusing the same server directory set using the -d parameter. If set, the @echo specified directory should contain a solr.xml file, unless solr.xml exists in Zookeeper. diff --git a/solr/core/src/java/org/apache/solr/cli/AssertTool.java b/solr/core/src/java/org/apache/solr/cli/AssertTool.java index e00410a7060..b06fee91b24 100644 --- a/solr/core/src/java/org/apache/solr/cli/AssertTool.java +++ b/solr/core/src/java/org/apache/solr/cli/AssertTool.java @@ -27,6 +27,7 @@ import java.util.List; import java.util.concurrent.TimeUnit; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.HelpFormatter; +import org.apache.commons.cli.DeprecatedAttributes; import org.apache.commons.cli.Option; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.SolrRequest; @@ -67,18 +68,40 @@ public class AssertTool extends ToolBase { .longOpt("not-root") .build(), Option.builder("r").desc("Asserts that we are the root user.").longOpt("root").build(), - Option.builder("S") + Option.builder() .desc("Asserts that Solr is NOT running on a certain URL. Default timeout is 1000ms.") .longOpt("not-started") .hasArg(true) .argName("url") .build(), - Option.builder("s") + Option.builder("S") + .desc("Asserts that Solr is NOT running on a certain URL. Default timeout is 1000ms.") + .deprecated( + DeprecatedAttributes.builder() + .setForRemoval(true) + .setSince("9.8") + .setDescription("Use --not-started instead") + .get()) + .hasArg(true) + .argName("url") + .build(), + Option.builder() .desc("Asserts that Solr is running on a certain URL. Default timeout is 1000ms.") .longOpt("started") .hasArg(true) .argName("url") .build(), + Option.builder("s") + .desc("Asserts that Solr is running on a certain URL. Default timeout is 1000ms.") + .deprecated( + DeprecatedAttributes.builder() + .setForRemoval(true) + .setSince("9.8") + .setDescription("Use --started instead") + .get()) + .hasArg(true) + .argName("url") + .build(), Option.builder() .desc("Asserts that we run as same user that owns <directory>.") .longOpt("same-user") @@ -209,11 +232,17 @@ public class AssertTool extends ToolBase { if (cli.hasOption("same-user")) { ret += sameUser(cli.getOptionValue("same-user")); } - if (cli.hasOption("s")) { - ret += assertSolrRunning(cli.getOptionValue("s")); + if (cli.hasOption("s") || cli.hasOption("started")) { + ret += + assertSolrRunning( + SolrCLI.getOptionWithDeprecatedAndDefault(cli, "started", "s", null), + cli.getOptionValue(SolrCLI.OPTION_CREDENTIALS.getLongOpt())); } - if (cli.hasOption("S")) { - ret += assertSolrNotRunning(cli.getOptionValue("S")); + if (cli.hasOption("S") || cli.hasOption("not-started")) { + ret += + assertSolrNotRunning( + SolrCLI.getOptionWithDeprecatedAndDefault(cli, "not-started", "S", null), + cli.getOptionValue(SolrCLI.OPTION_CREDENTIALS.getLongOpt())); } if (cli.hasOption("c")) { ret += assertSolrRunningInCloudMode(cli.getOptionValue("c")); diff --git a/solr/core/src/java/org/apache/solr/cli/AuthTool.java b/solr/core/src/java/org/apache/solr/cli/AuthTool.java index 5da9f4d5a69..8d92cef2cdf 100644 --- a/solr/core/src/java/org/apache/solr/cli/AuthTool.java +++ b/solr/core/src/java/org/apache/solr/cli/AuthTool.java @@ -262,6 +262,7 @@ public class AuthTool extends ToolBase { .build(), SolrCLI.OPTION_SOLRURL, SolrCLI.OPTION_SOLRURL_DEPRECATED, + SolrCLI.OPTION_SOLRURL_DEPRECATED_SHORT, SolrCLI.OPTION_ZKHOST, SolrCLI.OPTION_ZKHOST_DEPRECATED, SolrCLI.OPTION_CREDENTIALS, diff --git a/solr/core/src/java/org/apache/solr/cli/ConfigSetDownloadTool.java b/solr/core/src/java/org/apache/solr/cli/ConfigSetDownloadTool.java index e73bd6679b1..6cd1ba57c1f 100644 --- a/solr/core/src/java/org/apache/solr/cli/ConfigSetDownloadTool.java +++ b/solr/core/src/java/org/apache/solr/cli/ConfigSetDownloadTool.java @@ -85,6 +85,7 @@ public class ConfigSetDownloadTool extends ToolBase { .build(), SolrCLI.OPTION_SOLRURL, SolrCLI.OPTION_SOLRURL_DEPRECATED, + SolrCLI.OPTION_SOLRURL_DEPRECATED_SHORT, SolrCLI.OPTION_ZKHOST, SolrCLI.OPTION_ZKHOST_DEPRECATED); } diff --git a/solr/core/src/java/org/apache/solr/cli/ConfigSetUploadTool.java b/solr/core/src/java/org/apache/solr/cli/ConfigSetUploadTool.java index 6cfb35ee3cc..d9e5ae5dd24 100644 --- a/solr/core/src/java/org/apache/solr/cli/ConfigSetUploadTool.java +++ b/solr/core/src/java/org/apache/solr/cli/ConfigSetUploadTool.java @@ -87,6 +87,7 @@ public class ConfigSetUploadTool extends ToolBase { .build(), SolrCLI.OPTION_SOLRURL, SolrCLI.OPTION_SOLRURL_DEPRECATED, + SolrCLI.OPTION_SOLRURL_DEPRECATED_SHORT, SolrCLI.OPTION_ZKHOST, SolrCLI.OPTION_ZKHOST_DEPRECATED); } diff --git a/solr/core/src/java/org/apache/solr/cli/ConfigTool.java b/solr/core/src/java/org/apache/solr/cli/ConfigTool.java index b0e9e50022f..f35538b9ae7 100644 --- a/solr/core/src/java/org/apache/solr/cli/ConfigTool.java +++ b/solr/core/src/java/org/apache/solr/cli/ConfigTool.java @@ -108,6 +108,7 @@ public class ConfigTool extends ToolBase { .build(), SolrCLI.OPTION_SOLRURL, SolrCLI.OPTION_SOLRURL_DEPRECATED, + SolrCLI.OPTION_SOLRURL_DEPRECATED_SHORT, SolrCLI.OPTION_ZKHOST, SolrCLI.OPTION_ZKHOST_DEPRECATED); } diff --git a/solr/core/src/java/org/apache/solr/cli/CreateTool.java b/solr/core/src/java/org/apache/solr/cli/CreateTool.java index 50642b5f4e9..69313dc0a8b 100644 --- a/solr/core/src/java/org/apache/solr/cli/CreateTool.java +++ b/solr/core/src/java/org/apache/solr/cli/CreateTool.java @@ -172,6 +172,7 @@ public class CreateTool extends ToolBase { .build(), SolrCLI.OPTION_SOLRURL, SolrCLI.OPTION_SOLRURL_DEPRECATED, + SolrCLI.OPTION_SOLRURL_DEPRECATED_SHORT, SolrCLI.OPTION_ZKHOST, SolrCLI.OPTION_ZKHOST_DEPRECATED, SolrCLI.OPTION_VERBOSE_DEPRECATED); diff --git a/solr/core/src/java/org/apache/solr/cli/DeleteTool.java b/solr/core/src/java/org/apache/solr/cli/DeleteTool.java index 1202ca79888..98c97356a18 100644 --- a/solr/core/src/java/org/apache/solr/cli/DeleteTool.java +++ b/solr/core/src/java/org/apache/solr/cli/DeleteTool.java @@ -149,6 +149,7 @@ public class DeleteTool extends ToolBase { .build(), SolrCLI.OPTION_SOLRURL, SolrCLI.OPTION_SOLRURL_DEPRECATED, + SolrCLI.OPTION_SOLRURL_DEPRECATED_SHORT, SolrCLI.OPTION_ZKHOST, SolrCLI.OPTION_ZKHOST_DEPRECATED, SolrCLI.OPTION_VERBOSE_DEPRECATED); diff --git a/solr/core/src/java/org/apache/solr/cli/HealthcheckTool.java b/solr/core/src/java/org/apache/solr/cli/HealthcheckTool.java index 5aae8f6677c..19788f82f8b 100644 --- a/solr/core/src/java/org/apache/solr/cli/HealthcheckTool.java +++ b/solr/core/src/java/org/apache/solr/cli/HealthcheckTool.java @@ -66,6 +66,7 @@ public class HealthcheckTool extends ToolBase { .build(), SolrCLI.OPTION_SOLRURL, SolrCLI.OPTION_SOLRURL_DEPRECATED, + SolrCLI.OPTION_SOLRURL_DEPRECATED_SHORT, SolrCLI.OPTION_ZKHOST, SolrCLI.OPTION_ZKHOST_DEPRECATED); } diff --git a/solr/core/src/java/org/apache/solr/cli/PackageTool.java b/solr/core/src/java/org/apache/solr/cli/PackageTool.java index cbb5d7dc8c8..875f990594e 100644 --- a/solr/core/src/java/org/apache/solr/cli/PackageTool.java +++ b/solr/core/src/java/org/apache/solr/cli/PackageTool.java @@ -377,6 +377,7 @@ public class PackageTool extends ToolBase { .build(), SolrCLI.OPTION_SOLRURL, SolrCLI.OPTION_SOLRURL_DEPRECATED, + SolrCLI.OPTION_SOLRURL_DEPRECATED_SHORT, SolrCLI.OPTION_ZKHOST, SolrCLI.OPTION_ZKHOST_DEPRECATED); } diff --git a/solr/core/src/java/org/apache/solr/cli/RunExampleTool.java b/solr/core/src/java/org/apache/solr/cli/RunExampleTool.java index 7db67cbbd69..db2b9042152 100644 --- a/solr/core/src/java/org/apache/solr/cli/RunExampleTool.java +++ b/solr/core/src/java/org/apache/solr/cli/RunExampleTool.java @@ -114,7 +114,7 @@ public class RunExampleTool extends ToolBase { .required(true) .desc("Name of the example to launch, one of: cloud, techproducts, schemaless, films.") .build(), - Option.builder("s") + Option.builder() .longOpt("script") .hasArg() .argName("PATH") @@ -624,7 +624,7 @@ public class RunExampleTool extends ToolBase { String startCmd = String.format( Locale.ROOT, - "\"%s\" start %s -p %d -s \"%s\" %s %s %s %s %s %s %s", + "\"%s\" start %s -p %d --solr-home \"%s\" %s %s %s %s %s %s %s", callScript, cloudModeArg, port, diff --git a/solr/core/src/java/org/apache/solr/cli/SnapshotCreateTool.java b/solr/core/src/java/org/apache/solr/cli/SnapshotCreateTool.java index d80dfbc61ea..11ff8a205e3 100644 --- a/solr/core/src/java/org/apache/solr/cli/SnapshotCreateTool.java +++ b/solr/core/src/java/org/apache/solr/cli/SnapshotCreateTool.java @@ -45,6 +45,7 @@ public class SnapshotCreateTool extends ToolBase { return List.of( SolrCLI.OPTION_ZKHOST, SolrCLI.OPTION_SOLRURL, + SolrCLI.OPTION_SOLRURL_DEPRECATED_SHORT, Option.builder("c") .longOpt("name") .argName("NAME") diff --git a/solr/core/src/java/org/apache/solr/cli/SnapshotDeleteTool.java b/solr/core/src/java/org/apache/solr/cli/SnapshotDeleteTool.java index d172391183e..8529a35d2f0 100644 --- a/solr/core/src/java/org/apache/solr/cli/SnapshotDeleteTool.java +++ b/solr/core/src/java/org/apache/solr/cli/SnapshotDeleteTool.java @@ -45,6 +45,7 @@ public class SnapshotDeleteTool extends ToolBase { return List.of( SolrCLI.OPTION_ZKHOST, SolrCLI.OPTION_SOLRURL, + SolrCLI.OPTION_SOLRURL_DEPRECATED_SHORT, Option.builder("c") .longOpt("name") .argName("NAME") diff --git a/solr/core/src/java/org/apache/solr/cli/SnapshotDescribeTool.java b/solr/core/src/java/org/apache/solr/cli/SnapshotDescribeTool.java index a007b75f075..b8673a6579a 100644 --- a/solr/core/src/java/org/apache/solr/cli/SnapshotDescribeTool.java +++ b/solr/core/src/java/org/apache/solr/cli/SnapshotDescribeTool.java @@ -58,6 +58,7 @@ public class SnapshotDescribeTool extends ToolBase { return List.of( SolrCLI.OPTION_ZKHOST, SolrCLI.OPTION_SOLRURL, + SolrCLI.OPTION_SOLRURL_DEPRECATED_SHORT, Option.builder("c") .longOpt("name") .argName("NAME") diff --git a/solr/core/src/java/org/apache/solr/cli/SnapshotExportTool.java b/solr/core/src/java/org/apache/solr/cli/SnapshotExportTool.java index 066f980b4d0..c7a1578ca5e 100644 --- a/solr/core/src/java/org/apache/solr/cli/SnapshotExportTool.java +++ b/solr/core/src/java/org/apache/solr/cli/SnapshotExportTool.java @@ -46,6 +46,7 @@ public class SnapshotExportTool extends ToolBase { return List.of( SolrCLI.OPTION_ZKHOST, SolrCLI.OPTION_SOLRURL, + SolrCLI.OPTION_SOLRURL_DEPRECATED_SHORT, Option.builder("c") .longOpt("name") .argName("NAME") diff --git a/solr/core/src/java/org/apache/solr/cli/SnapshotListTool.java b/solr/core/src/java/org/apache/solr/cli/SnapshotListTool.java index a1db955b0c0..5ccaf6d6cc5 100644 --- a/solr/core/src/java/org/apache/solr/cli/SnapshotListTool.java +++ b/solr/core/src/java/org/apache/solr/cli/SnapshotListTool.java @@ -47,6 +47,7 @@ public class SnapshotListTool extends ToolBase { return List.of( SolrCLI.OPTION_ZKHOST, SolrCLI.OPTION_SOLRURL, + SolrCLI.OPTION_SOLRURL_DEPRECATED_SHORT, Option.builder("c") .longOpt("name") .argName("NAME") diff --git a/solr/core/src/java/org/apache/solr/cli/SolrCLI.java b/solr/core/src/java/org/apache/solr/cli/SolrCLI.java index 8c39ee1664c..50444c0cf44 100755 --- a/solr/core/src/java/org/apache/solr/cli/SolrCLI.java +++ b/solr/core/src/java/org/apache/solr/cli/SolrCLI.java @@ -135,7 +135,7 @@ public class SolrCLI implements CLIO { + '.') .build(); public static final Option OPTION_SOLRURL = - Option.builder("url") + Option.builder("s") .longOpt("solr-url") .argName("HOST") .hasArg() @@ -145,6 +145,22 @@ public class SolrCLI implements CLIO { + getDefaultSolrUrl() + '.') .build(); + public static final Option OPTION_SOLRURL_DEPRECATED_SHORT = + Option.builder("url") + .argName("HOST") + .hasArg() + .required(false) + .deprecated( + DeprecatedAttributes.builder() + .setForRemoval(true) + .setSince("9.7") + .setDescription("Use -s instead") + .get()) + .desc( + "Base Solr URL, which can be used to determine the zk-host if that's not known; defaults to: " + + getDefaultSolrUrl() + + '.') + .build(); public static final Option OPTION_VERBOSE = Option.builder() @@ -419,7 +435,7 @@ public class SolrCLI implements CLIO { return val == null ? def : val; } - // TODO: SOLR-17429 - remove the custom logic when CommonsCLI is upgraded and + // TODO: SOLR-17429 - remove the custom logic when Commons CLI is upgraded and // makes stderr the default, or makes Option.toDeprecatedString() public. private static void deprecatedHandlerStdErr(Option o) { if (o.isDeprecated()) { @@ -735,8 +751,15 @@ public class SolrCLI implements CLIO { * ZooKeeper. */ public static String normalizeSolrUrl(CommandLine cli) throws Exception { - String solrUrl = - cli.hasOption("solr-url") ? cli.getOptionValue("solr-url") : cli.getOptionValue("solrUrl"); + String solrUrl = null; + if (cli.hasOption("solr-url")) { + solrUrl = cli.getOptionValue("solr-url"); + } else if (cli.hasOption("solrUrl")) { + solrUrl = cli.getOptionValue("solrUrl"); + } else if (cli.hasOption("url")) { + solrUrl = cli.getOptionValue("url"); + } + if (solrUrl == null) { String zkHost = cli.hasOption("zk-host") ? cli.getOptionValue("zk-host") : cli.getOptionValue("zkHost"); diff --git a/solr/core/src/java/org/apache/solr/cli/ZkCpTool.java b/solr/core/src/java/org/apache/solr/cli/ZkCpTool.java index 16819d79786..58122a13331 100644 --- a/solr/core/src/java/org/apache/solr/cli/ZkCpTool.java +++ b/solr/core/src/java/org/apache/solr/cli/ZkCpTool.java @@ -64,6 +64,7 @@ public class ZkCpTool extends ToolBase { SolrCLI.OPTION_RECURSE, SolrCLI.OPTION_SOLRURL, SolrCLI.OPTION_SOLRURL_DEPRECATED, + SolrCLI.OPTION_SOLRURL_DEPRECATED_SHORT, SolrCLI.OPTION_ZKHOST, SolrCLI.OPTION_ZKHOST_DEPRECATED); } diff --git a/solr/core/src/java/org/apache/solr/cli/ZkLsTool.java b/solr/core/src/java/org/apache/solr/cli/ZkLsTool.java index d911e005465..e981d126d79 100644 --- a/solr/core/src/java/org/apache/solr/cli/ZkLsTool.java +++ b/solr/core/src/java/org/apache/solr/cli/ZkLsTool.java @@ -42,6 +42,7 @@ public class ZkLsTool extends ToolBase { SolrCLI.OPTION_RECURSE, SolrCLI.OPTION_SOLRURL, SolrCLI.OPTION_SOLRURL_DEPRECATED, + SolrCLI.OPTION_SOLRURL_DEPRECATED_SHORT, SolrCLI.OPTION_ZKHOST, SolrCLI.OPTION_ZKHOST_DEPRECATED); } diff --git a/solr/core/src/java/org/apache/solr/cli/ZkMkrootTool.java b/solr/core/src/java/org/apache/solr/cli/ZkMkrootTool.java index 0176715df64..be82c20161e 100644 --- a/solr/core/src/java/org/apache/solr/cli/ZkMkrootTool.java +++ b/solr/core/src/java/org/apache/solr/cli/ZkMkrootTool.java @@ -49,6 +49,7 @@ public class ZkMkrootTool extends ToolBase { .build(), SolrCLI.OPTION_SOLRURL, SolrCLI.OPTION_SOLRURL_DEPRECATED, + SolrCLI.OPTION_SOLRURL_DEPRECATED_SHORT, SolrCLI.OPTION_ZKHOST, SolrCLI.OPTION_ZKHOST_DEPRECATED); } diff --git a/solr/core/src/java/org/apache/solr/cli/ZkMvTool.java b/solr/core/src/java/org/apache/solr/cli/ZkMvTool.java index 679aaf00973..f47c445fed0 100644 --- a/solr/core/src/java/org/apache/solr/cli/ZkMvTool.java +++ b/solr/core/src/java/org/apache/solr/cli/ZkMvTool.java @@ -45,6 +45,7 @@ public class ZkMvTool extends ToolBase { return List.of( SolrCLI.OPTION_SOLRURL, SolrCLI.OPTION_SOLRURL_DEPRECATED, + SolrCLI.OPTION_SOLRURL_DEPRECATED_SHORT, SolrCLI.OPTION_ZKHOST, SolrCLI.OPTION_ZKHOST_DEPRECATED); } diff --git a/solr/core/src/java/org/apache/solr/cli/ZkRmTool.java b/solr/core/src/java/org/apache/solr/cli/ZkRmTool.java index a2058d6942f..da27d5b72cd 100644 --- a/solr/core/src/java/org/apache/solr/cli/ZkRmTool.java +++ b/solr/core/src/java/org/apache/solr/cli/ZkRmTool.java @@ -44,6 +44,7 @@ public class ZkRmTool extends ToolBase { SolrCLI.OPTION_RECURSE, SolrCLI.OPTION_SOLRURL, SolrCLI.OPTION_SOLRURL_DEPRECATED, + SolrCLI.OPTION_SOLRURL_DEPRECATED_SHORT, SolrCLI.OPTION_ZKHOST, SolrCLI.OPTION_ZKHOST_DEPRECATED); } diff --git a/solr/core/src/test/org/apache/solr/cli/TestSolrCLIRunExample.java b/solr/core/src/test/org/apache/solr/cli/TestSolrCLIRunExample.java index 57fdc51a722..d17bf8fea36 100644 --- a/solr/core/src/test/org/apache/solr/cli/TestSolrCLIRunExample.java +++ b/solr/core/src/test/org/apache/solr/cli/TestSolrCLIRunExample.java @@ -119,7 +119,7 @@ public class TestSolrCLIRunExample extends SolrTestCaseJ4 { return startStandaloneSolr(args); } - String solrHomeDir = getArg("-s", args); + String solrHomeDir = getArg("--solr-home", args); int port = Integer.parseInt(getArg("-p", args)); String solrxml = Files.readString( @@ -226,7 +226,7 @@ public class TestSolrCLIRunExample extends SolrTestCaseJ4 { int port = Integer.parseInt(getArg("-p", args)); - File solrHomeDir = new File(getArg("-s", args)); + File solrHomeDir = new File(getArg("--solr-home", args)); System.setProperty("host", "localhost"); System.setProperty("jetty.port", String.valueOf(port)); @@ -584,7 +584,7 @@ public class TestSolrCLIRunExample extends SolrTestCaseJ4 { "--server-dir", solrServerDir.getAbsolutePath(), "--example-dir", solrExampleDir.getAbsolutePath(), "-p", String.valueOf(bindPort), - "-script", toExecute.getAbsolutePath() + "--script", toExecute.getAbsolutePath() }; // capture tool output to stdout diff --git a/solr/packaging/test/test_assert.bats b/solr/packaging/test/test_assert.bats new file mode 100644 index 00000000000..56bad292f55 --- /dev/null +++ b/solr/packaging/test/test_assert.bats @@ -0,0 +1,58 @@ +#!/usr/bin/env bats + +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +load bats_helper + +setup() { + common_clean_setup +} + +teardown() { + # save a snapshot of SOLR_HOME for failed tests + save_home_on_failure + + solr stop --all >/dev/null 2>&1 +} + +@test "assert for non cloud mode" { + solr assert --not-started http://localhost:${SOLR_PORT} --timeout 5000 + run solr start + solr assert --started http://localhost:${SOLR_PORT} --timeout 5000 + + run solr assert --not-cloud http://localhost:${SOLR_PORT}/solr + assert_output --partial "needn't include Solr's context-root" + refute_output --partial "ERROR" + + run solr assert --cloud http://localhost:${SOLR_PORT} + assert_output --partial "ERROR: Solr is not running in cloud mode" + + run ! solr assert --cloud http://localhost:${SOLR_PORT} -e +} + +@test "assert for cloud mode" { + run solr start -c + solr assert --started http://localhost:${SOLR_PORT} --timeout 5000 + + run solr assert --cloud http://localhost:${SOLR_PORT} + refute_output --partial "ERROR" + + run solr assert --not-cloud http://localhost:${SOLR_PORT}/solr + assert_output --partial "needn't include Solr's context-root" + assert_output --partial "ERROR: Solr is not running in standalone mode" + + run ! solr assert --not-cloud http://localhost:${SOLR_PORT} -e +} diff --git a/solr/prometheus-exporter/bin/solr-exporter b/solr/prometheus-exporter/bin/solr-exporter index 6f7ef98428b..0d5e8529a1d 100755 --- a/solr/prometheus-exporter/bin/solr-exporter +++ b/solr/prometheus-exporter/bin/solr-exporter @@ -112,7 +112,7 @@ if [[ -n "$PORT" ]]; then fi if [[ -n "$SCRAPE_INTERVAL" ]]; then - EXPORTER_ARGS+=(-s "$SCRAPE_INTERVAL") + EXPORTER_ARGS+=(--scrape-interval "$SCRAPE_INTERVAL") fi if [[ -n "$NUM_THREADS" ]]; then diff --git a/solr/prometheus-exporter/bin/solr-exporter.cmd b/solr/prometheus-exporter/bin/solr-exporter.cmd index e040553d0c8..417ab6c1273 100644 --- a/solr/prometheus-exporter/bin/solr-exporter.cmd +++ b/solr/prometheus-exporter/bin/solr-exporter.cmd @@ -78,7 +78,7 @@ set EXPORTER_ARGS= IF NOT "%CONFIG_FILE%"=="" set EXPORTER_ARGS=%EXPORTER_ARGS% --config-file %CONFIG_FILE% IF NOT "%PORT%"=="" set EXPORTER_ARGS=%EXPORTER_ARGS% -p %PORT% -IF NOT "%SCRAPE_INTERVAL%"=="" set EXPORTER_ARGS=%EXPORTER_ARGS% -s %SCRAPE_INTERVAL% +IF NOT "%SCRAPE_INTERVAL%"=="" set EXPORTER_ARGS=%EXPORTER_ARGS% --scrape-interval %SCRAPE_INTERVAL% IF NOT "%NUM_THREADS%"=="" set EXPORTER_ARGS=%EXPORTER_ARGS% -n %NUM_THREADS% IF NOT "%ZK_HOST%"=="" set EXPORTER_ARGS=%EXPORTER_ARGS% -z %ZK_HOST% IF NOT "%SOLR_URL%"=="" set EXPORTER_ARGS=%EXPORTER_ARGS% -b %SOLR_URL% diff --git a/solr/prometheus-exporter/src/java/org/apache/solr/prometheus/exporter/SolrExporter.java b/solr/prometheus-exporter/src/java/org/apache/solr/prometheus/exporter/SolrExporter.java index 0a56c018856..68534978188 100644 --- a/solr/prometheus-exporter/src/java/org/apache/solr/prometheus/exporter/SolrExporter.java +++ b/solr/prometheus-exporter/src/java/org/apache/solr/prometheus/exporter/SolrExporter.java @@ -145,6 +145,7 @@ public class SolrExporter { Options mainOptions = new Options(); Options deprecatedOptions = new Options(); + // Change to -s and --solr-url in main once -s for --scrape-interval removed. Option baseUrlOption = Option.builder("b") .longOpt("base-url") @@ -236,7 +237,7 @@ public class SolrExporter { mainOptions.addOption(portOption); Option scrapeIntervalOption = - Option.builder("s") + Option.builder() .longOpt("scrape-interval") .hasArg() .argName("SCRAPE_INTERVAL") @@ -248,6 +249,24 @@ public class SolrExporter { .build(); mainOptions.addOption(scrapeIntervalOption); + Option scrapeIntervalOptionDeprecated = + Option.builder("s") + .hasArg() + .argName("SCRAPE_INTERVAL") + .type(Integer.class) + .deprecated( + DeprecatedAttributes.builder() + .setForRemoval(true) + .setSince("9.8") + .setDescription("Use --scrape-interval instead") + .get()) + .desc( + "Specify the delay between scraping Solr metrics; the default is " + + DEFAULT_SCRAPE_INTERVAL + + " seconds.") + .build(); + mainOptions.addOption(scrapeIntervalOptionDeprecated); + Option sslOption = Option.builder("ssl") .longOpt("ssl-enabled") @@ -348,11 +367,18 @@ public class SolrExporter { configFile = commandLine.getOptionValue(configOption); } + int scrapeInterval = DEFAULT_SCRAPE_INTERVAL; + if (commandLine.hasOption("s")) { + scrapeInterval = commandLine.getParsedOptionValue(scrapeIntervalOptionDeprecated); + } else if (commandLine.hasOption("scrape-interval")) { + scrapeInterval = commandLine.getParsedOptionValue(scrapeIntervalOption); + } + SolrExporter solrExporter = new SolrExporter( port, commandLine.getParsedOptionValue(numThreadsOption, DEFAULT_NUM_THREADS), - commandLine.getParsedOptionValue(scrapeIntervalOption, DEFAULT_SCRAPE_INTERVAL), + scrapeInterval, scrapeConfiguration, loadMetricsConfiguration(configFile), clusterId); diff --git a/solr/solr-ref-guide/modules/deployment-guide/pages/enabling-ssl.adoc b/solr/solr-ref-guide/modules/deployment-guide/pages/enabling-ssl.adoc index db5880049e0..de6f860c331 100644 --- a/solr/solr-ref-guide/modules/deployment-guide/pages/enabling-ssl.adoc +++ b/solr/solr-ref-guide/modules/deployment-guide/pages/enabling-ssl.adoc @@ -310,7 +310,7 @@ If you created the SSL key without all DNS names or IP addresses on which Solr n ==== [source,terminal] ---- -$ bin/solr start --cloud -s cloud/node1 -z server1:2181,server2:2181,server3:2181 -p 8984 +$ bin/solr start --cloud --solr-home cloud/node1 -z server1:2181,server2:2181,server3:2181 -p 8984 ---- ==== @@ -319,7 +319,7 @@ Windows:: ==== [source,powershell] ---- -C:\> bin\solr.cmd --cloud -s cloud\node1 -z server1:2181,server2:2181,server3:2181 +C:\> bin\solr.cmd --cloud --solr-home cloud\node1 -z server1:2181,server2:2181,server3:2181 ---- ==== diff --git a/solr/solr-ref-guide/modules/deployment-guide/pages/monitoring-with-prometheus-and-grafana.adoc b/solr/solr-ref-guide/modules/deployment-guide/pages/monitoring-with-prometheus-and-grafana.adoc index 27ae739d4dc..45f66d95139 100644 --- a/solr/solr-ref-guide/modules/deployment-guide/pages/monitoring-with-prometheus-and-grafana.adoc +++ b/solr/solr-ref-guide/modules/deployment-guide/pages/monitoring-with-prometheus-and-grafana.adoc @@ -159,7 +159,7 @@ The number of threads. The `solr-exporter` creates thread pools for requests to Solr. Request latency can be improved by increasing the number of threads. -`-s`, `--scrape-interval`, `$SCRAPE_INTERVAL`:: +`--scrape-interval`, `$SCRAPE_INTERVAL`:: + [%autowidth,frame=none] |=== diff --git a/solr/solr-ref-guide/modules/deployment-guide/pages/solr-control-script-reference.adoc b/solr/solr-ref-guide/modules/deployment-guide/pages/solr-control-script-reference.adoc index d7e8a8889f8..2d8d967f77f 100644 --- a/solr/solr-ref-guide/modules/deployment-guide/pages/solr-control-script-reference.adoc +++ b/solr/solr-ref-guide/modules/deployment-guide/pages/solr-control-script-reference.adoc @@ -105,7 +105,7 @@ For more details, see the section <<SolrCloud Mode>> below. + Define a server directory, defaults to `server` (as in, `$SOLR_TIP/server`). It is uncommon to override this option. -When running multiple instances of Solr on the same host, it is more common to use the same server directory for each instance and use a unique Solr home directory using the `-s` option. +When running multiple instances of Solr on the same host, it is more common to use the same server directory for each instance and use a unique Solr home directory using the `--solr-home` option. + *Example*: `bin/solr start -d newServerDir` @@ -194,7 +194,7 @@ If this is not specified, `8983` will be used. + *Example*: `bin/solr start -p 8655` -`-s <dir>`:: +`--solr-home <dir>`:: + [%autowidth,frame=none] |=== @@ -211,7 +211,7 @@ This parameter is ignored when running examples (`-e`), as the `solr.solr.home` The default value is `server/solr`. If passed relative dir, validation with current dir will be done, before trying default `server/<dir>`. + -*Example*: `bin/solr start -s newHome` +*Example*: `bin/solr start --solr-home newHome` `-t <dir>` or `--data-home <dir>`:: + @@ -278,7 +278,7 @@ To emphasize how the default settings work take a moment to understand that the `bin/solr start` -`bin/solr start --host localhost -p 8983 -d server -s solr -m 512m` +`bin/solr start --host localhost -p 8983 -d server --solr-home solr -m 512m` It is not necessary to define all of the options when starting if the defaults are fine for your needs. @@ -498,7 +498,7 @@ The basic usage of `bin/solr assert` is: [source, plain] ---- $ bin/solr assert -h -usage: bin/solr assert [-m <message>] [-e] [-rR] [-s <url>] [-S <url>] [-c +usage: bin/solr assert [-m <message>] [-e] [-rR] [--started <url>] [-not-started <url>] [-c <url>] [-C <url>] [-u <dir>] [-x <dir>] [-X <dir>] -c,---cloud <url> Asserts that Solr is running in cloud mode. Also fails if Solr not running. URL should @@ -548,7 +548,7 @@ Name of the collection to run a healthcheck against. + *Example*: `bin/solr healthcheck -c gettingstarted` -`--solr-url <url>`:: +`-s <url>` or `--solr-url <url>`:: + [%autowidth,frame=none] |=== @@ -688,7 +688,7 @@ This option is useful if you are running multiple Solr instances on the same hos + *Example*: `bin/solr create -p 8983` -`-s <shards>` or `-shards <shards>`:: +`-sh <shards>` or `-shards <shards>`:: + [%autowidth,frame=none] |=== @@ -734,7 +734,7 @@ It is possible to override this warning with the --force parameter. The ZooKeeper connection string, usable in SolrCloud mode. Unnecessary if `ZK_HOST` is defined in `solr.in.sh` or `solr.in.cmd`. -`--solr-url <url>`:: +`-s <url>` or `--solr-url <url>`:: + [%autowidth,frame=none] |=== @@ -1004,7 +1004,7 @@ This option is useful if you are running multiple Solr instances on the same hos The ZooKeeper connection string, usable in SolrCloud mode. Unnecessary if `ZK_HOST` is defined in `solr.in.sh` or `solr.in.cmd`. -`-solr-url <url>`:: +`-s <url>` or `--solr-url <url>`:: + [%autowidth,frame=none] |=== @@ -1150,7 +1150,7 @@ Unnecessary if `ZK_HOST` is defined in `solr.in.sh` or `solr.in.cmd`. Defines the Solr server directory, by default `$SOLR_TIP/server`. It is not common to need to override the default, and is only needed if you have customized the `$SOLR_HOME` directory path. -`-s <dir>` or `--solr-home <dir>`:: +`--solr-home <dir>`:: + [%autowidth,frame=none] |=== @@ -1250,7 +1250,7 @@ Set the property to this value; accepts JSON objects and strings. The ZooKeeper connection string, usable in SolrCloud mode. Unnecessary if `ZK_HOST` is defined in `solr.in.sh` or `solr.in.cmd`. -`-u <url>` or --solr-url <url>`:: +`-s <url>` or `--solr-url <url>`:: + [%autowidth,frame=none] |=== @@ -1341,7 +1341,7 @@ Is not required if `ZK_HOST` is defined in `solr.in.sh` or `solr.in.cmd`. + *Example*: `-z 123.321.23.43:2181` -`-url <url>` or `--solr-url <url>`:: +`-s <url>` or `--solr-url <url>`:: + [%autowidth,frame=none] |=== @@ -1413,7 +1413,7 @@ Unnecessary if `ZK_HOST` is defined in `solr.in.sh` or `solr.in.cmd`. + *Example*: `-z 123.321.23.43:2181` -`-url <url>` or `--solr-url <url>`:: +`-s <url>` or `--solr-url <url>`:: + [%autowidth,frame=none] |=== @@ -1497,7 +1497,7 @@ Optional if `ZK_HOST` is defined in `solr.in.sh` or `solr.in.cmd`. + *Example*: `-z 123.321.23.43:2181` -`-url <url>` or `--solr-url <url>`:: +`-s <url>` or `--solr-url <url>`:: + [%autowidth,frame=none] |=== @@ -1580,7 +1580,7 @@ Optional if `ZK_HOST` is defined in `solr.in.sh` or `solr.in.cmd`. + *Example*: `-z 123.321.23.43:2181` -`-url <url>` or `--solr-url <url>`:: +`-s <url>` or `--solr-url <url>`:: + [%autowidth,frame=none] |=== @@ -1642,7 +1642,7 @@ An example of this command is: `bin/solr zk mv /configs/oldconfigset /configs/newconfigset` -`-url <url>` or `--solr-url <url>`:: +`-s <url>` or `--solr-url <url>`:: + [%autowidth,frame=none] |=== @@ -1693,7 +1693,7 @@ Optional if `ZK_HOST` is defined in `solr.in.sh` or `solr.in.cmd`. + *Example*: `-z 123.321.23.43:2181` -`-url <url>` or `--solr-url <url>`:: +`-s <url>` or `--solr-url <url>`:: + [%autowidth,frame=none] |=== @@ -1742,7 +1742,7 @@ Optional if `ZK_HOST` is defined in `solr.in.sh` or `solr.in.cmd`. + *Example*: `-z 123.321.23.43:2181` -`-url <url>` or `--solr-url <url>`:: +`-s <url>` or `--solr-url <url>`:: + [%autowidth,frame=none] |=== @@ -1911,7 +1911,7 @@ The `api` command will allow you to send an arbitrary HTTP request to a Solr API The `bin/solr api` command takes the following parameters: -`-url <url>` or `--solr-url <url>`:: +`-s <url>` or `--solr-url <url>`:: + [%autowidth,frame=none] |=== diff --git a/solr/solr-ref-guide/modules/getting-started/pages/tutorial-films.adoc b/solr/solr-ref-guide/modules/getting-started/pages/tutorial-films.adoc index a6df8b29f11..be890c5f39d 100644 --- a/solr/solr-ref-guide/modules/getting-started/pages/tutorial-films.adoc +++ b/solr/solr-ref-guide/modules/getting-started/pages/tutorial-films.adoc @@ -32,7 +32,7 @@ If you did, though, and need to restart Solr, issue these commands: [,console] ---- -$ bin/solr start -c -p 8983 -s example/cloud/node1/solr +$ bin/solr start -c -p 8983 --solr-home example/cloud/node1/solr ---- This starts the first node. @@ -40,7 +40,7 @@ When it's done start the second node, and tell it how to connect to to ZooKeeper [,console] ---- -$ bin/solr start -c -p 7574 -s example/cloud/node2/solr -z localhost:9983 +$ bin/solr start -c -p 7574 --solr-home example/cloud/node2/solr -z localhost:9983 ---- NOTE: If you have defined `ZK_HOST` in `solr.in.sh`/`solr.in.cmd` (see xref:deployment-guide:zookeeper-ensemble#updating-solr-include-files[Updating Solr Include Files]) you can omit `-z <zk host string>` from the above command. @@ -75,14 +75,14 @@ The data you're going to index is related to movies, so start by creating a coll [,console] ---- -$ bin/solr create -c films --shards 2 -rf 2 +$ bin/solr create -c films --shards 2 --replication-factor 2 ---- Whoa, wait. We didn't specify a configset! That's fine, the `_default` is appropriately named, since it's the default and is used if you don't specify one at all. -We did, however, set two parameters `-s` and `-rf`. +We did, however, set two parameters `--shards` and `--replication-factor`. Those are the number of shards to split the collection across (2) and how many replicas to create (2). This is equivalent to the options we had during the interactive example from the first exercise. @@ -94,7 +94,7 @@ WARNING: Using _default configset. Data driven schema functionality is enabled b NOT RECOMMENDED for production use. To turn it off: - bin/solr config -c films -p 7574 --action set-user-property --property update.autoCreateFields --value false + bin/solr config --name films -p 7574 --action set-user-property --property update.autoCreateFields --value false Connecting to ZooKeeper at localhost:9983 ... INFO - 2017-07-27 15:07:46.191; org.apache.solr.client.solrj.impl.ZkClientClusterStateProvider; Cluster at localhost:9983 ready diff --git a/solr/solr-ref-guide/modules/getting-started/pages/tutorial-solrcloud.adoc b/solr/solr-ref-guide/modules/getting-started/pages/tutorial-solrcloud.adoc index f13380de719..b1dd0b2c04f 100644 --- a/solr/solr-ref-guide/modules/getting-started/pages/tutorial-solrcloud.adoc +++ b/solr/solr-ref-guide/modules/getting-started/pages/tutorial-solrcloud.adoc @@ -82,11 +82,11 @@ The script will start each node in order and show you the command it uses to sta [,console] ---- -$ bin/solr start --cloud -s example/cloud/node1/solr -p 8983 +$ bin/solr start --cloud --solr-home example/cloud/node1/solr -p 8983 ---- The first node will also start an embedded ZooKeeper server bound to port 9983. -The Solr home for the first node is in `example/cloud/node1/solr` as indicated by the `-s` option. +The Solr home for the first node is in `example/cloud/node1/solr` as indicated by the `--solr-home` option. After starting up all nodes in the cluster, the script prompts you for the name of the collection to create: @@ -176,14 +176,14 @@ For instance, to restart node1 running on port 8983 (with an embedded ZooKeeper [,console] ---- -$ bin/solr restart -c -p 8983 -s example/cloud/node1/solr +$ bin/solr restart -c -p 8983 --solr-home example/cloud/node1/solr ---- To restart node2 running on port 7574, you can do: [,console] ---- -$ bin/solr restart -c -p 7574 -z localhost:9983 -s example/cloud/node2/solr +$ bin/solr restart -c -p 7574 -z localhost:9983 --solr-home example/cloud/node2/solr ---- Notice that you need to specify the ZooKeeper address (`-z localhost:9983`) when starting node2 so that it can join the cluster with node1. @@ -196,7 +196,7 @@ Once you start a SolrCloud cluster using the startup scripts, you can add a new [,console] ---- $ mkdir <solr.home for new Solr node> -$ bin/solr start --cloud -s <solr.home>/solr -p <port num> -z <zk hosts string> +$ bin/solr start --cloud --solr-home <solr.home>/solr -p <port num> -z <zk hosts string> ---- Notice that the above requires you to create a Solr home directory. @@ -206,7 +206,7 @@ Example (with directory structure) that adds a node to an example started with " [,console] ---- $ mkdir -p example/cloud/node3/solr -$ bin/solr start --cloud -s example/cloud/node3/solr -p 8987 -z localhost:9983 +$ bin/solr start --cloud --solr-home example/cloud/node3/solr -p 8987 -z localhost:9983 ---- The previous command will start another Solr node on port 8987 with Solr home set to `example/cloud/node3/solr`. diff --git a/solr/solr-ref-guide/modules/getting-started/pages/tutorial-techproducts.adoc b/solr/solr-ref-guide/modules/getting-started/pages/tutorial-techproducts.adoc index 6877e453d90..ef9fab4d0cc 100644 --- a/solr/solr-ref-guide/modules/getting-started/pages/tutorial-techproducts.adoc +++ b/solr/solr-ref-guide/modules/getting-started/pages/tutorial-techproducts.adoc @@ -71,14 +71,14 @@ Cloning /solr-{solr-full-version}/example/cloud/node1 into /solr-{solr-full-version}/example/cloud/node2 Starting up Solr on port 8983 using command: -"bin/solr" start --cloud -p 8983 -s "example/cloud/node1/solr" +"bin/solr" start --cloud -p 8983 --solr-home "example/cloud/node1/solr" Waiting up to 180 seconds to see Solr running on port 8983 [\] Started Solr server on port 8983 (pid=34942). Happy searching! Starting up Solr on port 7574 using command: -"bin/solr" start --cloud -p 7574 -s "example/cloud/node2/solr" -z localhost:9983 +"bin/solr" start --cloud -p 7574 --solr-home "example/cloud/node2/solr" -z localhost:9983 Waiting up to 180 seconds to see Solr running on port 7574 [\] Started Solr server on port 7574 (pid=35036). Happy searching!
