Passa ai contenuti principali

Post

Visualizzazione dei post da novembre, 2014

SolrCloud: aggiunta di uno shard a una collection esistente

Se uno shard sta diventando eccessivamente ingombrante non si può semplicemente aggiungere uno shard a una collection, ma si deve dividere in due lo shard esistente. Lo shard di partenza rimane inalterato e vengono creati due nuovi shard che contengono ciascuno parte dei documenti dello shard originario. I due nuovi shard così creati inizieranno a ricevere le richieste al posto dello shard di partenza che, però, dovrà essere disattivato a mano. I due nuovi shard risiederanno sugli stessi nodi dello shard di partenza. Se necessario dovranno essere spostati a mano su altri nodi. Suddividere uno shard in due Per dividere in due uno shard il comando da eseguire è: curl 'http://localhost:8983/solr/admin/collections?action=SPLITSHARD&collection=examplecoll&shard=shard1&async=true' In questo comando "shard1" è l'id dello shard da dividere e "examplecoll" è il nome della collection a cui appartiene lo shard. Attenzione al parametro async

SolrCloud: creazione di una nuova collection nel cluster

Gli esempi che si trovano in rete riguardanti un cluster SolrCloud di solito mostrano come avviare il cluster preimpostando una collezione di default. E' un po' più faticoso trovare la spiegazione di come si fa ad aggiungere una nuova collezione a un cluster esistente. Qui di seguito spiego i passaggi fondamentali. Caricamento della configurazione della collection in ZooKeeper La configurazione di una collection non è altro che la directory "conf" di un core nel caso di Solr in versione non Cloud: nel caso di SolrCloud i file contenuti nella directory non possono risiedere su un nodo in particolare, ma devono essere copiati in ZooKeeper per essere distribuiti a tutti i nodi del cluster. Per far questo si utilizza il comando zkcli.sh che Solr mette a disposizione in example/scripts/cloud-scripts : è una versione semplificata dell'omonimo comando di ZooKeeper. ./zkcli.sh --zkhost localhost:2181 --cmd upconfig --confdir /node1/solr/examplecoll/conf --confn