Apache Accumulo 2 bietet Anbindung an Hadoop 3 und Java 11

Der Key-Value-Store bietet außer der aktualisierten Java- und Hadoop-Basis neue APIs sowie vereinfachte Skripte für die Konfiguration.

In Pocket speichern vorlesen Druckansicht
Apache Accumulo 2 bietet Anbindung an Hadoop 3 und Java 11
Lesezeit: 3 Min.
Von
  • Rainald Menge-Sonnentag
Inhaltsverzeichnis

Unter dem Dach der Apache Software Foundation ist nun Accumulo 2.0.0 erschienen. Die sortierte, verteilte Schlüssel-Werte-Datenbank hat im Vergleich zum 1.9.x-Release eine aktualisierte Basis bezüglich der Hadoop- und Java-Plattform. Außerdem bringt das Release eine neue API zum Erstellen von Verbindungen und eine neue Bulk-Import-API sowie weniger Skripte für die Konfiguration.

Zum Erstellen von Accumulo-Clients existiert eine neue API, deren Basis das Objekt AccumuloClient ist. Mit der Umstellung gelten die bisher zur Verbindung verwendeten Objekte Connector und ZooKeeperInstance als überholt (deprecated). Dasselbe gilt für ClientConfiguration, da die Konfiguration nun über eine separate Datei im Accumulo-Tarball mit dem Namen accumulo-client.properties erfolgt.

Die Verbindungsinformationen lassen sich im Gegensatz zur API von Accumulo 1.x über die Properties-Datei festlegen. Zu den Vorteilen des neuen Systems gehört zudem, dass sich der neue Client manuell schließen lässt und kein statisches Ressourcenmanagement benötigt.

Auch die API für den Bulk-Import haben die Entwickler überarbeitet. Sie ermöglicht unter anderem den Import in eine Offline-Tabelle. Außerdem lässt sich über Pläne festlegen, an welcher Stelle Dateien in einer Tabelle landen sollen, wodurch das Öffnen der Dateien zur Untersuchung überflüssig wird. Insgesamt erfolgt die Untersuchung der Dateien nun grundsätzlich clientseitig, bevor der Fault-Tolerant Executor (FATE) seine Arbeit aufnimmt.

Einige Aufräumarbeiten bei den Skripten und der Konfiguration sollen Accumulo zugänglicher machen. So finden sich im bin-Verzeichnis von Accumulo nun lediglich vier statt bisher 20 Skripte. accumulo-service verwaltet die einzelnen Accumulo-Prozesse, accumulo-cluster dient dem Management von Accumulo im Cluster und ersetzt start-all.sh sowie stop-all.sh. accumulo-util ist ein übergreifendes Skript für diverse Tools, die bisher separate Konfigurationen hatten. accumulo ist für erweiterte Szenarien vorgesehen und erfordert für die meisten Anwendungsfälle keine Anpassungen.

Eine weitere Ergänzung sind die sogenannten Summaries, die kontinuierliche Statistiken zu einer Tabelle über benutzerdefinierte Funktionen erstellt. Außerdem existiert neuerdings ein offizielles Docker-Image. Unter der Haube setzt Accumulo 2 nun auf Hadoop 3 auf, das gleichzeitig Mindestvoraussetzung ist. Bezüglich der Java-Version gilt nun Java 8 als Mindestanforderung, und Entwickler können optional Java 11 verwenden. Gleichzeitig markiert das Release den Umstieg auf semantische Versionierung (semver).

Der Aufbau der Schlüssel-Werte-Paare in Accumulo ist komplexer als bei vielen anderen Key-Value-Stores.

(Bild: Apache Software Foundation)

Weitere Neuerungen wie die Scan Executors lassen sich den Release-Hinweisen zu Accumulo 2.0.0 entnehmen. Accumulo ist ein Key-Value-Store für das hochperformante Speichern und Abrufen von Daten. Er setzt auf die Apache-Projekte Hadoop und ZooKeeper sowie Google BigTable auf und verwendet zum Speichern der Daten das Hadoop File System (HDFS). Accumulo befindet sich seit 2008 in der Entwicklung und ist bereits seit acht Jahren unter dem Dach der Apache Software Foundation beheimatet. (rme)