Buckets mit aktiviertem hierarchischen Namespace für Hadoop-Arbeitslasten verwenden
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Auf dieser Seite wird beschrieben, wie Buckets mit hierarchischem Namespace für Hadoop-Arbeitslasten verwendet werden.
Übersicht
Wenn Sie einen Cloud Storage-Bucket mit hierarchischem Namespace verwenden, können Sie den Cloud Storage-Connector so konfigurieren, dass der Vorgang Ordner umbenennen für Arbeitslasten wie Hadoop, Spark oder Hive verwendet wird.
In einem Bucket ohne hierarchischen Namespace umfasst ein Umbenennungsvorgang in Hadoop, Spark und Hive mehrere Jobs zum Kopieren und Löschen von Objekten, was sich auf Leistung und Konsistenz auswirkt. Wenn Sie einen Ordner mit dem Cloud Storage-Connector umbenennen, wird die Leistung optimiert und für Konsistenz bei der Verarbeitung von Ordnern mit einer großen Anzahl von Objekten gesorgt.
Hinweise
Wenn Sie Funktionen von Buckets mit hierarchischem Namespace verwenden möchten, verwenden Sie die folgenden Cloud Storage-Connector-Versionen:
2.2.23 oder höher (wenn Sie Version 2.x.x verwenden)
3.0.1 oder höher (wenn Sie Version 3.x.x verwenden)
Cloud Storage-Connector für einen Cluster aktivieren
In diesem Abschnitt wird beschrieben, wie Sie den Cloud Storage-Connector in einem Dataproc-Cluster und einem selbst verwalteten Hadoop-Cluster aktivieren.
Dataproc
Sie können mit der Google Cloud CLI einen Dataproc-Cluster erstellen und den Cloud Storage-Connector für die Ordnervorgänge aktivieren.
Erstellen Sie mit dem folgenden Befehl einen Dataproc-Cluster:
CLUSTER_NAME ist der Name des Clusters. Beispiel: my-cluster
Mit fs.gs.hierarchical.namespace.folders.enable wird der hierarchische Namespace für einen Bucket aktiviert.
fs.gs.http.read-timeout ist die maximal zulässige Zeit in Millisekunden, um Daten aus einer bestehenden Verbindung zu lesen. Diese Einstellung ist optional.
Selbstverwaltetes Hadoop
Sie können den Cloud Storage-Connector in Ihrem selbst verwalteten Hadoop-Cluster aktivieren, um die Ordnervorgänge auszuführen.
Fügen Sie der Konfigurationsdatei „core-site.xml“ Folgendes hinzu:
Mit fs.gs.hierarchical.namespace.folders.enable wird der hierarchische Namespace für einen Bucket aktiviert.
fs.gs.http.read-timeout ist die maximal zulässige Zeit in Millisekunden, um Daten aus einer bestehenden Verbindung zu lesen. Diese Einstellung ist optional.
Kompatibilität mit Cloud Storage-Connector Version 3.0.0 oder Versionen vor 2.2.23
Die Verwendung der Cloud Storage-Connector-Version 3.0.0 oder von Versionen älter als 2.2.23 oder das Deaktivieren von Ordnervorgängen für den hierarchischen Namespace kann zu den folgenden Einschränkungen führen:
Ineffiziente Ordnerumbenennung: Ordnerumbenennungsvorgänge in Hadoop werden mit Kopier- und Löschvorgängen auf Objektebene ausgeführt, die langsamer und weniger effizient sind als der dedizierte rename folder-Vorgang.
Anzahl leerer Ordner: Ordner werden nicht automatisch gelöscht, was dazu führt, dass sich leere Ordner in Ihrem Bucket ansammeln.
Die Ansammlung leerer Ordner kann folgende Auswirkungen haben:
Erhöhen die Speicherkosten, wenn sie nicht ausdrücklich gelöscht werden.
Die Listenvorgänge verlangsamen und das Risiko von Zeitüberschreitungen bei Listenvorgängen erhöhen.
Kompatibilitätsprobleme: Wenn Sie ältere und neuere Connectorversionen verwenden oder Ordnervorgänge aktivieren und deaktivieren, kann das beim Umbenennen von Ordnern zu Kompatibilitätsproblemen führen. Stellen Sie sich das folgende Szenario vor, bei dem eine Kombination aus Connector-Versionen verwendet wird:
Verwenden Sie die Cloud Storage-Connector-Version vor 2.2.23, um die folgenden Aufgaben auszuführen:
Objekte im Ordner foo/ schreiben.
Benennen Sie den Ordner foo/ in bar/ um. Beim Umbenennen werden die Objekte unter foo/ kopiert und gelöscht, der leere Ordner foo/ wird jedoch nicht gelöscht.
Verwenden Sie den Cloud Storage-Connector Version 2.2.23 mit aktivierten Ordnervorgaben, um den Ordner bar/ in foo/ umzubenennen.
Die Connector-Version 2.2.23 mit aktiviertem Ordnervorgang erkennt den vorhandenen Ordner foo/, wodurch der Umbenennungsvorgang fehlschlägt. In der älteren Connector-Version wurde der Ordner foo/ nicht gelöscht, da der Ordnervorgang deaktiviert war.
Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit von Cloud Storage in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Schwer verständlich","hardToUnderstand","thumb-down"],["Informationen oder Beispielcode falsch","incorrectInformationOrSampleCode","thumb-down"],["Benötigte Informationen/Beispiele nicht gefunden","missingTheInformationSamplesINeed","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-08-18 (UTC)."],[],[],null,["# Use hierarchical namespace enabled buckets for Hadoop workloads\n\nThis page describes how to use [hierarchical namespace](/storage/docs/hns-overview) enabled buckets for Hadoop workloads.\n\nOverview\n--------\n\nWhen using a Cloud Storage bucket with hierarchical namespace, you can configure the [Cloud Storage connector](/dataproc/docs/concepts/connectors/cloud-storage) to use the [rename folder](/storage/docs/rename-hns-folders) operation for workloads like Hadoop, Spark, Hive.\n\nIn a bucket without hierarchical namespace, a rename operation in Hadoop, Spark,\nand Hive involves multiple object copy and delete jobs, impacting\nperformance and consistency. Renaming a folder using the Cloud Storage\nconnector optimizes performance and ensures consistency, when handling folders\nwith a large number of objects.\n\nBefore you begin\n----------------\n\nTo use features of hierarchical namespace buckets, use the following Cloud Storage\nconnector versions:\n\n- 2.2.23 or later (if you are using version 2.x.x)\n- 3.0.1 or later (if you are using version 3.x.x)\n\nOlder connector versions (3.0.0 and older than 2.2.23) have limitations. For more information about the limitations, see [Compatibility with\nCloud Storage connector version 3.0.0 or versions older than\n2.2.23](/storage/docs/hns-hadoop-workloads#backwards-compatibility-connector).\n\nEnable the Cloud Storage connector on a cluster\n-----------------------------------------------\n\nThis section describes how to enable the Cloud Storage connector on a Dataproc cluster and a self-managed Hadoop cluster. \n\n### Dataproc\n\nYou can use the Google Cloud CLI to create a Dataproc cluster and enable the Cloud Storage connector to perform the folder operations.\n\n1. Create a Dataproc cluster using the following command:\n\n \u003cbr /\u003e\n\n ```\n gcloud dataproc clusters create CLUSTER_NAME\n --properties=core:fs.gs.hierarchical.namespace.folders.enable=true,\n core:fs.gs.http.read-timeout=30000\n \n ```\n\n \u003cbr /\u003e\n\n Where:\n - \u003cvar translate=\"no\"\u003eCLUSTER_NAME\u003c/var\u003e is the name of the cluster. For example, `my-cluster`\n - `fs.gs.hierarchical.namespace.folders.enable` is used to enable the hierarchical namespace on a bucket.\n - `fs.gs.http.read-timeout` is the maximum time allowed, in milliseconds, to read data from an established connection. This is an optional setting.\n\n | **Note:** If you are using the Cloud Storage connector version 3.0.0 or a version older than 2.2.23, the configuration setting `fs.gs.hierarchical.namespace.folders.enable` is not supported and results in an error if included.\n\n### Self-managed Hadoop\n\nYou can enable the Cloud Storage connector on your self-managed Hadoop cluster to perform the folder operations.\n\n1. Add the following to core-site.xml configuration file:\n\n \u003cbr /\u003e\n\n ```\n \u003cproperty\u003e\n \u003cname\u003efs.gs.hierarchical.namespace.folders.enable\u003c/name\u003e\n \u003cvalue\u003etrue\u003c/value\u003e\n \u003c/property\u003e\n \u003cproperty\u003e\n \u003cname\u003efs.gs.http.read-timeout\u003c/name\u003e\n \u003cvalue\u003e30000\u003c/value\u003e\n \u003c/property\u003e\n \n ```\n\n \u003cbr /\u003e\n\n Where:\n - `fs.gs.hierarchical.namespace.folders.enable` is used to enable the hierarchical namespace on a bucket\n - `fs.gs.http.read-timeout` is the maximum time allowed, in milliseconds, to read data from an established connection. This is an optional setting.\n\n | **Note:** If you are using the Cloud Storage connector version 3.0.0 or a version older than 2.2.23, the configuration setting `fs.gs.hierarchical.namespace.folders.enable` is not supported and results in an error if included.\n\nCompatibility with Cloud Storage connector version 3.0.0 or versions older than 2.2.23\n--------------------------------------------------------------------------------------\n\nUsing the Cloud Storage connector version 3.0.0 or versions older than 2.2.23 or disabling folder operations for hierarchical namespace can lead to the following limitations:\n\n- **Inefficient folder renames** : Folder rename operations in Hadoop happen\n using object-level copy and delete operations, which is slower and less\n efficient than the dedicated `rename folder` operation.\n\n- **Accumulation of empty folders**: Folders are not deleted\n automatically, leading to the accumulation of empty folders in your bucket.\n Accumulation of empty folders can have the following impact:\n\n - Increase storage costs if not deleted explicitly.\n - Slow down the list operations and increase the risk of list operation\n timeouts.\n\n | **Note:** To reduce the risk of list operation timeouts, configure the `fs.gs.http.read-timeout` timeout value to `30000` milliseconds. To configure timeout settings, refer to the instructions for [Dataproc](/storage/docs/hns-hadoop-workloads#dataproc) or [Self-managed Hadoop](/storage/docs/hns-hadoop-workloads#self-managed-hadoop), depending on which one you are using.\n- **Compatibility issues**: Mixing the usage of older and newer connector\n versions, or enabling and disabling folder operations, can lead to\n compatibility issues, when renaming folders. Consider the following scenario\n which uses a combination of connector versions:\n\n 1. Use the Cloud Storage connector version older than 2.2.23 to\n perform the following tasks:\n\n 1. Write objects under the folder `foo/`.\n 2. Rename the folder `foo/` to `bar/`. The rename operation copies and deletes the objects under `foo/` but does not delete the empty `foo/` folder.\n 2. Use the Cloud Storage connector version 2.2.23 with the\n folder operations settings enabled to rename the folder `bar/` to `foo/`.\n\n The connector version 2.2.23, with the folder operation enabled,\n detects the existing `foo/` folder, causing the rename operation to\n fail. The older connector version, did not delete the `foo/` folder as\n the folder operation was disabled.\n\nWhat's next\n-----------\n\n- [Create buckets with hierarchical namespace enabled](/storage/docs/create-hns-bucket).\n- [Create and manage folders](/storage/docs/create-folders).\n\nTry it for yourself\n-------------------\n\n\nIf you're new to Google Cloud, create an account to evaluate how\nCloud Storage performs in real-world\nscenarios. New customers also get $300 in free credits to run, test, and\ndeploy workloads.\n[Try Cloud Storage free](https://console.cloud.google.com/freetrial)"]]