HBase Application Specifics for Earlier AMI Versions of Amazon EMR - Amazon EMR

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

HBase Application Specifics for Earlier AMI Versions of Amazon EMR

Supported HBase Versions

HBase-Version AMI-Version AWS CLI-Konfigurationsparameter HBase-Versionsdetails
0.94.18 3.1.0 und höher

--ami-version 3.1

--ami-version 3.2

--ami-version 3.3

--applications Name=HBase

  • Bug fixes and enhancements.

0.94.7 3.0-3.0.4

--ami-version 3.0

--applications Name=HBase

0.92 2.2 und höher

--ami-version 2.2 or later

--applications Name=HBase

HBase Cluster Prerequisites

Ein Cluster, der mit den AMI-Versionen 2.x und 3.x von Amazon EMR erstellt wurde, sollte die folgenden Anforderungen für HBase erfüllen.

  • The AWS CLI (optional)—To interact with HBase using the command line, download and install the latest version of the AWS CLI. For more information, see Installing the AWS Command Line Interface in the Benutzerhandbuch für AWS Command Line Interface.

  • At least two instances (optional)—The cluster's master node runs the HBase master server and Zookeeper, and task nodes run the HBase region servers. For best performance, HBase clusters should run on at least two EC2 instances, but you can run HBase on a single node for evaluation purposes.

  • Long-running cluster—HBase only runs on long-running clusters. By default, the CLI and Amazon EMR console create long-running clusters.

  • An Amazon EC2 key pair set (recommended)—To use the Secure Shell (SSH) network protocol to connect with the master node and run HBase shell commands, you must use an Amazon EC2 key pair when you create the cluster.

  • The correct AMI and Hadoop versions—HBase clusters are currently supported only on Hadoop 20.205 or later.

  • Ganglia (optional)—To monitor HBase performance metrics, install Ganglia when you create the cluster.

  • An Amazon S3 bucket for logs (optional)—The logs for HBase are available on the master node. If you'd like these logs copied to Amazon S3, specify an S3 bucket to receive log files when you create the cluster.

Creating a Cluster with HBase

Die folgende Tabelle enthält Optionen, die verfügbar sind, wenn mithilfe der Konsole ein Cluster mit HBase mittels eine AMI-Version von Amazon EMR erstellt wird.

Feld Aktion: ,
Restore from backup (Wiederherstellen mithilfe der Sicherung) Geben Sie an, ob der HBase-Cluster mit in Amazon S3 gespeicherten Daten vorab geladen werden soll.
Backup location (Speicherort der Sicherung) Geben Sie den URI an, in dem die Sicherung in Amazon S3 gespeichert ist, von der die Wiederherstellung erfolgen soll.
Backup version (Sicherungsversion) Geben Sie optional den Versionsnamen der zu verwendenden Sicherung unter Backup location (Speicherort der Sicherung) an. Wenn Sie in dieses Feld keinen Wert eingeben, verwendet Amazon EMR die aktuelle Sicherung unter Backup location (Speicherort der Sicherung), um den neuen HBase-Cluster zu füllen.
Schedule regular backups (Regelmäßige Sicherungen planen) Geben Sie an, ob automatisch inkrementelle Sicherungen eingeplant werden sollen. Die erste Sicherung ist ein vollständiges Backup, um eine Baseline für künftige inkrementelle Sicherungen zu erstellen.
Consistent backup (Konsistente Sicherung) Geben Sie an, ob die Sicherungen konsistent sein sollen. Bei einer konsistenten Sicherung werden die Schreibvorgänge während der anfänglichen Sicherungsstufe, der knotenübergreifenden Synchronisierung, angehalten. Alle auf diese Weise angehaltenen Schreibvorgänge werden in eine Warteschlange gestellt und nach Abschluss der Synchronisierung fortgesetzt.
Backup frequency (Sicherungshäufigkeit) Die Anzahl der Tage/Stunden/Minuten zwischen den geplanten Sicherungen.
Backup location (Speicherort der Sicherung) Der Amazon S3-URI, in dem die Sicherungen gespeichert werden. Der Sicherungsort sollte für jeden HBase-Cluster unterschiedlich sein, um sicherzustellen, dass differenzielle Sicherungen intakt bleiben.
Backup start time (Startzeit der Sicherung) Geben Sie an, wann die erste Sicherung durchgeführt werden soll. Sie können für dieses Feld now angeben. Dann wird die erste Sicherung gestartet, sobald der Cluster ausgeführt wird. Oder geben Sie ein Datum und eine Uhrzeit im ISO-Format ein. Beispielsweise würde 2012-06-15T20:00Z die Startzeit auf 15. Juni 2012 um 20:00 Uhr UTC festlegen.

