Hi Jan, Thanks for clarifying the process. I have a couple of follow-up questions on the REPLACENODE API (since I've never used this before).
1. Do I need to run REPLACENODE on each existing node ( 4 in my scenario) to a corresponding new node (running on 9.2)? 2. The documentation says "*The API uses the Autoscaling framework to find nodes that can satisfy the disk requirements for the new replicas but only when an Autoscaling policy is configured".* Is that a requirement as I was under the impression that autoscaling has been deprecated from 9 release onwards? Appreciate your help. Thanks, Shamik On Fri, Mar 31, 2023 at 1:19 AM Jan Høydahl <[email protected]> wrote: > Hi, > > Any co-existing if 8.x and 9.x nodes in the same cluster will require the > multi-step approach. > > You set the solr.pki.sendVersion as system property, e.g. by adding it to > SOLR_OPTS variable in > solr.in.sh, or through other means your environment has to pass variables > to solr. I.e. > > Should be something like: > > 1. Start your new 4 EC2's with > SOLR_OPTS=-Dsolr.pki.sendVersion=1 -Dsolr.pki.acceptVersions=v1,v2 > Verify in Admin UI Java properties screen that you see these > properties showing up on the new nodes > 2. Use REPLACENODE api to move replicas to new nodes: > https://solr.apache.org/guide/8_11/cluster-node-management.html#replacenode > 3. Retire the old nodes > 4. Remove the sendVersion override properties from solr.in.sh and restart > each node > > > Jan > > 30. mar. 2023 kl. 21:45 skrev Shamik Bandopadhyay <[email protected]>: > > > > Hi, > > > > I'm planning to upgrade to the latest Solr version from our current > > version of 8.11.1. As per the upgrade notes, looks like I should be able > to > > do a rolling upgrade. The part I'm a bit confused about is the *PKI > > Authentication* section. It says: > > > > *A rolling upgrade from Solr 8 to Solr 9 requires the following multiple > > restart sequence:* > > > > 1. > > > > *Upgrade to Solr 9 and set system properties: solr.pki.sendVersion=v1 > > and solr.pki.acceptVersions=v1,v2. This will allow Solr 9 nodes to send > > messages to Solr 8 nodes while the upgrade is in progress.* > > 2. > > > > *Restart with solr.pki.sendVersion=v2 (default, can be unset) and > > solr.pki.acceptVersions=v1,v2. This will force all nodes to send the > new > > header.* > > 3. > > > > *(Optional) Restart with system property solr.pki.acceptVersions=v2 > > (default, can be unset) to prevent outdated nodes from connecting to > your > > cluster.* > > > > > > Does this apply to every 8 to 9 upgrade irrespective of the version? > > > > Currently, my development environment has 4 nodes (each running on its > > separate EC2 instance) with 2 shards and 1 replica each. There are three > > zookeeper instances. I'll have four new EC2 with Solr 9.2 installed and > > then start them in sequence, each pointing to the existing zookeeper > > cluster. This should add them as replicas to the existing SolrCloud > cloud. > > What I'm not clear about is > > 1. Where do I add solr.pki.sendVersion=v1 and > solr.pki.acceptVersions=v1,v2 > > ? Do they have to be in *solr.in.sh <http://solr.in.sh> *for each node? > > 2. When do I perform step 2 of restarting the new nodes with > > solr.pki.sendVersion=v2 and solr.pki.acceptVersions=v1,v2 ? > > > > Any pointers will be highly appreciated. > > > > Thanks, > > Shamik > >
