Warning: This page has not been updated in over over a year and may be outdated or deprecated.
administration:starting_and_stopping_solr
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
administration:starting_and_stopping_solr [2017/08/22 13:05] – [Linux (init.d) Method] demiankatz | administration:starting_and_stopping_solr [2023/10/24 13:47] (current) – Removed notes about releases prior to 3.0. demiankatz | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Starting and Stopping Solr ====== | ====== Starting and Stopping Solr ====== | ||
- | Once VuFind | + | :!: This page applies to VuFind® versions 3.0 and newer; if you are using a very old release, see the "Old revisions" |
+ | |||
+ | Once VuFind® | ||
===== Starting Solr Manually ===== | ===== Starting Solr Manually ===== | ||
- | |||
- | |||
==== Linux Method ==== | ==== Linux Method ==== | ||
- | To start Solr under Linux, just switch to the directory where you installed | + | To start Solr under Linux, just switch to the directory where you installed |
./solr.sh start | ./solr.sh start | ||
Line 16: | Line 16: | ||
chmod +x solr.sh | chmod +x solr.sh | ||
- | |||
- | :!: Prior to VuFind 3.0, solr.sh was named vufind.sh; be sure to use the command appropriate for your version. | ||
Note: If you previously rebooted your system without manually stopping Solr, the script may mistakenly believe that it is still running. | Note: If you previously rebooted your system without manually stopping Solr, the script may mistakenly believe that it is still running. | ||
+ | |||
+ | === Limit Warnings === | ||
+ | |||
+ | Starting with Solr 7.3.1, you may see warnings on startup resembling: | ||
+ | |||
+ | < | ||
+ | *** [WARN] *** Your open file limit is currently 1024. | ||
+ | It should be set to 65000 to avoid operational disruption. | ||
+ | If you no longer wish to see this warning, set SOLR_ULIMIT_CHECKS to false in your profile or solr.in.sh | ||
+ | *** [WARN] *** Your Max Processes Limit is currently 15058. | ||
+ | It should be set to 65000 to avoid operational disruption. | ||
+ | If you no longer wish to see this warning, set SOLR_ULIMIT_CHECKS to false in your profile or solr.in.sh | ||
+ | </ | ||
+ | |||
+ | This is warning of some default settings that could impact the performance of your Solr instance. They are unlikely to cause problems if you are only using Solr for testing/ | ||
+ | |||
+ | The best way to address the errors on Linux platforms using systemd is to start Solr through systemd and ensure that your [[# | ||
+ | |||
+ | On some Linux platforms, if systemd is not available, the problem can be addressed by editing the / | ||
+ | |||
+ | < | ||
+ | username | ||
+ | username | ||
+ | username | ||
+ | username | ||
+ | </ | ||
+ | |||
+ | (where " | ||
+ | |||
+ | It may be necessary to log out of your terminal session and log back in for these settings to take effect. | ||
==== Windows Method ==== | ==== Windows Method ==== | ||
- | VuFind | + | VuFind® |
- | * At a command prompt, switch to your VuFind | + | * At a command prompt, switch to your VuFind® |
* Type: solr start | * Type: solr start | ||
- | Note that some of the scripting for this command is created automatically as part of the install.bat setup process. | + | Note that some of the scripting for this command is created automatically as part of the install.php setup process. |
- | + | ||
- | :!: Prior to VuFind 3.0, solr.bat was named vufind.bat; be sure to use the command appropriate for your version. Prior to VuFind 1.0RC2, Windows support was not included. | + | |
===== Stopping Solr Manually ===== | ===== Stopping Solr Manually ===== | ||
Line 36: | Line 62: | ||
==== Linux Method ==== | ==== Linux Method ==== | ||
- | To take the server offline, switch to the VuFind | + | To take the server offline, switch to the VuFind® |
./solr.sh stop | ./solr.sh stop | ||
- | |||
- | :!: Prior to VuFind 3.0, solr.sh was named vufind.sh; be sure to use the command appropriate for your version. | ||
==== Windows Method ==== | ==== Windows Method ==== | ||
- | When using VuFind 3.0 or newer, you can stop Solr from the command line in Windows: | + | You can stop Solr from the command line in Windows: |
- | * At a command prompt, switch to your VuFind | + | * At a command prompt, switch to your VuFind® |
* Type: solr stop | * Type: solr stop | ||
- | |||
- | In VuFind 2.x or earlier, to stop a manually-started Solr instance under Windows, open the command prompt window where the server is running and hit Ctrl-C. | ||
===== Restarting Solr Manually ===== | ===== Restarting Solr Manually ===== | ||
Line 55: | Line 77: | ||
==== Linux Method ==== | ==== Linux Method ==== | ||
- | Restarting Solr under Linux is much the same as starting it. Just switch to the VuFind | + | Restarting Solr under Linux is much the same as starting it. Just switch to the VuFind® |
./solr.sh restart | ./solr.sh restart | ||
- | |||
- | :!: Prior to VuFind 3.0, solr.sh was named vufind.sh; be sure to use the command appropriate for your version. | ||
==== Windows Method ==== | ==== Windows Method ==== | ||
- | When using VuFind 3.0 or newer, you can restart Solr from the command line in Windows: | + | You can restart Solr from the command line in Windows: |
- | * At a command prompt, switch to your VuFind | + | * At a command prompt, switch to your VuFind® |
* Type: solr restart | * Type: solr restart | ||
- | |||
- | In VuFind 2.x and earlier, there is no graceful way to restart a manually-started Solr instance under Windows. | ||
===== Killing an Unresponsive Solr Process ===== | ===== Killing an Unresponsive Solr Process ===== | ||
Line 105: | Line 123: | ||
If you don't want to have to manually start and stop Solr every time you turn on or shut down your server, you can set it up to run automatically. | If you don't want to have to manually start and stop Solr every time you turn on or shut down your server, you can set it up to run automatically. | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | ==== Linux (init.d) Method ==== | ||
- | |||
- | You can set up Solr to run as a daemon. To do so, create a wrapper script in / | ||
- | |||
- | :!: Important: These instructions were written for VuFind 3.0 or later, when the Solr script was changed to solr.sh instead of vufind.sh; if running VuFind 2.x or earlier, you should replace " | ||
- | |||
- | :!: If you need to run VuFind with non-default settings, you may wish to add some lines to export environment variables in this script, or else source a script containing all of your environment settings prior to running " | ||
- | |||
- | < | ||
- | #!/bin/sh | ||
- | ### BEGIN INIT INFO | ||
- | # Default-Start: | ||
- | # Default-Stop: | ||
- | # Description: | ||
- | ### END INIT INFO | ||
- | cd / | ||
- | ./solr.sh $* | ||
- | </ | ||
- | |||
- | // Note: The information in the INIT INFO block is only required for RedHat-style systems that use the chkconfig utility. | ||
- | |||
- | // Note: If your VuFind instance is installed somewhere other than / | ||
- | |||
- | Make sure that the script is executable (sudo may be needed on the command for some platforms): | ||
- | |||
- | < | ||
- | chmod +x / | ||
- | </ | ||
- | |||
- | You will then need to add the script to your runlevel configuration (generally found under / | ||
- | |||
- | On RedHat (including Fedora): chkconfig --add vufind | ||
- | On Debian (including Ubuntu): update-rc.d vufind defaults | ||
- | |||
- | If this doesn' | ||
- | |||
- | === Interacting with Solr After Automation === | ||
- | |||
- | On some platforms, the " | ||
- | |||
- | < | ||
- | service vufind start | ||
- | service vufind stop | ||
- | service vufind restart | ||
- | service vufind check | ||
- | </ | ||
- | |||
- | // | ||
- | |||
- | If service is available, it is the preferred way of starting and stopping Solr after automation. | ||
==== Linux (systemd) Method ==== | ==== Linux (systemd) Method ==== | ||
Line 165: | Line 128: | ||
// Thanks to [[https:// | // Thanks to [[https:// | ||
- | Some newer flavors of Linux (such as CentOS 7) use [[https:// | + | Most modern |
To automate Solr with systemd: | To automate Solr with systemd: | ||
- | * create the user " | + | * [[administration: |
- | * add permission for the solr directory to this user: | + | * add permission for the solr directory to this user if you have not already: |
< | < | ||
* create new file called / | * create new file called / | ||
- | |||
- | In VuFind 2.x, the contents of the file should be as follows: | ||
< | < | ||
- | Description=VuFind Starter | + | [Unit] |
- | After=network.target httpd.service mariadb.service | + | After=network.target |
- | + | ||
- | [Service] | + | |
- | Type=forking | + | |
- | ExecStart=/ | + | |
- | PIDFile=/ | + | |
- | User=solr | + | |
- | ExecStop=/ | + | |
- | + | ||
- | # Java responds to a SIGTERM by returning with exit code 143 which leads to " | + | |
- | SuccessExitStatus=143 | + | |
- | + | ||
- | [Install] | + | |
- | WantedBy=multi-user.target | + | |
- | </ | + | |
- | + | ||
- | In VuFind 3.0 and later, the contents of the file should be as follows. It will work with the official VuFind 3 deb package (tested on Ubuntu 16.04). | + | |
- | + | ||
- | < | + | |
- | After=network.target | + | |
[Service] | [Service] | ||
Type=forking | Type=forking | ||
ExecStart=/ | ExecStart=/ | ||
- | PIDFile=/ | + | PIDFile=/ |
User=solr | User=solr | ||
ExecStop=/ | ExecStop=/ | ||
SuccessExitStatus=0 | SuccessExitStatus=0 | ||
+ | LimitNOFILE=65000 | ||
+ | LimitNPROC=65000 | ||
[Install] | [Install] | ||
WantedBy=multi-user.target | WantedBy=multi-user.target | ||
</ | </ | ||
+ | |||
+ | The above example should work for VuFind® 7.0 and later using the official VuFind® deb package (this has been tested on Ubuntu). For compatibility with VuFind® 3.0 through 6.0, simply change " | ||
Be sure to adjust paths in the code above to match your local system. | Be sure to adjust paths in the code above to match your local system. | ||
Line 234: | Line 180: | ||
==== Windows Method ==== | ==== Windows Method ==== | ||
- | === VuFind 1.x === | + | Solr can be started as a background process from the command line, so it should be possible |
- | + | ||
- | Jetty (the wrapper that allows Solr to run) can be set up as a Windows service. | + | |
- | + | ||
- | wrapper.java.additional.1=-Djetty.home=../ | + | |
- | wrapper.java.additional.2=-Djetty.logs=../ | + | |
- | wrapper.java.initmemory=3 | + | |
- | wrapper.java.maxmemory=64 | + | |
- | + | ||
- | And change them to: | + | |
- | + | ||
- | wrapper.java.additional.1=-Djetty.home=../ | + | |
- | wrapper.java.additional.2=-Djetty.logs=../ | + | |
- | wrapper.java.additional.3=-Dsolr.solr.home=c: | + | |
- | wrapper.java.initmemory=64 | + | |
- | wrapper.java.maxmemory=256 | + | |
- | + | ||
- | You'll notice the first two lines haven' | + | |
- | + | ||
- | Now it's time to install the service. Open a command window and run the following: | + | |
- | + | ||
- | cd \vufind\solr\jetty\bin | + | |
- | Jetty-Service.exe -i jetty-service.conf | + | |
- | + | ||
- | NOTE: If you are running Windows Vista the above will still fail with ' | + | |
- | + | ||
- | === VuFind 2.x === | + | |
- | + | ||
- | The Jetty service found in VuFind 1.x is no longer compatible with the version of Jetty used in VuFind 2.x. A best practice for running VuFind 2.x's Solr index as a Windows service has not yet been determined. | + | |
- | + | ||
- | February 2015: Solr was successfully configured as a service on both a Windows 7 test box running under XAMPP and a production Windows 8 R2 server using the following: http:// | + | |
- | + | ||
- | < | + | |
- | SolrService.exe // | + | |
- | --Install=C: | + | |
- | --LogPath=C: | + | |
- | --LogLevel=Debug --StdOutput=auto --StdError=auto | + | |
- | --StartMode=java --StopMode=java --Jvm=auto | + | |
- | ++JvmOptions=-Djetty.home=C: | + | |
- | ++JvmOptions=-DSTOP.KEY=stopsolr ++JvmOptions=-Djetty.logs=C: | + | |
- | ++JvmOptions=-Dorg.eclipse.jetty.util.log.SOURCE=true | + | |
- | ++JvmOptions=-XX: | + | |
- | --StartClass=org.eclipse.jetty.start.Main ++StartParams=OPTION=ALL | + | |
- | ++StartParams=C: | + | |
- | --StopClass=org.eclipse.jetty.start.Main | + | |
- | ++StopParams=--stop ++JvmOptions=-Dsolr.solr.home=C: | + | |
- | --StartPath=C: | + | |
- | </ | + | |
- | + | ||
- | // Note: the above should be entered as a single command line; it has been broken up here for readability. // | + | |
- | + | ||
- | Important! If you are running 64bit you'll need to retrieve the prunsrv.exe from the amd64 folder. | + | |
- | + | ||
- | Judy Drescher, Molloy College | + | |
- | + | ||
- | === VuFind 3.x === | + | |
- | + | ||
- | Now that Solr can be started as a background process from the command line, it should be easier to manage it from within Windows; however, detailed instructions have not been developed as of this writing. Please feel free to contribute your own recommendations! | + | |
===== Taking the User Interface Offline ===== | ===== Taking the User Interface Offline ===== | ||
- | If you simply stop the Solr server, users attempting to access your VuFind | + | If you simply stop the Solr server, users attempting to access your VuFind® |
---- struct data ---- | ---- struct data ---- | ||
+ | properties.Page Owner : | ||
---- | ---- | ||
administration/starting_and_stopping_solr.1503407123.txt.gz · Last modified: 2017/08/22 13:05 by demiankatz