Der folgende AWS CLI-Beispielbefehl startet einen Cluster mit HBase und anderen Anwendungen:

Anmerkung

Zur besseren Lesbarkeit sind Linux-Zeilenfortsetzungszeichen (\) enthalten. Sie können entweder entfernt oder in Linux-Befehlen verwendet werden. Ersetzen Sie diese Zeichen unter Windows durch ein Caret-Zeichen (^).

aws emr create-cluster --name "Test cluster" --ami-version 3.3 \ --applications Name=Hue Name=Hive Name=Pig Name=HBase \ --use-default-roles --ec2-attributes KeyName=myKey \ --instance-type c1.xlarge --instance-count 3 --termination-protected

Nach dem Herstellen der Verbindung zwischen dem Hive- und HBase-Cluster (wie in der vorherigen Vorgehensweise gezeigt) können Sie auf die Daten zugreifen, die auf dem HBase-Cluster gespeichert sind, indem Sie eine externe Tabelle in Hive erstellen.

Das folgende Beispiel, wenn Sie aus der Hive-Eingabe ausgeführt werden, erstellt eine externe Tabelle, die in einer hbase-Tabelle gespeicherten Daten referenziert inputTable. Sie können dann auf inputTable in Hive-Berichten, um die im hbase-Cluster gespeicherten Daten zu abfragen und zu ändern.

Anmerkung

Im folgenden Beispiel wird protobuf-java-2.4.0a.jar in AMI 2.3.3 verwendet. Sie sollten das Beispiel jedoch an Ihre Version anpassen. Um zu prüfen, welche Version des Protocol Buffer-JAR Sie haben, führen Sie den folgenden Befehl an der Hive-Eingabeaufforderung aus: . ! ls /home/hadoop/lib;.

add jar lib/emr-metrics-1.0.jar ; add jar lib/protobuf-java-2.4.0a.jar ; set hbase.zookeeper.quorum=ec2-107-21-163-157.compute-1.amazonaws.com ; create external table inputTable (key string, value string) stored by 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' with serdeproperties ("hbase.columns.mapping" = ":key,f1:col1") tblproperties ("hbase.table.name" = "t1"); select count(*) from inputTable ;

Customizing HBase Configuration

Die Standardeinstellungen sollten zwar problemlos bei den meisten Anwendungen funktionieren, dennoch haben Sie die Möglichkeit, Ihre HBase-Konfigurationseinstellungen zu ändern. Führen Sie hierzu eines der beiden Bootstrap-Aktionsskripts aus:

  • configure-hbase-daemons—Configures properties of the master, regionserver, and zookeeper daemons. These properties include heap size and options to pass to the Java Virtual Machine (JVM) when the HBase daemon starts. You set these properties as arguments in the bootstrap action. This bootstrap action modifies the /home/hadoop/conf/hbase-user-env.sh configuration file on the HBase cluster.

  • configure-hbase—Configures HBase site-specific settings such as the port the HBase master should bind to and the maximum number of times the client CLI client should retry an action. You can set these one-by-one, as arguments in the bootstrap action, or you can specify the location of an XML configuration file in Amazon S3. This bootstrap action modifies the /home/hadoop/conf/hbase-site.xml configuration file on the HBase cluster.

Anmerkung

Diese Skripts können wie andere Bootstrap-Aktionen auch nur beim Erstellen des Clusters ausgeführt werden. Sie können sie nicht verwenden, um die Konfiguration eines HBase-Clusters zu ändern, der gerade ausgeführt wird.

Wenn Sie die Bootstrap-Aktionen configure-hbase oder configure-hbase-daemons ausführen, werden die Standardwerte durch Ihre angegebenen Werte überschrieben. Alle Werte, die Sie nicht explizit angeben, erhalten die Standardwerte.

