Blog_allgemein

Tipp – clusterstate.json verstehen / Neuer Artikel der Blogserie “SolrCloud – Tipps, Tricks und Pitfalls”

Johannes Brucher

…ist nicht nur auf dem Gebiet Search & Analytics Spezialist, sondern fühlt sich ebenso im Bereich SHI Publishing Solutions zuhause. Geboren 1981 in Bayern, studierte er Bioinformatik mit Schwerpunkt Softwareengineering an der FH Weihenstephan in Freising. Seit über 10 Jahren bereichert er SHI mit seinen Fachkenntnissen, die er bei SHI von „Junior Consultant“ zum „Senior Technical Consultant“ ausbaute. Lieblings-Dateiformat: WAV, MOV, jar

Wenn man mit der SolrCloud arbeitet, stößt man unweigerlich über die clusterstate.json-Datei. Die clusterstate.json-Datei zeigt den aktuellen Status der SolrCloud und wird vom ZooKeeper erstellt und verwaltet.

Dieses JSON-Datenformat kann man wunderbar nutzen, um den Status der SolrCloud mittels eigener Analyse- bzw. Monitoring-Tools auszulesen, um, beispielsweise, herauszufinden, ob alle Knoten in der Cloud noch aktiv sind oder welche Solr Server als Leader in der Cloud definiert sind.

Ich möchte nachfolgend die wichtigsten Informationen, welche die clusterstate.json bereitstellt, genauer erklären.

clusterstate.json

Im Admin-UI von Solr kann die clusterstate.json über den Menü „Cloud -> Tree“ erreicht werden.  Dort wird neben allgemeinen Informationen, wie, z.B., dataLength, auch die Information über Cores in SolrCloud im JSON-Format angezeigt. Für jeden einzelnen in der SolrCloud enthaltenen Core wird ein separater Block an Informationen generiert.

Das oben dargestellte Beispiel stellt einen einzelnen SolrCore in der Cloud im JSON-Format dar. Dieser enthält alle relevanten Informationen, um den Core anzusprechen (Shard Name, Collection Name, Core Name, URL) bzw. über dessen aktuellen Status (state, leader) zu erfahren.

coreName des Cores
shardName des Shards, zu dem der Core gehört
collectionName der Collection, zu der der Core gehört
stateStatus des Cores; kann actice, recovering, recovery_faileddownsync sein
node_nameName des ZooKeeper Knotens
base_urlBasis URL, um mit dem Core zu kommunizieren
leaderDer Wert signalisiert, ob der Core ein Leader ist, oder nicht. Der Wert „true“ ist nur bei Leader-Core gesetzt.
Weiterführende Informationen

Je größer SolrCloud wird, desto mehr dieser Blöcke tauchen in der clusterstate.json auf. Im nachfolgenden Beispiel sind zwei Cores enthalten. Wie man sieht, gehören beide zur gleichen Collection (core1).https://wiki.apache.org/solr/SolrCloud