HBase
 sql >> Datenbank >  >> NoSQL >> HBase

Betriebliche Datenbankverwaltung

Anmerkung des Herausgebers, August 2020:CDP Data Center heißt jetzt CDP Private Cloud Base. Hier erfahren Sie mehr darüber.

Einführung

Dieser Blogbeitrag ist Teil einer Serie über Clouderas Operational Database (OpDB) in CDP. Jeder Beitrag geht detaillierter auf neue Features und Fähigkeiten ein. Beginnen Sie am Anfang der Reihe mit Operational Database in CDP.

Dieser Blog-Beitrag gibt Ihnen einen Überblick über die Verwaltungstools und Funktionen der Betriebsdatenbank (OpDB) in der Cloudera Data Platform. Es ist heute in zwei Formfaktoren erhältlich:als vollständig sicheres, teilweise verwaltetes Angebot in CDP Public Cloud – Data Hub und als vollständig anpassbares Angebot in CDP Data Center (ähnlich dem, was in CDH und HDP verfügbar ist). Weitere Informationen zu Data Hub finden Sie unter Cloudera Data Hub.

Abb. 1:OpDB Data Hub-Cluster.

Sie können die Links in diesem Artikel verwenden, um weitere Informationen und Anweisungen zur Verwendung dieser Funktionen zu erhalten.

Datenbankerstellung und -kontrolle

Apache HBase-Namespaces sind logische Gruppen von Tabellen, die einer Datenbank in einem herkömmlichen relationalen Datenbanksystem ähneln. Namespaces können über die Apache HBase Shell erstellt oder verwaltet werden. Weitere Informationen zur Verwendung der Apache HBase-Shell finden Sie unter Übersicht über die Apache HBase-Shell.

Mit Replikationsmanager und Ranger im Bild mit CDP können Sie den Namespace nur erstellen und in der HBase-Shell verwalten. Aber die Berechtigungen erfolgen über Ranger und die Replikation erfolgt über den Replication Manager.

Genau wie in einer relationalen Datenbank enthalten Namespaces Sammlungen von Tabellen und Berechtigungen, Replikationseinstellungen und Ressourcenisolation. Sie können diese Konfigurationen auf Namespace-Ebene festlegen. In CDP können Sie einen Namespace erstellen und ihn mithilfe der HBase-Shell verwalten. Sie können Apache Ranger für differenzierte Autorisierungsrichtlinien und Audits verwenden. Weitere Informationen zum Einrichten der Sicherheit in CDP finden Sie unter Sicherheit mit Ranger.

Replication Manager unterstützt Sie beim Erstellen von HBase-Replikationsrichtlinien. Sie können Replication Manager verwenden, um die Replikation zwischen CDH/HDP oder Apache HBase zu CDP Data Center einzurichten.

Abb. 2:Benutzeroberfläche für Replikationsrichtlinien erstellen

Grafische DDL- und DCL-Funktionalität

Dafür stehen mehrere Tools zur Verfügung, darunter Plugins für:

  • Cloudera Machine Learning (CML):CML hilft Ihnen, Daten mit dem HBase-Client und Phoenix abzufragen, und unterstützt Sie bei der interaktiven Datenexploration, -visualisierung, -freigabe und -zusammenarbeit. OpDB kann verwendet werden, um Sitzungs-/Job-/Modellvorhersageergebnisse für eine spätere Abfrage durch mehrere verschiedene Benutzer zu speichern.

Abb. 3:Benutzeroberfläche für maschinelles Lernen von Cloudera

  • Hue:Hue ist ein webbasierter interaktiver Abfrageeditor, der Ihnen die Interaktion mit Data Warehouses ermöglicht. Sie können die HBase Browser-Anwendung in Hue verwenden, um HBase-Tabellen zu erstellen und zu durchsuchen.

Abb. 4:Die Hue-Oberfläche unterstützt Suchen, Einfügen, Aktualisieren, Löschen, DDL für HBase

Sie können die SQL-Schnittstelle mit Impala oder Hive für die Abfrageverarbeitung in Hue verwenden.

Abb. 5:SQL-Schnittstelle mit Impala