Die Konfiguration von HBase mit diesen Bootstrap-Aktionen ähnelt der Verwendung von Bootstrap-Aktionen in Amazon EMR zur Konfiguration von Hadoop-Einstellungen und Hadoop-Daemon-Eigenschaften. Der Unterschied besteht darin, dass HBase nicht über Speicheroptionen für einzelne Prozesse verfügt. Stattdessen werden Speicheroptionen unter Verwendung der --daemon-opts Argument, wo daemon wird durch den Namen des Daemon ersetzt, um zu konfigurieren.

Configure HBase Daemons

Amazon EMR bietet eine Bootstrap-Aktion, s3://region.elasticmapreduce/bootstrap-actions/configure-hbase-daemons, die Sie verwenden können, um die Konfiguration von hbase Daemons zu ändern, wo region ist die Region, in die Sie Ihren hbase-Cluster starten.

Zum Konfigurieren von HBase-Daemons mit der AWS CLI fügen Sie die Bootstrap-Aktion configure-hbase-daemons hinzu, wenn Sie den Cluster starten, um einen oder mehrere HBase-Daemons zu konfigurieren. Sie können die folgenden Eigenschaften festlegen:

Eigenschaft Description (Beschreibung)
hbase-master-opts Optionen, die steuern, wie die JVM den Master-Daemon ausführt. Wenn diese Optionen definiert sind, werden die HBASE_MASTER_OPTS-Standardvariablen damit überschrieben.
regionserver-opts Optionen, die steuern, wie die JVM den Regionsserver-Daemon ausführt. Wenn diese Optionen definiert sind, werden die HBASE_REGIONSERVER_OPTS-Standardvariablen damit überschrieben.
zookeeper-opts Optionen, die steuern, wie die JVM den Zookeeper-Daemon ausführt. Wenn diese Optionen definiert sind, werden die HBASE_ZOOKEEPER_OPTS-Standardvariablen damit überschrieben.

Weitere Informationen zu diesen Optionen finden Sie unter hbase-env.sh in der HBase-Dokumentation.

Eine Bootstrap-Aktion zum Konfigurieren von Werten für zookeeper-opts und hbase-master-opts wird im folgenden Beispiel dargestellt.

Anmerkung

Zur besseren Lesbarkeit sind Linux-Zeilenfortsetzungszeichen (\) enthalten. Sie können entweder entfernt oder in Linux-Befehlen verwendet werden. Ersetzen Sie diese Zeichen unter Windows durch ein Caret-Zeichen (^).

aws emr create-cluster --name "Test cluster" --ami-version 3.3 \ --applications Name=Hue Name=Hive Name=Pig Name=HBase \ --use-default-roles --ec2-attributes KeyName=myKey \ --instance-type c1.xlarge --instance-count 3 --termination-protected \ --bootstrap-actions Path=s3://elasticmapreduce/bootstrap-actions/configure-hbase-daemons,\ Args=["--hbase-zookeeper-opts=-Xmx1024m -XX:GCTimeRatio=19","--hbase-master-opts=-Xmx2048m","--hbase-regionserver-opts=-Xmx4096m"]

Configure HBase Site Settings

Amazon EMR stellt die Bootstrap-Aktion s3://elasticmapreduce/bootstrap-actions/configure-hbase bereit, mit der Sie die Konfiguration von HBase ändern können. Sie können die Konfigurationswerte einzeln, als Argumente in der Bootstrap-Aktion definieren oder Sie geben den Speicherort einer XML-Konfigurationsdatei in Amazon S3 an. Es bietet sich an, die Konfigurationswerte nacheinander zu definieren, wenn Sie nur einige wenige Konfigurationseinstellungen vornehmen müssen. Sie mit einer XML-Datei zu definieren, ist hilfreich, wenn Sie viele Änderungen vornehmen müssen oder Ihre Konfigurationseinstellungen für die Wiederverwendung speichern möchten.

Anmerkung

Sie können das Amazon S3 Bucket-Name mit einem Regionspräfix, z. B. s3://region.elasticmapreduce/bootstrap-actions/configure-hbase, wo region ist die Region, in die Sie Ihren hbase-Cluster starten.

