Shawn:

Would you be willing to put this on the Wiki? I think it'd be really useful
to have it there...

I'm pretty sure you have edit rights to the wiki, but they're free for the
asking if not...

Erick


On Wed, Nov 13, 2013 at 1:07 PM, Shawn Heisey <s...@elyograg.org> wrote:

> In the hopes that it will help someone get Solr running in a very clean
> way, here's an informational email.
>
> For my Solr install on CentOS 6, I use /opt/solr4 as my installation path,
> and /index/solr4 as my solr home.  The /index directory is a dedicated
> filesystem, /opt is part of the root filesystem.
>
> From the example directory, I copied cloud-scripts, contexts, etc, lib,
> webapps, and start.jar over to /opt/solr4.  My stuff was created before
> 4.3.0, so the resources directory didn't exist.  I was already using log4j
> with a custom Solr build, and I put my log4j.properties file in etc
> instead.  I created a logs directory and a run directory in /opt/solr4.
>
> My data structure in /index/solr4 is complex.  All a new user really needs
> to know is that solr.xml goes here and dictates the rest of the structure.
>  There is a symlink at /index/solr4/lib, pointing to /opt/solr4/solrlib -
> so that jars placed in ${solr.solr.home}/lib are actually located in the
> program directory, not the data directory.  That makes for a much cleaner
> version control scenario - both directories are git repositories cloned
> from our internal git server.
>
> Unlike the example configs, my solrconfig.xml files do not have <lib>
> directives for loading jars.  That gets automatically handled by the jars
> living in that symlinked lib directory.  See SOLR-4852 for caveats
> regarding central lib directories.
>
> https://issues.apache.org/jira/browse/SOLR-4852
>
> If you want to run SolrCloud, you would need to install zookeeper
> separately and put your zkHost parameter in solr.xml.  Due to a bug,
> putting zkHost in solr.xml doesn't work properly until 4.4.0.
>
> Here's the current state of my init script.  It's redhat-specific.  I used
> /bin/bash (instead of /bin/sh) in the shebang because I am pretty sure that
> there are bash-isms in it, and bash is always available on the systems that
> I use:
>
> http://apaste.info/9fVA
>
> Notable features:
> * Runs Solr as an unprivileged user.
> * Has three methods for stopping Solr, tries graceful methods first.
>  1) The jetty STOPPORT/STOPKEY mechanism.
>  2) PID saved by the 'start' action.
>  3) Any program using the Solr listening port.
> * Before killing by PID, tries to make sure that the process actually is
> Solr.
> * Sets up remote JMX, by default without authentication or SSL.
> * Highly tuned CMS garbage collection.
> * Sets up GC logging.
> * Virtually everything is overridable via /etc/sysconfig/solr4.
> * Points at an overridable log4j config file, by default in /opt/solr4/etc.
> * Removes the existing PID file if the server is just booting up -- which
> it knows by noting that server uptime is less than three minutes.
>
> It shouldn't be too hard to convert this so it works on debian-derived
> systems.  That would involve rewriting portions that use redhat init
> routines, and probably start-stop-daemon. What I'd really like is one
> script that will work on any system, but that will require a fair amount of
> work.
>
> It's a work in progress.  It should load log4j.properties from resources
> instead of etc. I'd like to include it in the Solr download, but without a
> fair amount of documentation and possibly an installation script, which
> still must be written, that won't be possible.
>
> Feel free to ask questions about anything that doesn't seem clear. I
> welcome ideas for improvement on both my own setup and the solr example.
>
> Thanks,
> Shawn
>
>

Reply via email to