Yes that is a good point.  Thanks.

I think I will avoid using NAS/SAN and use two masters, one setup as a repeater 
(slave and master).  In case of very rare master failure, some minor manual 
intervention will be required to re-configure remaining master or bring other 
one back up.

My only concern in that case is losing new documents from solrj client since 
there is no broker/buffer/queue between solrj client and SOLR master.  It would 
be nice if there was some open source broker/queue which could sit between 
solrj and SOLR and queue up messages (publish/subscribe).

Bob

On Oct 13, 2011, at 3:56 PM, Jaeger, Jay - DOT wrote:

> One thing to consider is the case where the JVM is up, but the system is 
> otherwise unavailable (say, a NIC failure, firewall failure, load balancer 
> failure) - especially if you use a SAN (whose connection is different from 
> the normal network).
> 
> In such a case the old master might have uncommitted updates.
> 
> JRJ
> 
> -----Original Message-----
> From: Otis Gospodnetic [mailto:otis_gospodne...@yahoo.com] 
> Sent: Tuesday, October 11, 2011 3:17 PM
> To: solr-user@lucene.apache.org
> Subject: Re: Replication with an HA master
> 
> Hello,
> ----- Original Message -----
> 
>> From: Robert Stewart <bstewart...@gmail.com>
>> To: solr-user@lucene.apache.org
>> Cc: 
>> Sent: Tuesday, October 11, 2011 3:37 PM
>> Subject: Re: Replication with an HA master
>> 
>> In the case of using a shared (SAN) index between 2 masters, what happens if 
>> the 
>> live master fails in such a way that the index remains "locked" (such 
>> as if some hardware failure and it did not unlock/close index).  Will the 
>> other 
>> master be able to open/write to the index as new documents are added?
> 
> 
> You'd use native locks, which should disappear if the JVM dies.  If it does 
> not, then I'm not 100% sure what happens, but in the worst case there would 
> be a need for a quick manual (or scripted) intervention.  But your index 
> would be up to date!
> 
>> Also, if that can work ok, would it work if you have a LB (VIP) from both 
>> indexing and replication sides of the 2 masters, such that some VIP used by 
>> solrj for indexing new documents via HTTP, and the same VIP used by slave 
>> searchers for replication?  That sounds like it would work.
> 
> 
> Precisely what you should do.  e.g. "master-vip" is the "hostname" that both 
> SolrJ would post new docs to and the master "server" slaves would poll for 
> index changes.
> 
> Otis
> ----
> 
> Sematext :: http://sematext.com/ :: Solr - Lucene - Nutch
> Lucene ecosystem search :: http://search-lucene.com/
> 
> 
> 
> 
>> On Oct 11, 2011, at 3:16 PM, Otis Gospodnetic wrote:
>> 
>>> Hello,
>>> 
>>> Yes, you've read about NFS, which is why I gave the example of a SAN 
>> (which can have multiple power supplies, controllers, etc.)
>>> 
>>> Yes, should be OK to have multiple Solr instances have the same index open, 
>> since only one of them will actually be writing to it, thanks to LB.
>>> 
>>> Otis
>>> ----
>>> Sematext :: http://sematext.com/ :: Solr - Lucene - Nutch
>>> Lucene ecosystem search :: http://search-lucene.com/
>>> 
>>> 
>>>> ________________________________
>>>> From: Brandon Ramirez <brandon_rami...@elementk.com>
>>>> To: "solr-user@lucene.apache.org" 
>> <solr-user@lucene.apache.org>
>>>> Sent: Tuesday, October 11, 2011 2:55 PM
>>>> Subject: RE: Replication with an HA master
>>>> 
>>>> Using a shared volume crossed my mind too, but I discarded the idea 
>> because of literature I have read about Lucene performing poorly against 
>> remote 
>> file systems.  But then I suppose a SAN wouldn't be a remote file system in 
>> the same sense as an NFS-mounted NAS or similar.
>>>> 
>>>> Should I be concerned about two solr instances on two machines having 
>> the same SAN-based index open, as long as only one of them is receiving 
>> requests?  I would think in theory it would work, but I don't have any 
>> production-level experience with Solr yet, only textbook knowledge.
>>>> 
>>>> 
>>>> Brandon Ramirez | Office: 585.214.5413 | Fax: 585.295.4848 
>>>> Software Engineer II | Element K | www.elementk.com
>>>> 
>>>> 
>>>> -----Original Message-----
>>>> From: Otis Gospodnetic [mailto:otis_gospodne...@yahoo.com] 
>>>> Sent: Tuesday, October 11, 2011 2:28 PM
>>>> To: solr-user@lucene.apache.org
>>>> Subject: Re: Replication with an HA master
>>>> 
>>>> A few alternatives:
>>>> * Have the master keep the index on a shared disk (e.g. SAN)
>>>> * Use LB to easily switch to between masters, potentially even 
>> automatically if LB can detect the primary is down
>>>> 
>>>> Otis
>>>> ----
>>>> Sematext :: http://sematext.com/ :: Solr - Lucene - Nutch Lucene 
>> ecosystem search :: http://search-lucene.com/
>>>> 
>>>> 
>>>>> ________________________________
>>>>> From: Robert Stewart <bstewart...@gmail.com>
>>>>> To: solr-user@lucene.apache.org
>>>>> Sent: Friday, October 7, 2011 10:22 AM
>>>>> Subject: Re: Replication with an HA master
>>>>> 
>>>>> Your idea sounds like the correct path.  Setup 2 masters, one 
>> running 
>>>>> in "slave" mode which pulls replicas from the live 
>> master.  When/if live master goes down, you just reconfigure and restart the 
>> backup master to be the live master.  You'd also need to then start data 
>> import on the backup master (enable/start cron job?), and redirect slave 
>> searchers to pull replicas from the new live master.  All that could be done 
>> using scripts or something like puppet possibly.
>>>>> 
>>>>> Another solution maybe is to run 2 "live" masters, which 
>> both index the same content from the same data source.  If one goes down, 
>> then 
>> you just need to redirect slave searchers to the backup master for 
>> replication.
>>>>> 
>>>>> I am also starting a similar project which needs some disaster 
>> recovery processes in place, so any other info would be useful to me as well.
>>>>> 
>>>>> Bob
>>>>> 
>>>>> On Oct 7, 2011, at 9:53 AM, Brandon Ramirez wrote:
>>>>> 
>>>>>> We are getting ready to start a project using Solr as our 
>> backend search engine and I am trying to devise a deployment architecture 
>> that 
>> works for us.  We definitely need a master/slave replication strategy, 
>> that's for sure, but my concern is the master becomes a single point of 
>> failure.
>>>>>> 
>>>>>> Fortunately, real-time search is not a requirement for us.  If 
>> search results are a few minutes out of sync with our database, it's not a 
>> big deal.
>>>>>> 
>>>>>> So what I would like to do is have a set of query servers 
>> (slaves) that are only used for querying, no indexing and have them use 
>> Solr's HTTP replication mechanism on a 2 or 3 minute interval.  To get HA 
>> indexing, I'd like to have 2 masters: a primary and a standby.  All indexing 
>> requests go to the primary unless it's taken out of service.  To keep the 
>> standby ready to takeover if it needs to, it needs to be more up to date 
>> than 
>> the slaves.  I'd like to have it replicate every 30 seconds or so.
>>>>>> 
>>>>>> The reason I'm asking about it on this list is that I 
>> haven't seen any Solr documentation or even anything that talks about this.  
>> I can't be the only one concerned about having a single point of failure, so 
>> I'm reaching out to see what others have done in this case before I go with 
>> my own solution.
>>>>>> 
>>>>>> 
>>>>>> Brandon Ramirez | Office: 585.214.5413 | Fax: 585.295.4848 
>> Software 
>>>>>> Engineer II | Element K | 
>> www.elementk.com<http://www.elementk.com/>
>>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>> 

Reply via email to