Durch diese Bootstrap-Aktion wird die Konfigurationsdatei /home/hadoop/conf/hbase-site.xml auf dem HBase-Cluster geändert. Die Bootstrap-Aktion kann nur beim Starten des HBase-Clusters ausgeführt werden.

Weitere Informationen zu den HBase-Standorteinstellungen, die Sie konfigurieren können, finden Sie unter Default Configuration in der HBase-Dokumentation.

Legen Sie die Bootstrap-Aktion configure-hbase beim Starten des HBase-Clusters fest und geben Sie die zu ändernden Werte in hbase-site.xml an.

So geben Sie einzelne HBase-Standorteinstellungen mit der AWS CLI an

  • So ändern Sie die hbase.hregion.max.filesize einstellen, geben Sie den folgenden Befehl ein und ersetzen Sie myKey mit dem Namen Ihrer Amazon EC2 Schlüsselpaar.

    Anmerkung

    Zur besseren Lesbarkeit sind Linux-Zeilenfortsetzungszeichen (\) enthalten. Sie können entweder entfernt oder in Linux-Befehlen verwendet werden. Ersetzen Sie diese Zeichen unter Windows durch ein Caret-Zeichen (^).

    aws emr create-cluster --name "Test cluster" --ami-version 3.3 \ --applications Name=Hue Name=Hive Name=Pig Name=HBase \ --use-default-roles --ec2-attributes KeyName=myKey \ --instance-type c1.xlarge --instance-count 3 --termination-protected \ --bootstrap-actions Path=s3://elasticmapreduce/bootstrap-actions/configure-hbase,Args=["-s","hbase.hregion.max.filesize=52428800"]

So geben Sie HBase-Standorteinstellungen mit einer XML-Datei über die AWS CLI an

  1. Erstellen Sie eine benutzerdefinierte Version von hbase-site.xml. Ihre benutzerdefinierte Datei muss gültige XML sein. Um Fehlerquellen zu minimieren, starten Sie mit der Standardkopie von hbase-site.xml auf dem HBase-Master-Knoten von Amazon EMR unter /home/hadoop/conf/hbase-site.xml. Bearbeiten Sie eine Kopie dieser Datei, anstatt eine Datei von Grund auf neu zu erstellen. Sie können Ihrer neuen Datei einen neuen Namen geben oder den Dateinamen hbase-site.xml belassen.

  2. Laden Sie die benutzerdefinierte Datei hbase-site.xml in einen Amazon S3-Bucket hoch. Für die Datei sollten Berechtigungen festgelegt sein, damit das AWS-Konto, das den Cluster startet, auf die Datei zugreifen kann. Wenn das AWS-Konto, das den Cluster startet, auch Eigentümer des Amazon S3-Buckets ist, erhält es Zugriff.

  3. Definieren Sie die Bootstrap-Aktion configure-hbase beim Starten des HBase-Clusters und fügen Sie den Speicherort Ihrer benutzerdefinierten Datei hbase-site.xml ein. Das folgende Beispiel setzt die hbase-Standortkonfigurationswerte auf die in der Datei angegebenen Werte s3://mybucket/my-hbase-site.xml. Geben Sie den folgenden Befehl ein, ersetzen Sie myKey mit dem Namen Ihres EC2-Schlüsselpaars und ersetzen Sie mybucket mit dem Namen Ihrer Amazon S3 Bucket.

    Anmerkung

    Zur besseren Lesbarkeit sind Linux-Zeilenfortsetzungszeichen (\) enthalten. Sie können entweder entfernt oder in Linux-Befehlen verwendet werden. Ersetzen Sie diese Zeichen unter Windows durch ein Caret-Zeichen (^).

    aws emr create-cluster --name "Test cluster" --ami-version 3.3 \ --applications Name=Hue Name=Hive Name=Pig Name=HBase \ --use-default-roles --ec2-attributes KeyName=myKey \ --instance-type c1.xlarge --instance-count 3 --termination-protected \ --bootstrap-actions Path=s3://elasticmapreduce/bootstrap-actions/configure-hbase,Args=["--site-config-file","s3://mybucket/config.xml"]

    Wenn Sie mehr als eine Option zum Anpassen der HBase-Operation angeben, müssen Sie jedem Schlüssel-Wert-Paar einen -s-Optionsschalter voranstellen, wie im folgenden Beispiel gezeigt:

    --bootstrap-actions s3://elasticmapreduce/bootstrap-actions/configure-hbase,Args=["-s","zookeeper.session.timeout=60000"]

