Apache Kudu 1.10 - jetzt mit Autorisierung & Backup

kudu

Am 9. Juli wurde Apache Kudu 1.10 veröffentlicht. Nur wenige Wochen später hat Cloudera diese Kudu-Version in die neue Hadoop-Distribution CDH 6.3 integriert. Neben vielen Detailverbesserungen und Fehlerkorrekturen enthält Kudu jetzt zwei seit langem erwartete neue Features:

  • "fine-grained authorization via integration with Apache Sentry"
  • "full and incremental table backups via a job implemented using Apache Spark"

    Alle neuen Features, Fehlerkorrekturen und Änderungen werden in den Kudu Release Notes beschrieben [1].

  Fine-Grained Authorization

Eins der wichtigsten neunen Features ist die Sentry Integration und damit die Möglichkeit, Zugriffsrechte fein granular zu vergeben und zu verwalten. Bisher konnten Rechte für einzelne Tabellen oder Spalten einer Kudu-Datenbank nur über Impala vergeben werden [2]. Dadurch war es möglich, den Zugriff über Impala SQL einzuschränken. Beim direkten Zugriff über die Kudu-Datenbanktreiber, wie zum Beispiel in einem Spark Job, wurden diese Policies aber ignoriert. Ab Version 1.10 ist es mit Sentry möglich, die Zugriffsrechte direkt für Kudu zu konfigurieren. Rechte können für den Server, einzelne Datenbanken, Tabellen und Spalten vergeben werden. Eine Datenbank in Kudu wird durch eine simple Namenskonvention definiert. Alles vor dem ersten Punkt (".") im Namen einer Tabelle wird als Datenbankname betrachtet. Für die unterschiedenen Datenbankobjekte können Rechte für das Lesen der Metadaten sowie das Erstellen, Ändern und Löschen der Objekte selbst festgelegt werden. Zusätzlich ist die Rechtevergabe für das Einfügen, Ändern, Löschen und Selektieren von Daten möglich. Die Details werden in der Kudu-Dokumentation auf der Homepage des Apache-Projektes [3] und bei Cloudera [4] ausführlich beschrieben.  

  Backup & Restore

Mit dem neuen Backup & Restore Feature können Kudu-Tabellen gesichert und wiederhergestellt werden. Für die Datensicherung und die Wiederherstellung werden Spark Jobs verwendet. Zusätzlich gibt es noch Tools für die Verwaltung der Backups. Die Sicherung der Daten erfolgt in Dateien. Als Ziel für das Backup kann jeder von Spark unterstützte Verzeichnispfad angeben werden. Das kann zum Beispiel ein HDFS Verzeichnis sein. Beim ersten Backup wird automatsch ein Full-Backup erstellt. Weitere Backups werden dann inkrementell durchgeführt. Zusätzlich kann jederzeit ein Full-Backup erzwungen werden. Beim Restore wird die gesicherte Tabelle automatisch neu angelegt. Alternativ kann ein Suffix, das an den Namen der Tabelle angehängt wird, angegeben werden. Das ist zum Beispiel hilfreich, wenn eine Tabelle mit dem Namen existiert und nicht überschrieben werden soll. Weitere Details gibt es wieder auf der Homepage des Apache Projektes [5] und in der Cloudera Dokumentation [6]. 

  CDH Integration

Die beschriebenen Features sind abhängig von der Integration in eine existierende Hadoop Installation. Insbesondere werden Sentry und Spark benötigt. Weiterhin ist für die Ausführung der Spark Jobs ein Cluster Manager und für die Speicherung der Backups ein Dateisystem (wie zum Beispiel HDFS) notwendig. Hier bieten sich YARN und HDFS an. Einige der Kudu-Features benötigen eine Integration mit Impala und Hive bzw. den Hive Metastore. In der aktuellen Cloudera Distribution sind all diese Dienste bereits integriert. Weitere interessante Neuerungen in CDH bzw. Cloudera Enterprise 6.3 sind:  

  • Open JDK 11 Support
  • Update von Kafka auf die Version 2.2.1
  • SPNEGO für die Cloudera Manager Web UI und API

​ Die CDH Release Notes enthalten eine ausführliche Beschreibung der Änderungen und Neuheiten [7].

Quellen 

 

Kommentare

Derzeit gibt es keine Kommentare. Schreibe den ersten Kommentar!
Gäste
Samstag, 24. August 2019

Sicherheitscode (Captcha)