@REM @REM Licensed to the Apache Software Foundation (ASF) under one or more @REM contributor license agreements. See the NOTICE file distributed with @REM this work for additional information regarding copyright ownership. @REM The ASF licenses this file to You under the Apache License, Version 2.0 @REM (the "License"); you may not use this file except in compliance with @REM the License. You may obtain a copy of the License at @REM @REM http://www.apache.org/licenses/LICENSE-2.0 @REM @REM Unless required by applicable law or agreed to in writing, software @REM distributed under the License is distributed on an "AS IS" BASIS, @REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @REM See the License for the specific language governing permissions and @REM limitations under the License. @echo off REM By default the script will use JAVA_HOME to determine which java REM to use, but you can set a specific path for Solr to use without REM affecting other Java applications on your server/workstation. REM set SOLR_JAVA_HOME= REM Increase Java Min/Max Heap as needed to support your indexing / query needs set SOLR_JAVA_MEM=-Xms512m -Xmx512m REM Enable verbose GC logging set GC_LOG_OPTS=-verbose:gc -XX:+PrintHeapAtGC -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+PrintTenuringDistribution -XX:+PrintGCApplicationStoppedTime REM These GC settings have shown to work well for a number of common Solr workloads set GC_TUNE=-XX:NewRatio=3 ^ -XX:SurvivorRatio=4 ^ -XX:TargetSurvivorRatio=90 ^ -XX:MaxTenuringThreshold=8 ^ -XX:+UseConcMarkSweepGC ^ -XX:+UseParNewGC ^ -XX:ConcGCThreads=4 -XX:ParallelGCThreads=4 ^ -XX:+CMSScavengeBeforeRemark ^ -XX:PretenureSizeThreshold=64m ^ -XX:+UseCMSInitiatingOccupancyOnly ^ -XX:CMSInitiatingOccupancyFraction=50 ^ -XX:CMSMaxAbortablePrecleanTime=6000 ^ -XX:+CMSParallelRemarkEnabled ^ -XX:+ParallelRefProcEnabled REM Set the ZooKeeper connection string if using an external ZooKeeper ensemble REM e.g. host1:2181,host2:2181/chroot REM Leave empty if not using SolrCloud REM set ZK_HOST= REM Set the ZooKeeper client timeout (for SolrCloud mode) REM set ZK_CLIENT_TIMEOUT=15000 REM By default the start script uses "localhost"; override the hostname here REM for production SolrCloud environments to control the hostname exposed to cluster state REM set SOLR_HOST=192.168.1.1 REM By default the start script uses UTC; override the timezone if needed REM set SOLR_TIMEZONE=UTC REM Set to true to activate the JMX RMI connector to allow remote JMX client applications REM to monitor the JVM hosting Solr; set to "false" to disable that behavior REM (false is recommended in production environments) set ENABLE_REMOTE_JMX_OPTS=false REM The script will use SOLR_PORT+10000 for the RMI_PORT or you can set it here REM set RMI_PORT=18983 REM Set the host interface to listen on. Jetty will listen on all interfaces (0.0.0.0) by default. REM This must be an IPv4 ("a.b.c.d") or bracketed IPv6 ("[x::y]") address, not a hostname! set SOLR_JETTY_HOST=0.0.0.0 set SOLR_OPTS=%SOLR_OPTS% -Djetty.host=%SOLR_JETTY_HOST% REM Set the thread stack size set SOLR_OPTS=%SOLR_OPTS% -Xss256k REM Anything you add to the SOLR_OPTS variable will be included in the java REM start command line as-is, in ADDITION to other options. If you specify the REM -a option on start script, those options will be appended as well. Examples: REM set SOLR_OPTS=%SOLR_OPTS% -Dsolr.autoSoftCommit.maxTime=3000 REM set SOLR_OPTS=%SOLR_OPTS% -Dsolr.autoCommit.maxTime=60000 REM set SOLR_OPTS=%SOLR_OPTS% -Dsolr.clustering.enabled=true REM Path to a directory for Solr to store cores and their data. By default, Solr will use server\solr REM If solr.xml is not stored in ZooKeeper, this directory needs to contain solr.xml REM set SOLR_HOME= REM Sets the port Solr binds to, default is 8983 REM set SOLR_PORT=8983 REM Uncomment to set SSL-related system properties REM Be sure to update the paths to the correct keystore for your environment REM set SOLR_SSL_KEY_STORE=etc/solr-ssl.keystore.jks REM set SOLR_SSL_KEY_STORE_PASSWORD=secret REM set SOLR_SSL_TRUST_STORE=etc/solr-ssl.keystore.jks REM set SOLR_SSL_TRUST_STORE_PASSWORD=secret REM set SOLR_SSL_NEED_CLIENT_AUTH=false REM set SOLR_SSL_WANT_CLIENT_AUTH=false REM Uncomment if you want to override previously defined SSL values for HTTP client REM otherwise keep them commented and the above values will automatically be set for HTTP clients REM set SOLR_SSL_CLIENT_KEY_STORE= REM set SOLR_SSL_CLIENT_KEY_STORE_PASSWORD= REM set SOLR_SSL_CLIENT_TRUST_STORE= REM setSOLR_SSL_CLIENT_TRUST_STORE_PASSWORD= REM Settings for ZK ACL REM set SOLR_ZK_CREDS_AND_ACLS=-DzkACLProvider=org.apache.solr.common.cloud.VMParamsAllAndReadonlyDigestZkACLProvider ^ REM -DzkCredentialsProvider=org.apache.solr.common.cloud.VMParamsSingleSetCredentialsDigestZkCredentialsProvider ^ REM -DzkDigestUsername=admin-user -DzkDigestPassword=CHANGEME-ADMIN-PASSWORD ^ REM -DzkDigestReadonlyUsername=readonly-user -DzkDigestReadonlyPassword=CHANGEME-READONLY-PASSWORD REM set SOLR_OPTS=%SOLR_OPTS% %SOLR_ZK_CREDS_AND_ACLS%