Mit dem Proxy-Set und der SSH-Verbindung können Sie die hbase UI anzeigen, indem Sie ein Browserfenster öffnen mit http://master-public-dns-name:60010/Master-Status, wo master-public-dns-name ist die öffentliche DNS-Adresse des Masterknotens im hbase-Cluster.

Sie können die aktuellen HBase-Protokolle anzeigen, indem Sie sich über SSH mit dem Master-Knoten verbinden und zum Verzeichnis mnt/var/log/hbase navigieren. Diese Protokolle sind nicht verfügbar, nachdem der Cluster beendet wurde, es sei denn, Sie aktivieren beim Starten des Clusters die Protokollierung nach Amazon S3.

Back Up and Restore HBase

Amazon EMR bietet die Möglichkeit, Ihre HBase-Daten nach Amazon S3 zu sichern, entweder manuell oder über einen automatisierten Zeitplan. Sie können sowohl vollständige als auch inkrementelle Sicherungen durchführen. Nachdem Sie eine Version von HBase-Daten gesichert haben, können Sie diese auf einen HBase-Cluster wiederherstellen. Sie können die Wiederherstellung auf einem HBase-Cluster durchführen, der gerade ausgeführt wird, oder einen neuen Cluster starten, der mit den gesicherten Daten vorab gefüllt wird.

Während des Sicherungsvorgangs fährt HBase fort, Schreibbefehle auszuführen. Dadurch wird zwar sichergestellt, dass Ihr Cluster während der Sicherung verfügbar bleibt, es besteht aber das Risiko von Inkonsistenzen zwischen den Daten, die gesichert werden, und den Schreibvorgängen, die parallel ausgeführt werden. Um die Inkonsistenzen zu verstehen, die möglicherweise auftreten, müssen Sie berücksichtigen, dass HBase Schreibvorgänge auf die Knoten in seinem Cluster verteilt. Wenn ein Schreibvorgang erfolgt, nachdem ein bestimmter Knoten abgefragt wurde, werden diese Daten nicht in das Sicherungsarchiv aufgenommen. Möglicherweise stellen Sie sogar fest, dass frühere Schreibvorgänge auf dem HBase-Cluster (gesendet an einen Knoten, der bereits abgefragt wurde) nicht im Sicherungsarchiv vorhanden sind, während spätere Schreibvorgänge (gesendet an einen Knoten vor dessen Abfrage) enthalten sind.

Wenn eine konsistente Sicherung erforderlich ist, müssen Sie die Schreibvorgänge nach HBase während des ersten Teils des Sicherungsprozesses, der knotenübergreifenden Synchronisierung, anhalten. Sie tun dies, indem Sie beim Anfordern einer Sicherung den Parameter --consistent angeben. Mit diesem Parameter werden die Schreibvorgänge während dieses Zeitraums in eine Warteschlage gestellt und ausgeführt, sobald die Synchronisierung abgeschlossen ist. Sie können auch regelmäßige Sicherungen einplanen. Dadurch werden Inkonsistenzen, die im Laufe der Zeit entstehen, aufgelöst, da die Daten, die bei einer Sicherung nicht berücksichtigt wurden, im folgenden Vorgang gesichert werden.

Wenn Sie HBase-Daten sichern, sollten Sie für jeden Cluster ein anderes Sicherungsverzeichnis angeben. Eine einfache Möglichkeit dafür ist die Verwendung der Cluster-Kennung als Bestandteil des für das Sicherungsverzeichnis angegebenen Pfads. Zum Beispiel: s3://mybucket/backups/j-3AEXXXXXX16F2. Dadurch wird sichergestellt, dass alle zukünftigen inkrementellen Sicherungen den richtigen hbase-Cluster referenzieren.