Hier ist ein Tutorial zum Erstellen von Beispieltabellen in HBase mit Hue:https://gethue.com/hadoop-tutorial-how-to-create-example-tables-in-hbase/  

  • Eclipse:Die HBase-Codeformatierung für Eclipse ist nützlich, wenn Sie HBase-Code in Eclipse bearbeiten. Weitere Informationen finden Sie unter Erstellen und Entwickeln von Apache HBase.

Tools wie Zeppelin und Hue werden zusammen mit ihren Plugins sofort einsatzbereit bereitgestellt. Sie können jedoch auch SQL-Dienstprogramme von Drittanbietern wie Toad verwenden.

Tools für das Upgrade der Betriebsdatenbankversion

Sie können Cloudera Manager verwenden, um das Upgrade der Betriebsdatenbank in Ihrem Cloudera Data Platform-Data Center (CDP-DC) zu automatisieren. Upgrades werden über Releases oder Wartungspatches bereitgestellt. Cloudera Manager installiert die Releases und/oder Patches und verwaltet die Konfiguration sowie den Neustartprozess.

Wenn Sie CDP in einer öffentlichen Cloud wie Amazon AWS verwenden, müssen Sie einen neuen Data-Hub-Cluster erstellen, um auf die neuen Versionen verschiedener Komponenten zu aktualisieren. Weitere Informationen zum Erstellen eines neuen Data Hub-Clusters für operative Datenbanken finden Sie unter Erste Schritte mit Operational Database auf CDP.

Das Angebot von Cloudera ist ein Cluster-basiertes Angebot; Upgrades und Patches umfassen alle mehrere Knoten (Server) und Installation, Konfiguration und Neustart sind alle automatisiert, einschließlich rollierender Neustarts, sofern zutreffend.

Patch-Management-Tools über mehrere Server hinweg

Im CDP Data Center installiert Cloudera Manager die Releases und verwaltet die Konfiguration. Cloudera Manager führt auch den Neustartprozess für jede der betroffenen Komponenten durch.

Zero-Downtime-Patch-Anwendung

Im CDP Data Center können Sie mit Cloudera Manager Patches ohne Ausfallzeiten anwenden.

Änderungsmanagement über mehrere Server hinweg

Sie können die Änderungsverwaltung für Datenbankschemas über mehrere Instanzen hinweg durchführen. Sie können dies beispielsweise in Ihrer Test-/Entwicklungs-, Staging- oder Produktionsumgebung tun.

Sie können die erforderlichen Änderungen mithilfe der HBase-Shell skripten und sie dann an die anderen Instanzen weitergeben.

Weitere Informationen zur Verwendung der HBase-Shell finden Sie unter Apache HBase-Shell.

Workload-Partitionierung

Sie können die Workload-/Anwendungspartitionierung innerhalb von OpDB mit mehreren Tools durchführen, je nach Art der Gruppe von Workloads und ihren Datenanforderungen.

Wenn alle Anwendungen auf separate Tabellen zugreifen, können Regionsservergruppen verwendet werden, um eine Gruppe von Knoten für eine definierte Gruppe von Tabellen oder Namespaces zuzuweisen, wodurch ein Ansatz zur Hardwarepartitionierung entsteht. Weitere Informationen zu Regionsservergruppen finden Sie unter Verwenden der RegionServer-Gruppierung.

Für Anwendungen, die denselben Tabellensatz verwenden, können Sie RPC-Drosselung, Benutzerkontingente und Speicherplatzkontingente verwenden, um das Noisy-Neighbor-Problem zu bewältigen. Weitere technische Details finden Sie unter HBase-Angebotsverwaltung.

Sie können diese beiden Optionssätze auch kombinieren, um ein ausgefeilteres Partitionierungsschema zu erhalten. Verwenden Sie Cloudera Manager, um sicherzustellen, dass bestimmte Dienste angemessen zwischen verschiedenen Knoten des Clusters partitioniert werden; Beispielsweise können Sie entscheiden, welche Knoten für die SOLR-Suche usw. verwendet werden sollen.  

Hardwarepartitionierung

Cloudera Manager und YARN nutzen beide Linux-Cgroups und aktive Speicherverwaltung für die statische und dynamische Partitionierung von Hardwareressourcen.

Erstens können alle Prozesse, die auf allen Hosts ausgeführt werden, mit Cgroups fest partitioniert werden, die von Cloudera Manager festgelegt werden. Zweitens können Benutzer mit einem Assistenten das Layout statischer Partitionen für Dienste definieren, indem sie Prozentsätze festlegen, cgroup-basierte CPU- und I/O-Isolation automatisch übersetzen und Speichergrenzen festlegen, indem sie Dienste selbst konfigurieren.

