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 revisionNext revisionBoth sides next revision | ||
administration:starting_and_stopping_solr [2015/12/21 16:47] – ↷ Links adapted because of a move operation demiankatz | administration:starting_and_stopping_solr [2023/03/10 12:02] – Reduce redundant systemd examples; recommend systemd for limit fix. demiankatz | ||
---|---|---|---|
Line 5: | Line 5: | ||
===== Starting Solr Manually ===== | ===== Starting Solr Manually ===== | ||
+ | ==== Linux Method ==== | ||
+ | To start Solr under Linux, just switch to the directory where you installed VuFind (i.e. $VUFIND_HOME) and run this command: | ||
- | ==== Linux Method ==== | + | ./solr.sh start |
- | To start Solr under Linux, just switch to the directory where you installed the program and run this command: | + | Note: If this doesn' |
- | | + | |
- | Note: If this doesn' | + | :!: Prior to VuFind 3.0, solr.sh was named vufind.sh; be sure to use the command appropriate for your version. |
- | chmod +x vufind.sh | + | 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 VuFind, the script may mistakenly believe that it is still running. | + | === Limit Warnings === |
- | ==== Windows Method ==== | + | 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 | ||
+ | </ | ||
- | Starting with VuFind 1.0RC2, VuFind includes a Windows batch file to run Solr. Just follow these steps: | + | (where " |
- | * At a command prompt, switch | + | It may be necessary |
- | * Type: vufind start | + | |
- | Note that the vufind.bat file which allows this command to work is created automatically as part of the install.bat setup process. | + | ==== Windows Method ==== |
- | If you are using an earlier version of VuFind, you will have to start the server manually. | + | VuFind |
+ | |||
+ | * At a command | ||
+ | * Type: solr start | ||
- | cd \vufind\solr\jetty\ | + | Note that some of the scripting for this command is created automatically as part of the install.bat setup process. If you did not install VuFind using install.bat, |
- | java -Dsolr.solr.home=c: | + | |
- | Note: The above command assumes you want to dedicate 1 Gig of memory | + | :!: Prior to VuFind 3.0, solr.bat was named vufind.bat; be sure to use the command appropriate |
===== Stopping Solr Manually ===== | ===== Stopping Solr Manually ===== | ||
Line 41: | Line 66: | ||
To take the server offline, switch to the VuFind directory and type: | To take the server offline, switch to the VuFind directory and type: | ||
- | ./vufind.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 ==== | ||
- | To stop a manually-started | + | When using VuFind 3.0 or newer, you can stop Solr from the command |
+ | |||
+ | * At a command prompt, switch | ||
+ | * Type: solr stop | ||
- | If you are running Solr through Jetty as a service, you can stop the server through | + | 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 85: | ||
Restarting Solr under Linux is much the same as starting it. Just switch to the VuFind directory and type: | Restarting Solr under Linux is much the same as starting it. Just switch to the VuFind directory and type: | ||
- | ./vufind.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 ==== | ||
- | There is no graceful way to restart | + | When using VuFind 3.0 or newer, you can restart Solr from the command line in Windows: |
+ | |||
+ | * At a command prompt, switch to your VuFind directory. | ||
+ | * Type: solr restart | ||
- | If you are running Solr through Jetty as a service, you can restart the server through the Services control in the Administrative Tools area of Control Panel. | + | In VuFind 2.x and earlier, there is no graceful way to restart |
===== Killing an Unresponsive Solr Process ===== | ===== Killing an Unresponsive Solr Process ===== | ||
Line 99: | Line 134: | ||
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 (systemd) Method ==== | ||
+ | // Thanks to [[https:// | ||
+ | Most modern flavors of Linux (such as CentOS 7 and newer) use [[https:// | ||
+ | To automate Solr with systemd: | ||
+ | * [[administration: | ||
+ | * add permission for the solr directory to this user if you have not already: | ||
- | ==== Linux (init.d) Method ==== | + | < |
- | You can set up Solr to run as a daemon. To do so, create | + | * create |
< | < | ||
- | #!/bin/sh | + | [Unit] |
- | ### BEGIN INIT INFO | + | After=network.target |
- | # Default-Start: | + | |
- | # Default-Stop: | + | |
- | # Description: | + | |
- | ### END INIT INFO | + | |
- | cd / | + | |
- | ./vufind.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 ==== | + | |
- | + | ||
- | // Thanks to [[https:// | + | |
- | + | ||
- | Some newer flavors of Linux (such as CentOS 7) use [[https:// | + | |
- | + | ||
- | To automate Solr with systemd, you should be able to add code similar to this in a new file called / | + | |
- | + | ||
- | < | + | |
- | Description=VuFind Starter | + | |
- | After=network.target | + | |
[Service] | [Service] | ||
Type=forking | Type=forking | ||
- | ExecStart=/ | + | ExecStart=/ |
- | PIDFile=/var/run/ | + | PIDFile=/usr/local/vufind/ |
- | User=root | + | User=solr |
- | ExecStop=/ | + | ExecStop=/ |
- | + | SuccessExitStatus=0 | |
- | # Java responds to a SIGTERM by returning with exit code 143 which leads to " | + | LimitNOFILE=65000 |
- | SuccessExitStatus=143 | + | 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 193: | Line 185: | ||
systemctl [enable, start, stop, status] vufind | systemctl [enable, start, stop, status] vufind | ||
</ | </ | ||
+ | |||
+ | Alternatively, | ||
==== Windows Method ==== | ==== Windows Method ==== | ||
- | === VuFind | + | As of VuFind |
- | + | ||
- | Jetty (the wrapper that allows | + | |
- | + | ||
- | 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 | + | |
- | + | ||
- | === 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. See the [[http:// | + | |
- | + | ||
- | 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 | ||
===== Taking the User Interface Offline ===== | ===== Taking the User Interface Offline ===== | ||
If you simply stop the Solr server, users attempting to access your VuFind site will encounter error messages. | If you simply stop the Solr server, users attempting to access your VuFind site will encounter error messages. | ||
---- struct data ---- | ---- struct data ---- | ||
+ | properties.Page Owner : | ||
---- | ---- | ||
administration/starting_and_stopping_solr.txt · Last modified: 2023/10/24 13:47 by demiankatz