Wenn Sie alte, nicht mehr benötigte Sicherungsdateien löschen möchten, wird empfohlen, dass Sie zuerst eine vollständige Sicherung Ihrer HBase-Daten durchführen. Auf diese Weise wird sichergestellt, dass alle Daten erhalten bleiben. Außerdem bietet Ihnen dies eine Baseline für zukünftige inkrementelle Sicherungen. Nachdem die vollständige Sicherung abgeschlossen ist, können Sie zum Sicherungsverzeichnis navigieren und die alten Sicherungsdateien manuell löschen.

Der HBase-Sicherungsprozess verwendet für die Kopieroperation S3DistCp, für das gewisse Einschränkungen in Bezug auf den temporären Speicherplatz für Dateien bestehen.

Back Up and Restore HBase Using the Console

Die Konsole bietet die Möglichkeit, einen neuen Cluster zu starten und mit Daten aus einer vorherigen HBase-Sicherung zu füllen. Außerdem können Sie periodische inkrementelle Sicherungen von HBase-Daten einplanen. Über die CLI stehen zusätzliche Sicherungs- und Wiederherstellungsfunktion zur Verfügung, z. B. können Daten auf einem bereits ausgeführten Cluster wiederhergestellt, manuelle Sicherungen durchgeführt und automatisierte vollständige Sicherungen terminiert werden.

So füllen Sie einen neuen Cluster mit archivierten HBase-Daten über die Konsole

  1. Öffnen Sie die Amazon EMR-Konsole unter https://console.aws.amazon.com/elasticmapreduce.

  2. Wählen Sie Create cluster aus.

  3. Wählen Sie im Abschnitt Software Configuration (Softwarekonfiguration) unter Additional Applications (Zusätzliche Anwendungen) die Optionen HBase und Configure and add aus.

  4. Klicken Sie auf das Dialogfeld Add Application (Anwendung hinzufügen) und aktivieren Sie das Kontrollkästchen Restore From Backup (Wiederherstellen mithilfe der Sicherung).

  5. Geben Sie für Backup Location (Speicherort der Sicherung) den Speicherort der Sicherung an, die Sie in den neuen HBase-Cluster laden. Dies sollte eine Amazon S3-URL im Format s3://myawsbucket/backups/ sein.

  6. Für Backup Version (Sicherungsversion) haben Sie durch Angabe eines Werts die Möglichkeit, den Namen einer zu ladenden Sicherungsversion anzugeben. Wenn Sie keinen Wert für Backup Version (Sicherungsversion) angeben, lädt Amazon EMR die letzte Sicherung in das angegebene Verzeichnis.

  7. Wählen Sie Add (Hinzufügen) und fahren Sie fort, um den Cluster mit den anderen Optionen wie gewünscht zu erstellen.

So planen Sie automatische Sicherungen von HBase-Daten mit der Konsole

  1. Wählen Sie im Abschnitt Software Configuration (Softwarekonfiguration) unter Additional Applications (Zusätzliche Anwendungen) die Optionen HBase und Configure and add aus.

  2. Wählen Sie Schedule Regular Backups (Regelmäßige Sicherungen planen).

  3. Geben Sie an, ob die Sicherungen konsistent sein sollen. Bei einer konsistenten Sicherung werden die Schreibvorgänge während der anfänglichen Sicherungsstufe, der knotenübergreifenden Synchronisierung, angehalten. Alle auf diese Weise angehaltenen Schreibvorgänge werden in eine Warteschlange gestellt und nach Abschluss der Synchronisierung fortgesetzt.

  4. Legen Sie fest, wie oft Sicherungen durchgeführt werden sollen, indem Sie eine Zahl für Backup Frequency (Sicherungshäufigkeit) eingeben, und wählen Sie Days (Tage), Hours (Stunden) oder Minutes (Minuten) aus. Bei der ersten automatischen Sicherung handelt es sich um eine vollständige Sicherung. Danach speichert Amazon EMR inkrementelle Backups basierend auf dem von Ihnen festgelegten Zeitplan.

  5. Geben Sie den Speicherort in Amazon S3 an, in dem die Sicherungen gespeichert werden sollen. Jeder HBase-Cluster sollte an einem anderen Speicherort in Amazon S3 gespeichert werden, um sicherzustellen, dass inkrementelle Backups korrekt berechnet werden.

  6. Geben Sie an, wann die erste Sicherung erfolgen soll, indem Sie einen Wert für Backup Start Time (Startzeit der Sicherung) eingeben. Sie können für dieses Feld now angeben. Dann wird die erste Sicherung gestartet, sobald der Cluster ausgeführt wird. Oder geben Sie ein Datum und eine Uhrzeit im ISO-Format ein. Beispielsweise würde 2013-09-26T20:00Z die Startzeit auf 26. September 2013 um 20:00 Uhr UTC festlegen.

  7. Wählen Sie Add (Hinzufügen) aus.

  8. Fahren Sie mit der Erstellung des Clusters je nach Bedarf mit den anderen Optionen fort.

