So, running solr as a service also runs it as a process.   In typical Linux 
environments, (based on initscripts), a service is a process installed to meet 
additional considerations:

- Putting logs in predictable places where system operators and administrators 
expect to see logs - /var/logs
- Putting dynamic data that varies again in predictable places where system 
administrators expect to see dynamic data.
- Putting code for the process in /opt/solr - the /opt filesystem is for 
non-operating system components
- Putting configuration files for the process again in predictable places.
- Running the process as a non-root user, but also as a user that is not any 
one user's account - e.g. a "service" account
- Making sure Solr starts at system startup and stops at system shutdown
- Making sure only a single copy of the service is running

The options implemented in the install_solr_service.sh command are meant to be 
generic to many Linux environments, e.g. appropriate for RHEL/CentOS, Ubuntu, 
and Amazon Linux.   My organization is large enough (and perhaps peculiar 
enough) to have its own standards for where administrators expect to see logs 
and where dynamic data should go.   However, I still need to make sure to run 
it as a service, and this is part of taking it to production.

The command /sbin/service is part of a package called "initscripts" which is 
used on a number of different Linux environments.   Many systems are now using 
both that package and another, "systemd", that starts things somewhat 
differently.

Hope this helps,

Dan Davis, Systems/Applications Architect (Contractor),
Office of Computer and Communications Systems,
National Library of Medicine, NIH


-----Original Message-----
From: Binoy Dalal [mailto:binoydala...@gmail.com] 
Sent: Wednesday, February 17, 2016 2:17 AM
To: SOLR users group <solr-user@lucene.apache.org>
Subject: Running solr as a service vs. Running it as a process

Hello everyone,
I've read about running solr as a service but I don't understand what it really 
means.

I went through the "Taking solr to production" documentation on the wiki which 
suggests that solr be installed using the script provided and run as a service.
From what I could glean, the script creates a directory structure and sets 
various environment variables and then starts solr using the service command.
How is this different from setting up solr manually and starting solr using 
`./solr start`?

Currently in my project, we start solr as a process using the `./` Is this 
something that should be avoided and if so why?

Additionally, and I know that this is not the right place to ask, yet if 
someone could explain what the service command actually does, that would be 
great. I've read a few articles and they say that it runs the init script in as 
predictable an environment as possible, but what does that mean?

Thanks
--
Regards,
Binoy Dalal

Reply via email to