Hi  guys (Shawn.Dwane & others)
thanks for your support...
My problem is tricky , I will try to summarize the constraints :
- existing Solr with Zookeeper cluster , I cannot migrate Zk ensemble
cluster separately because it is used by other applications (kafka ...) or
I should change the current  config to switch to the new version
- running version 6.x JDK 8 on RH 6.2 (?), target config is OpenJDK11 on RH
8.x
- 2 indexes and different shards (number depends from the target
environmen/volumet)
- we have 4 environments to migrate dev/staging (no important data here)
and production + another (less important but customers facing)
- production cluster , so because of the SLA the maximum down time is 4
hours and I am sure that it is not sufficient to reindex more than 1
billion of documents
- for the moment I don't know the schema used but sure I will have access
to the old version soon
- SolarJ clients to  be migrated too (customers would like not to upgrade
these clients but it seems to be mandatory judging by the docs & your
feedbacks)

On my todo list I already have written some points:
- build the new cluster independently from the  existing one
- try to use the same Zk ensemble for both clusters ( there is no problem
with recent Zk on JDK 11 with old Solr 6 running JDK 8 ?)
- migrate the config files
- migrate the JVM config : as mentionned by Dwane , of course we 'll try to
get the best options offered by new JVM (ZGC or G1 , we 'll need some
benchmarks to choose the best option)

then reindexing full documents list...

So the switch from one cluster to the other will be a network trick only
routing traffic from one cluster to the other...

Your expert advices strengthen my idea, but I fear to forgive an important
step .....
You already helped me to paint an approximate procedure ....

Thanks again for your support.



On Sat, May 15, 2021 at 5:27 PM Shawn Heisey <apa...@elyograg.org> wrote:

> On 5/14/2021 3:12 PM, jerome moliere wrote:
> > I would like to know the best practices to migrate a mission critical
> Solr
> > cluster from version 6.x to 8.x without any service shutdown.
> > Is the double upgrade required (mandatory) ?
> > We can introduce another temporary group of machines ro join the cluster,
> > then we may stop the existing nodes one by one once upgrade done...
> > In this case we have different indexes and 2 replicas per shard...
>
> If you have an index that has ever been touched by a 6.x version, you
> can't use it in 8.x, even if you first upgrade it with a 7.x version.
> It will fail.  Reindexing is required.  Jumping more than one major
> version was iffy and not recommended before 6.x, now it is explicitly
> enforced as not possible.  The enforcement is done by Lucene.
>
> > Is it possible to have concurently 2 versions of SolR running in the same
> > cluster?
>
> It would not be recommended at all to run two different major versions
> in one cluster.  I am assuming SolrCloud here, where the nodes are
> always talking to each other.
>
> > Of course a full reindexing seems to be required , there is no problem we
> > have enough time ( upgrade procedure is not required to be finished in a
> > short time).
> > I would like to have a summary of options available , pros & cons for
> each
> > one and if possible a few tips & tricks to avoid some pitfalls...
>
> Build the new cluster separately from the old one.  They could share the
> same zookeeper ensemble by setting up the new cluster with a different
> chroot.
>
> Create new config files for the indexes with the new version examples as
> starting points.
>
> Build the indexes from scratch on the new cluster.
>
> Switch the URLs in your application to point to the new cluster.
>
> Thanks,
> Shawn
>


-- 
J.MOLIERE - Mentor/J

Reply via email to