Schließlich stellt der native Ressourcenmanager ein Containermodell für Workloads bereit, das jede einzelne Arbeitseinheit in einem Container unter Verwendung von Cgroups und aktiver Speicherverwaltung (set, monitor and kill) zur Anwendungsisolierung platziert.

Software-Hypervisoren

Die folgenden Software-Hypervisoren werden unterstützt

  • VMware wird für lokale Umgebungen unterstützt
  • Virtuelle Umgebungen von Microsoft Azure (Azure Stack)
  • Amazon Web Services, die Virtualisierung der Google Compute Platform und Microsoft Azure werden in der Cloud unterstützt.

Container- und Orchestrierungsunterstützung

Cloudera stellt ein Docker-Image bereit, auf dem Apache HBase, Apache ZooKeeper und Cloudera Manager installiert sind. Sie können YARN so konfigurieren, dass es Ihre Docker-Container verwaltet und Apache HBase-Jobs im selben Container an YARN sendet oder Jobs von einem anderen Container an YARN sendet.

Weitere Informationen finden Sie unter Docker-Container auf YARN verwalten.

Rollback von Patches oder Release-Upgrades

Cloudera Manager bietet Automatisierung für einige der Rollback-Prozesse. Upgrades können manchmal Änderungen in den Datenformaten beinhalten. Tools zum Rückgängigmachen von Formatänderungen werden nicht unterstützt, und Sie müssen eine Wiederherstellung von Daten aus Sicherungen auslösen, damit beim Rollback die alten Daten verwendet werden können.

Plattformübergreifende Migration

Die standardmäßigen Sicherungs-/Wiederherstellungs-/Datenwiederherstellungstools von Cloudera sind verfügbar, um die Migration der OpDB zwischen verschiedenen Betriebssystemen zu unterstützen.

HBase Backup- und Disaster-Recovery-Strategien stellen sicher, dass Ihre Daten gesichert werden, um Sie vor Datenverlust zu schützen. HBase-Snapshot ermöglicht es Ihnen, einen Snapshot einer Tabelle ohne große Auswirkungen auf RegionServers zu erstellen. Auch, weil Snapshot-, Klon- und Wiederherstellungsvorgänge kein Kopieren von Daten beinhalten.

Weitere Informationen zu HBase-Sicherung und Notfall finden Sie unter Strategien für HBase-Sicherung und Notfallwiederherstellung.

Tools für Datenbankadministratoren (DBA)

Es sind viele Tools enthalten, die die Verwaltung der Datenbank unterstützen, darunter:

  • Cloudera-Manager
  • HBase-Shell
  • Farbton
  • HBCK2 
  • hbtop
  • Ranger 
  • Atlas
  • FreeIPA 
  • navencrypt 
  • HDFS-Tools
  • GARN

Diese Tools bieten Metriken und Überwachung, Cluster-Neustart, Hinzufügen von Ingest, Lebenszyklusverwaltung, Upgrades, Sicherheit, Kerberos-Einrichtung und andere Funktionen.

Abb. 6:Cloudera Manager HBase-Oberfläche

Abb. 7:Metriken und Überwachung im Cloudera Manager:

Abb. 8:Neustart des Clusters im Cloudera Manager

Zusätzlich zu diesen Tools können Sie auch die folgenden Verwaltungstools von Drittanbietern und Open Source verwenden:

  • Hrider
  • HADMIN

Öffnen Sie dokumentierte Schnittstellen für Verwaltungstools von Drittanbietern

Wir stellen auch offene APIs bereit, damit andere Tools zur Verwaltung von OpDB verwendet werden können. Beispielsweise kann die JMX-Schnittstelle zur Integration mit Überwachungstools von Drittanbietern wie Grafana verwendet werden.

Fazit

In diesem Blogbeitrag haben wir uns angesehen, wie Sie die verschiedenen Verwaltungstools und -funktionen nutzen können, die von der OpDB in CDP bereitgestellt werden. Im nächsten Artikel behandeln wir, wie Sie die Verwaltungsfunktionen in OpDB nutzen können, sehen Sie sich das hier an.