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 [2017/08/17 09:03] – [Linux (systemd) Method] - permission for solr user xmorave2 | administration:starting_and_stopping_solr [2023/03/10 11:45] – Remove VuFind 2.x script example (now obsolete). demiankatz | ||
---|---|---|---|
Line 21: | Line 21: | ||
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. On some Linux platforms, this 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. | ||
+ | |||
+ | On Linux platforms using systemd, you may be able to work around the problem with a systemd file like this example (in a file like / | ||
+ | |||
+ | < | ||
+ | [Unit] | ||
+ | Description=VuFind Starter | ||
+ | After=network.target | ||
+ | |||
+ | [Service] | ||
+ | Type=forking | ||
+ | ExecStart=/ | ||
+ | PIDFile=/ | ||
+ | User=vufind-user | ||
+ | ExecStop=/ | ||
+ | SuccessExitStatus=0 | ||
+ | LimitNOFILE=65000 | ||
+ | LimitNPROC=65000 | ||
+ | |||
+ | [Install] | ||
+ | WantedBy=multi-user.target | ||
+ | </ | ||
+ | |||
+ | (Obviously the / | ||
+ | |||
+ | Once this is in place, you can use "sudo service vufind start" and "sudo service vufind stop" to start and stop the process, and appropriate limits will be applied. | ||
==== Windows Method ==== | ==== Windows Method ==== | ||
Line 114: | Line 164: | ||
You can set up Solr to run as a daemon. To do so, create a wrapper script in / | 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 | + | :!: Important: These instructions were written for VuFind |
+ | |||
+ | :!: If you need to run VuFind with non-default settings, you may wish to add some lines to export environment variables in this script, | ||
+ | |||
+ | :!: Newer versions of Solr do not like to be run by the root user; you may need to either add " | ||
< | < | ||
#!/bin/sh | #!/bin/sh | ||
### BEGIN INIT INFO | ### BEGIN INIT INFO | ||
+ | # Provides: vufind | ||
+ | # Required-Start: | ||
+ | # Required-Stop: | ||
# Default-Start: | # Default-Start: | ||
# Default-Stop: | # Default-Stop: | ||
Line 124: | Line 181: | ||
### END INIT INFO | ### END INIT INFO | ||
cd / | cd / | ||
- | ./vufind.sh $* | + | ./solr.sh $* |
</ | </ | ||
Line 166: | Line 223: | ||
To automate Solr with systemd: | To automate Solr with systemd: | ||
- | * create the user " | + | * [[administration: |
- | * add permission for solr directory to this user: | + | * add permission for the solr directory to this user: |
< | < | ||
* create new file called / | * create new file called / | ||
- | |||
- | In VuFind 2.x, the contents of the file should be as follows: | ||
- | |||
- | < | ||
- | Description=VuFind Starter | ||
- | After=network.target httpd.service mariadb.service | ||
- | |||
- | [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, 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 | + | [Unit] |
+ | After=network.target | ||
[Service] | [Service] | ||
Type=forking | Type=forking | ||
ExecStart=/ | ExecStart=/ | ||
- | PIDFile=/ | + | PIDFile=/ |
User=solr | User=solr | ||
ExecStop=/ | ExecStop=/ | ||
Line 209: | Line 245: | ||
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 232: | Line 270: | ||
==== Windows Method ==== | ==== Windows Method ==== | ||
- | === VuFind | + | As of VuFind 3.0, 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 ===== | ||
Line 295: | Line 276: | ||
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