Monitor HBase with CloudWatch

Amazon EMR wertet drei Metriken zu CloudWatch aus, mit denen Sie Ihre HBase-Sicherungen überwachen können. Diese Metriken werden alle fünf Minuten im Push-Verfahren an CloudWatch gesendet und kostenlos zur Verfügung gestellt.

Metrik Description (Beschreibung)
HBaseBackupFailed

Gibt an, ob die letzte Sicherung fehlgeschlagen ist. Sie ist standardmäßig auf 0 gesetzt und wird in 1 geändert, wenn der vorhergehende Sicherungsversuch fehlgeschlagen ist. Diese Metrik wird nur für HBase-Cluster ausgewertet.

Anwendungsfall hbase-Backups überwachen

Einheiten: Count

HBaseMostRecentBackupDuration

Dauer, bis die vorherige Sicherung abgeschlossen ist. Diese Metrik wird unabhängig davon erstellt, ob die letzte Sicherung erfolgreich war oder fehlgeschlagen ist. Während die Sicherung ausgeführt wird, gibt die Metrik die Anzahl der Minuten seit dem Start der Sicherung zurück. Diese Metrik wird nur für HBase-Cluster ausgewertet.

Anwendungsfall hbase-Backups überwachen

Einheiten: Minutes

HBaseTimeSinceLastSuccessfulBackup

Anzahl der verstrichenen Minuten nach der letzten erfolgreichen HBase-Sicherung auf Ihrem Cluster. Diese Metrik wird nur für HBase-Cluster ausgewertet.

Anwendungsfall hbase-Backups überwachen

Einheiten: Minutes

Configure Ganglia for HBase

Sie konfigurieren Ganglia für HBase mit der Bootstrap-Aktion configure-hbase-for-ganglia. Diese Bootstrap-Aktion konfiguriert HBase so, dass Metriken in Ganglia veröffentlicht werden.

Sie müssen HBase und Ganglia beim Starten des Clusters konfigurieren. Die Ganglia-Auswertungen können nicht zu einem aktuell ausgeführten Cluster hinzugefügt werden.

Ganglia speichert auch Protokolldateien auf dem Server unter /mnt/var/log/ganglia/rrds. Wenn Sie Ihren Cluster konfiguriert haben, um Protokolldateien zu einem Amazon S3 Bucket, die Ganglia-Protokolldateien sind ebenfalls vorhanden.

Verwenden Sie zum Starten eines Clusters mit Ganglia für HBase die Bootstrap-Aktion configure-hbase-for-ganglia, wie im folgenden Beispiel gezeigt.

Anmerkung

Zur besseren Lesbarkeit sind Linux-Zeilenfortsetzungszeichen (\) enthalten. Sie können entweder entfernt oder in Linux-Befehlen verwendet werden. Ersetzen Sie diese Zeichen unter Windows durch ein Caret-Zeichen (^).

aws emr create-cluster --name "Test cluster" --ami-version 3.3 \ --applications Name=Hue Name=Hive Name=Pig Name=HBase Name=Ganglia \ --use-default-roles --ec2-attributes KeyName=myKey \ --instance-type c1.xlarge --instance-count 3 --termination-protected \ --bootstrap-actions Path=s3://elasticmapreduce/bootstrap-actions/configure-hbase-for-ganglia

Nachdem der Cluster gestartet wurde, für den Ganglia konfiguriert ist, können Sie auf die Ganglia-Grafiken und -Berichte über die Benutzeroberfläche auf dem Master-Knoten zugreifen.