diff --git a/.agents/skills/localize-rustfs-docs/references/de.md b/.agents/skills/localize-rustfs-docs/references/de.md index ec54df1db..ebbf7e379 100644 --- a/.agents/skills/localize-rustfs-docs/references/de.md +++ b/.agents/skills/localize-rustfs-docs/references/de.md @@ -53,13 +53,25 @@ Treat RustFS source code, APIs, and exact Console labels as authoritative for pr | multipart upload | mehrteiliger Upload | Preserve API actions such as `CreateMultipartUpload`. | | server-side encryption | serverseitige Verschlüsselung | Keep SSE-S3, SSE-KMS, and SSE-C unchanged. | | presigned URL | vorsignierte URL | Keep URL uppercase and preserve API names. | -| path-style addressing | pfadbasierte Adressierung | Preserve SDK option names. | +| path-style addressing | pfadbasierte Adressierung (Path-Style) | Use the gloss on first mention in a page, then `pfadbasierte Adressierung`. Preserve SDK option names. Decline the adjective (`mit pfadbasierter Adressierung`). | | virtual-hosted-style addressing | Adressierung im Virtual-Hosted-Stil | Relate it to `RUSTFS_SERVER_DOMAINS` when relevant. | | health check | Integritätsprüfung | Preserve endpoint paths and probe names. | | readiness | Bereitschaft | Preserve `/health/ready` and Kubernetes field names. | | observability | Observability / Beobachtbarkeit | Prefer the established term used by the surrounding German ecosystem documentation and keep it consistent. | | rootless | ohne Root-Rechte | Prefer this over a literal calque. | | root credentials | Root-Anmeldedaten | Distinguish RustFS deployment credentials from the operating-system root account. | +| access-key credentials | Zugangsdaten | Use for the access-key pair. Prefer `Zugriffsschlüssel` when naming the key itself. Do not use `Anmeldeinformationen`. | +| deployment | Bereitstellung | Do not write `einer Deployment`. If the English loanword is kept, it is neuter: `das Deployment`. | +| object-storage layer | Objektspeicher-Backend | Do not write `Objektspeicher-Layer`. | +| infrastructure tooling | Infrastruktur-Tools | Do not write `Infrastructure-Tooling`. | +| table bucket | Tabellen-Bucket | Do not alternate with `Table-Bucket`. | +| warehouse | Warehouse | Genitive: `des Warehouses`, `innerhalb dieses Warehouses`. | +| compatibility gate | Kompatibilitätsprüfung (Compatibility Gate) | Do not write `Kompatibilitäts-Gate`. | +| inspect / HEAD | Metadaten abrufen (Head) | Do not use `untersuchen` for HEAD. | +| verification (heading) | Überprüfung | Do not use `Verifikation` as a heading. | +| await | mit `await` abwarten | Do not invent `Awaiten`. | +| cargo build | bauen | Do not use `erstellen` for a compile. `Erstellen` means creating a resource. | +| lifecycle operations | Lebenszyklusoperationen | Do not use `Lebenszyklusvorgänge`. | ## Common review failures diff --git a/content/de/administration/data/s3-tables.md b/content/de/administration/data/s3-tables.md index b1b16878a..c3d85bd29 100644 --- a/content/de/administration/data/s3-tables.md +++ b/content/de/administration/data/s3-tables.md @@ -13,7 +13,7 @@ S3 Tables ist eine Vorschaufunktion; die Client-Kompatibilität beschränkt sich ## Funktionsweise -Ein Iceberg-Client nutzt den REST-Katalog, um Tabellen zu finden und Metadatenänderungen festzuschreiben. Tabellendateien liest und schreibt er über die S3-API. RustFS stellt beide Schnittstellen am S3-API-Port bereit. +Ein Iceberg-Client nutzt den REST-Katalog, um Tabellen zu finden und Metadatenänderungen zu committen (festzuschreiben). Tabellendateien liest und schreibt er über die S3-API. RustFS stellt beide Schnittstellen am S3-API-Port bereit. ```mermaid flowchart TB @@ -25,7 +25,7 @@ flowchart TB | Ressource | Zweck | | --- | --- | | Tabellen-Bucket | Ein vorhandener S3-Bucket, der für den Katalog aktiviert wurde; sein Name ist der `warehouse`-Wert des Clients. | -| Namespace | Eine logische Gruppe von Tabellen innerhalb dieses Warehouse. | +| Namespace | Eine logische Gruppe von Tabellen innerhalb dieses Warehouses. | | Tabelle | Ein Iceberg-Schema, Snapshots und ein vom Katalog verwalteter aktueller Metadatenpfad. | Das Aktivieren eines Tabellen-Buckets registriert vorhandene Parquet-Dateien nicht automatisch als Iceberg-Tabellen. Erstellen oder registrieren Sie Tabellen über einen Iceberg-Client. Ohne Angabe von `location` weist RustFS einen Speicherort zu; ein benutzerdefinierter Speicherort muss im selben Bucket liegen. Clients sollten den zurückgegebenen Speicherort verwenden. @@ -34,12 +34,12 @@ Das standardmäßige Katalog-Backend `object` speichert den Katalogzustand dauer ## Voraussetzungen -- Starten Sie eine RustFS-Bereitstellung mit den oben beschriebenen S3-Tables-Endpunkten. Siehe [Installation](/installation). -- Installieren Sie die [AWS CLI](/developer/examples/aws-cli) und `curl` ab Version 7.76 mit Unterstützung für `--aws-sigv4` und `--fail-with-body`. +- Starten Sie eine RustFS-Bereitstellung mit den oben beschriebenen S3-Tables-Endpunkten. Siehe [Installation](/de/installation). +- Installieren Sie die [AWS CLI](/de/developer/examples/aws-cli) und `curl` ab Version 7.76 mit Unterstützung für `--aws-sigv4` und `--fail-with-body`. - Erstellen Sie für diese Anleitung einen eigenen neuen Bucket. Das Beispiel verwendet `my-bucket`. - Verwenden Sie ein vorhandenes Administratorkonto mit Zugriff auf Katalogoperationen und S3-Objekte. Die integrierte Richtlinie `consoleAdmin` deckt diese Anleitung ab; konfigurieren Sie enger begrenzte Richtlinien für Anwendungen. -Die Beispiele verwenden `http://localhost:9000`. Ersetzen Sie dies durch Ihren Server-Endpunkt und verwenden Sie außerhalb lokaler Tests [TLS](/integration/tls-configured) mit aktivierter Zertifikatsprüfung. +Die Beispiele verwenden `http://localhost:9000`. Ersetzen Sie dies durch Ihren Server-Endpunkt und verwenden Sie außerhalb lokaler Tests [TLS](/de/integration/tls-configured) mit aktivierter Zertifikatsprüfung. :::warning[Lebenszyklusverhalten von Tabellen-Buckets] @@ -116,13 +116,13 @@ Verwenden Sie für den RustFS-Beispielendpunkt folgende Einstellungen: Der Client ergänzt den Katalog-URI um `/v1`. Das Warehouse ist ein Bucket-Name, kein S3-URI oder AWS S3 Tables ARN. Konfigurieren Sie sowohl die REST-Anfragesignierung als auch den S3-Dateizugriff, auch wenn beide dasselbe Konto verwenden. -Wenn Sie bereits einen separaten Iceberg-REST-Katalog betreiben, beschreibt die [Apache-Iceberg-Integration](/developer/integration/big-data/iceberg) die Bereitstellung mit einem externen Katalog. +Wenn Sie bereits einen separaten Iceberg-REST-Katalog betreiben, beschreibt die [Apache-Iceberg-Integration](/de/developer/integration/big-data/iceberg) die Bereitstellung mit einem externen Katalog. ## Berechtigungen und Zugangsdaten Zum Aktivieren eines Tabellen-Buckets ist `admin:SetTableBucket` erforderlich, zum Prüfen des Zustands `admin:GetTableBucket`. Die Katalogerkennung verwendet `admin:GetTableCatalog`. Namespace- und Tabellenoperationen besitzen eigene RustFS-Admin-Aktionen, darunter `admin:SetTableNamespace`, `admin:CreateTable`, `admin:GetTableMetadata` und `admin:CommitTable`. -Für das Lesen und Schreiben von Tabellendateien sind zusätzlich normale S3-Berechtigungen erforderlich. RustFS prüft Tabellenberechtigungen für Objektpfade im Warehouse: Lesen erfordert die entsprechende Autorisierung für `admin:GetTableMetadata`, Schreiben für `admin:SetTableMetadata`. Eine Berechtigung für Katalog-Commits allein erlaubt nicht die vorausgehenden S3-Dateischreibvorgänge. Konfigurieren Sie [IAM-Richtlinien](/security-compliance/iam/policies) für beide Schnittstellen. +Für das Lesen und Schreiben von Tabellendateien sind zusätzlich normale S3-Berechtigungen erforderlich. RustFS prüft Tabellenberechtigungen für Objektpfade im Warehouse: Lesen erfordert die entsprechende Autorisierung für `admin:GetTableMetadata`, Schreiben für `admin:SetTableMetadata`. Eine Berechtigung für Katalog-Commits allein erlaubt nicht die vorausgehenden S3-Dateischreibvorgänge. Konfigurieren Sie [IAM-Richtlinien](/de/security-compliance/iam/policies) für beide Schnittstellen. Die Ausgabe von Zugangsdaten durch den Katalog ist standardmäßig deaktiviert. Bei aktivierter Funktion muss ein kompatibler Client `X-Iceberg-Access-Delegation: vended-credentials` aushandeln, und der Aufrufer benötigt die Berechtigung, Tabellenzugangsdaten anzufordern. Der erste Katalogzugriff erfordert weiterhin eine autorisierte Identität. Die verlinkte PyIceberg-Anleitung verwendet ausdrücklich konfigurierte Zugangsdaten. @@ -151,6 +151,6 @@ RustFS S3 Tables bietet weder eine SQL-Ausführungsengine noch atomare Transakti ## Nächste Schritte -- Führen Sie die [PyIceberg-Anleitung](/developer/integration/big-data/pyiceberg) aus. -- Prüfen Sie die [IAM-Richtlinien](/security-compliance/iam/policies), bevor Sie Anwendungen Zugriff gewähren. +- Führen Sie die [PyIceberg-Anleitung](/de/developer/integration/big-data/pyiceberg) aus. +- Prüfen Sie die [IAM-Richtlinien](/de/security-compliance/iam/policies), bevor Sie Anwendungen Zugriff gewähren. - Validieren Sie weitere Client-Versionen mit den [Client-Konformitätsprüfungen](https://github.com/rustfs/rustfs/blob/7e0c67111b97703d47e23719b0264a739c8acea8/scripts/table-catalog/README.md) des Repositorys. diff --git a/content/de/administration/protocols/swift.md b/content/de/administration/protocols/swift.md index 1fd80662b..1d488775e 100644 --- a/content/de/administration/protocols/swift.md +++ b/content/de/administration/protocols/swift.md @@ -1,9 +1,9 @@ --- title: "OpenStack-Swift-API" -description: "Erstellen Sie RustFS mit der optionalen Swift-API und binden Sie die OpenStack-Keystone-Authentifizierung an." +description: "Bauen Sie RustFS mit der optionalen Swift-API und binden Sie die OpenStack-Keystone-Authentifizierung an." --- -RustFS kann auf demselben HTTP-Endpunkt wie die S3-API eine mit OpenStack Swift kompatible API bereitstellen. Diese Anleitung zeigt, wie Sie das optionale Feature `swift` erstellen, die Keystone-Tokenvalidierung konfigurieren und grundlegende Konto-, Container- und Objektoperationen prüfen. +RustFS kann auf demselben HTTP-Endpunkt wie die S3-API eine mit OpenStack Swift kompatible API bereitstellen. Diese Anleitung zeigt, wie Sie das optionale Feature `swift` bauen, die Keystone-Tokenvalidierung konfigurieren und grundlegende Konto-, Container- und Objektoperationen prüfen. :::warning[Kompatibilitätsumfang] @@ -28,12 +28,12 @@ Die bestätigten Kernoperationen sind: | Bereich | Operationen | | --- | --- | | Konto | Container auflisten, Kontometadaten aktualisieren | -| Container | Erstellen, auflisten, untersuchen, Metadaten aktualisieren, löschen | -| Objekt | Hochladen, herunterladen, Bereich herunterladen, untersuchen, Metadaten aktualisieren, kopieren, löschen | +| Container | Erstellen, auflisten, Metadaten abrufen (Head), Metadaten aktualisieren, löschen | +| Objekt | Hochladen, herunterladen, Teilbereich herunterladen, Metadaten abrufen, Metadaten aktualisieren, kopieren, löschen | -## Mit Swift-Unterstützung erstellen +## Mit Swift-Unterstützung bauen -Swift gehört nicht zum standardmäßigen RustFS-Featuresatz. Erstellen Sie das Feature ausdrücklich aus dem Repository `rustfs/rustfs`: +Swift gehört nicht zum standardmäßigen RustFS-Featuresatz. Bauen Sie das Feature ausdrücklich aus dem Repository `rustfs/rustfs`: ```bash cargo build --release --features swift diff --git a/content/de/developer/integration/ai/index.md b/content/de/developer/integration/ai/index.md index c30b5b348..85363a11c 100644 --- a/content/de/developer/integration/ai/index.md +++ b/content/de/developer/integration/ai/index.md @@ -3,7 +3,7 @@ title: "AI" description: "Verbinden Sie KI-Plattformen über S3-kompatible Objektspeicher-Schnittstellen mit RustFS." --- -Nutzen Sie **RustFS** als Objektspeicher-Layer für KI- und Machine-Learning-Plattformen, die einen S3-kompatiblen Endpunkt unterstützen. +Nutzen Sie **RustFS** als Objektspeicher-Backend für KI- und Machine-Learning-Plattformen mit S3-kompatiblem Endpunkt. ## Plattformen @@ -11,4 +11,4 @@ Nutzen Sie **RustFS** als Objektspeicher-Layer für KI- und Machine-Learning-Pla - [Ray](./ray.md) - [vLLM](./vllm.md) -Speichern Sie Trainingsdaten und Checkpoints in dedizierten Buckets und beschränken Sie die Anmeldeinformationen auf die erforderlichen Bucket-Operationen. +Speichern Sie Trainingsdaten und Checkpoints in dedizierten Buckets und beschränken Sie die Zugangsdaten auf die erforderlichen Bucket-Operationen. diff --git a/content/de/developer/integration/backup/index.md b/content/de/developer/integration/backup/index.md index 8e54d4cfd..1eef57c41 100644 --- a/content/de/developer/integration/backup/index.md +++ b/content/de/developer/integration/backup/index.md @@ -12,4 +12,4 @@ Verwenden Sie **RustFS** als Objektspeicher-Backend für Backup-Tools, die Repos - [Kopia](./kopia.md) - [Longhorn](./longhorn.md) -Halten Sie Backup-Jobs in einem eigenen Bucket und Präfix und verwenden Sie Anmeldedaten, die auf die erforderlichen Bucket-Operationen beschränkt sind. \ No newline at end of file +Halten Sie Backup-Jobs in einem eigenen Bucket und Präfix und verwenden Sie Zugangsdaten, die auf die erforderlichen Bucket-Operationen beschränkt sind. \ No newline at end of file diff --git a/content/de/developer/integration/backup/restic.md b/content/de/developer/integration/backup/restic.md index 252f89f5a..2aa9b6a77 100644 --- a/content/de/developer/integration/backup/restic.md +++ b/content/de/developer/integration/backup/restic.md @@ -87,5 +87,5 @@ restic -o s3.bucket-lookup=path check ## Nächste Schritte -- [CLI Client (rc)](/operations/rc) zum Erstellen von Buckets und Prüfen von Objekten über die Kommandozeile. -- [TLS Configuration](/integration/tls-configured), wenn Sie RustFS außerhalb eines vertrauenswürdigen Netzwerks bereitstellen. \ No newline at end of file +- [CLI-Client (rc)](/de/operations/rc) zum Erstellen von Buckets und Prüfen von Objekten über die Kommandozeile. +- [TLS-Konfiguration](/de/integration/tls-configured), wenn Sie RustFS außerhalb eines vertrauenswürdigen Netzwerks bereitstellen. \ No newline at end of file diff --git a/content/de/developer/integration/big-data/flink.md b/content/de/developer/integration/big-data/flink.md index 61f95c4bf..eb2cceda0 100644 --- a/content/de/developer/integration/big-data/flink.md +++ b/content/de/developer/integration/big-data/flink.md @@ -16,7 +16,7 @@ flowchart LR Init["init-bucket job"] -->|"create my-bucket"| RustFS ``` -Das Plugin `flink-s3-fs-hadoop` registriert das `s3://`-Schema für Flinks filesystem-Connector. Endpunkt, Path-Style-Adressierung, Plain HTTP und Anmeldeinformationen werden über `s3.*`-Properties in `flink-conf.yaml` konfiguriert (übergeben via `FLINK_PROPERTIES`). +Das Plugin `flink-s3-fs-hadoop` registriert das Schema `s3://` für den Filesystem-Connector von Flink. Endpunkt, pfadbasierte Adressierung (Path-Style), Plain HTTP und Zugangsdaten werden über `s3.*`-Properties in `flink-conf.yaml` konfiguriert (übergeben via `FLINK_PROPERTIES`). ## 1. Projektdateien anlegen @@ -27,14 +27,14 @@ mkdir rustfs-flink cd rustfs-flink ``` -Erstellen Sie eine Umgebungsdatei und ersetzen Sie beide Platzhalter für die Anmeldeinformationen: +Erstellen Sie eine Umgebungsdatei und ersetzen Sie beide Platzhalter für die Zugangsdaten: ```ini title=".env" RUSTFS_ACCESS_KEY= RUSTFS_SECRET_KEY= ``` -Verwenden Sie dedizierte Anmeldeinformationen für den Bucket. Committen Sie `.env` nicht in die Versionsverwaltung. +Verwenden Sie dedizierte Zugangsdaten für den Bucket. Nehmen Sie `.env` nicht in die Versionsverwaltung auf. Das S3-Plugin liegt im Image unter `/opt/flink/opt/` und muss geladen werden, indem es nach `/opt/flink/plugins/s3fs/` kopiert wird. Bereiten Sie ein lokales Verzeichnis dafür vor: @@ -187,7 +187,7 @@ Der Job endet, sobald alle Zeilen geschrieben sind. ## 4. Die Daten zurücklesen -Erstellen Sie die Lesekonfiguration — der filesystem-Connector durchsucht das Präfix: +Erstellen Sie die Lesekonfiguration — der Filesystem-Connector durchsucht das Präfix: ```yaml title="read.sql" CREATE TABLE readings ( @@ -239,7 +239,7 @@ Sie können das Präfix auch in der RustFS-Konsole anzeigen: ## 6. RustFS S3 Tables verwenden -RustFS S3 Tables bietet einen integrierten Apache-Iceberg-REST-Katalog, sodass Flink einen Table-Bucket als verwaltetes Iceberg-Warehouse nutzen kann, während die Daten in RustFS bleiben. Aktivieren Sie einen Table-Bucket und richten Sie den REST-Katalog des Flink-Iceberg-Connectors auf RustFS, wie in [S3 Tables](/administration/data/s3-tables) beschrieben: Die REST-Katalog-URI ist `http://:9000/iceberg`, das Warehouse ist der Bucket-Name, und sowohl Kataloganfragen (AWS Signature Version 4, Signing-Name `s3`) als auch der S3-Dateizugriff verwenden Path-Style-Adressierung. +RustFS S3 Tables bietet einen integrierten Apache-Iceberg-REST-Katalog, sodass Flink einen Tabellen-Bucket als verwaltetes Iceberg-Warehouse nutzen kann, während die Daten in RustFS bleiben. Aktivieren Sie einen Tabellen-Bucket und richten Sie den REST-Katalog des Flink-Iceberg-Connectors auf RustFS, wie in [S3 Tables](/administration/data/s3-tables) beschrieben: Die REST-Katalog-URI ist `http://:9000/iceberg`, das Warehouse ist der Bucket-Name, und sowohl Kataloganfragen (AWS Signature Version 4, Signing-Name `s3`) als auch der S3-Dateizugriff verwenden pfadbasierte Adressierung (Path-Style). Laut der S3-Tables-Support-Matrix validieren Sie die exakten Flink- und Iceberg-Versionen Ihrer Bereitstellung gegen den Katalog, bevor Sie diesen Pfad in Produktion übernehmen. @@ -261,7 +261,7 @@ docker compose down --volumes ### No AWS Credentials provided / AccessDenied bei Schreibvorgängen -Das S3-Plugin liest seine Anmeldeinformationen aus den `s3.*`-Properties in `flink-conf.yaml`. Stellen Sie sicher, dass `s3.access-key`, `s3.secret-key`, `s3.endpoint` und `s3.path-style-access` in `FLINK_PROPERTIES` für **sowohl** den JobManager als auch den TaskManager gesetzt sind und dass das Plugin-jar auf beiden unter `/opt/flink/plugins/s3fs/` liegt. +Das S3-Plugin liest seine Zugangsdaten aus den `s3.*`-Properties in `flink-conf.yaml`. Stellen Sie sicher, dass `s3.access-key`, `s3.secret-key`, `s3.endpoint` und `s3.path-style-access` in `FLINK_PROPERTIES` für **sowohl** den JobManager als auch den TaskManager gesetzt sind und dass das Plugin-jar auf beiden unter `/opt/flink/plugins/s3fs/` liegt. ### Der TaskManager kann den Host `rustfs` nicht auflösen @@ -274,5 +274,5 @@ Die Wiederherstellung eines laufenden S3-Uploads nach einem Fehler kann den Writ ## Nächste Schritte - Lesen Sie die [S3-Kompatibilitätshinweise](/administration/protocols/s3), bevor Sie weitere S3-Operationen verwenden. -- Erstellen Sie dedizierte Produktions-Anmeldeinformationen mit dem [Access Key Management](/security-compliance/iam/access-token). -- Folgen Sie der [Apache-Flink-Dokumentation](https://nightlies.apache.org/flink/flink-docs-stable/) für filesystem-Connector-Optionen wie Partitionierung und Kompaktierung. +- Erstellen Sie dedizierte Produktions-Zugangsdaten über die [Zugriffsschlüssel-Verwaltung](/de/security-compliance/iam/access-token). +- Folgen Sie der [Apache-Flink-Dokumentation](https://nightlies.apache.org/flink/flink-docs-stable/) für Filesystem-Connector-Optionen wie Partitionierung und Kompaktierung. diff --git a/content/de/developer/integration/big-data/iceberg.md b/content/de/developer/integration/big-data/iceberg.md index 10bc4a5f0..39af39659 100644 --- a/content/de/developer/integration/big-data/iceberg.md +++ b/content/de/developer/integration/big-data/iceberg.md @@ -1,21 +1,21 @@ --- title: "Apache Iceberg" -description: "Run Apache Iceberg with Spark, a REST catalog, and RustFS object storage using Docker Compose." +description: "In dieser Anleitung betreiben Sie Apache Iceberg mit Spark, einem REST-Katalog und RustFS-Objektspeicher unter Docker Compose." --- -This guide runs **Apache Iceberg** with Spark, an Iceberg REST catalog, and **RustFS** as the S3-compatible warehouse. You will create an Iceberg table, write rows, query them, and verify that the table files are stored in RustFS. +In dieser Anleitung betreiben Sie **Apache Iceberg** mit Spark, einem Iceberg-REST-Katalog und **RustFS** als S3-kompatiblem Warehouse. Sie legen eine Iceberg-Tabelle an, schreiben Zeilen, fragen sie ab und prüfen, dass die Tabellendateien in RustFS liegen. -Für den in RustFS integrierten REST-Katalog folgen Sie der [Einrichtung von S3 Tables](/administration/data/s3-tables) und der [PyIceberg-Anleitung](/developer/integration/big-data/pyiceberg). Die folgende Bereitstellung verwendet einen separaten Katalogdienst. +Für den in RustFS integrierten REST-Katalog folgen Sie der [Einrichtung von S3 Tables](/de/administration/data/s3-tables) und der [PyIceberg-Anleitung](/de/developer/integration/big-data/pyiceberg). Die folgende Bereitstellung startet einen separaten Katalogdienst. -You need Docker with the Compose plugin and enough local resources to run four containers. This deployment is intended for local integration testing, not production. +Sie benötigen Docker mit dem Compose-Plugin und ausreichend lokale Ressourcen für vier Container. Diese Bereitstellung ist für lokale Integrationstests gedacht, nicht für den Produktivbetrieb. -:::note[Upstream status] +:::note[Upstream-Status] -Apache Iceberg [PR #14928](https://github.com/apache/iceberg/pull/14928) demonstrated the same Spark, REST catalog, `S3FileIO`, and RustFS workflow, including table creation and writes. The pull request was closed without merging, and the current [Spark quickstart](https://iceberg.apache.org/spark-quickstart/#docker-compose) still uses another S3-compatible store. The configuration below therefore documents a RustFS integration rather than an Apache Iceberg default. +Apache Iceberg [PR #14928](https://github.com/apache/iceberg/pull/14928) hat denselben Ablauf mit Spark, REST-Katalog, `S3FileIO` und RustFS gezeigt, einschließlich des Anlegens von Tabellen und der Schreibvorgänge. Der Pull Request wurde geschlossen, ohne übernommen zu werden. Der aktuelle [Spark-Schnellstart](https://iceberg.apache.org/spark-quickstart/#docker-compose) verwendet weiterhin einen anderen S3-kompatiblen Speicher. Die folgende Konfiguration beschreibt daher eine RustFS-Integration und nicht eine Voreinstellung von Apache Iceberg. ::: -## Architecture +## Architektur ```mermaid flowchart LR @@ -25,27 +25,27 @@ flowchart LR Init["Bucket initializer"] -->|Create my-bucket| RustFS ``` -Spark uses the REST service for catalog operations. Both Spark and the REST catalog receive the RustFS endpoint, region, credentials, and path-style setting so they can access metadata and data files in `s3://my-bucket/warehouse`. +Spark nutzt den REST-Dienst für Katalogoperationen. Spark und der REST-Katalog erhalten Endpunkt, Region, Zugangsdaten und die Einstellung für die pfadbasierte Adressierung (Path-Style) von RustFS, damit sie auf Metadaten und Datendateien in `s3://my-bucket/warehouse` zugreifen können. -## 1. Create the project files +## 1. Projektdateien anlegen -Create a working directory: +Legen Sie ein Arbeitsverzeichnis an: ```bash mkdir rustfs-iceberg cd rustfs-iceberg ``` -Create an environment file and replace both credential placeholders: +Erstellen Sie eine Umgebungsdatei und ersetzen Sie beide Platzhalter für die Zugangsdaten: ```ini title=".env" RUSTFS_ACCESS_KEY= RUSTFS_SECRET_KEY= ``` -Use dedicated credentials for the warehouse bucket. Do not commit `.env` to source control. +Verwenden Sie dedizierte Zugangsdaten für den Warehouse-Bucket. Nehmen Sie `.env` nicht in die Versionsverwaltung auf. -Create the Spark catalog configuration: +Erstellen Sie die Spark-Katalogkonfiguration: ```ini title="spark-defaults.conf" spark.sql.extensions org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions @@ -60,9 +60,9 @@ spark.sql.defaultCatalog demo spark.sql.catalogImplementation in-memory ``` -Path-style access is required for this container-network endpoint. The hostname `rustfs` is resolvable only inside the Compose network; clients running on the host use `http://localhost:9000` instead. +Für diesen Endpunkt im Container-Netzwerk ist pfadbasierte Adressierung (Path-Style) erforderlich. Der Hostname `rustfs` ist nur innerhalb des Compose-Netzwerks auflösbar; Clients auf dem Host verwenden stattdessen `http://localhost:9000`. -Create the Compose file: +Erstellen Sie die Compose-Datei: ```yaml title="compose.yaml" services: @@ -148,46 +148,46 @@ volumes: rustfs-data: ``` -The [`rc` image](https://github.com/rustfs/cli) provides the official RustFS command-line client. The initializer checks for `my-bucket` before creating it, so repeated starts do not delete existing warehouse data. The RustFS volume preserves warehouse objects across container recreation. +Das [`rc`-Image](https://github.com/rustfs/cli) stellt den offiziellen Kommandozeilen-Client von RustFS bereit. Die Initialisierung prüft, ob `my-bucket` bereits existiert, bevor sie ihn anlegt. Wiederholte Starts löschen vorhandene Warehouse-Daten daher nicht. Das RustFS-Volume behält Warehouse-Objekte, wenn Container neu erstellt werden. -:::warning[Image versions] +:::warning[Image-Versionen] -The Apache Iceberg quickstart images are published without stable version tags in the upstream example. Before using this pattern beyond local testing, pin every image to a tested tag or digest and validate the Spark, Iceberg runtime, and REST catalog versions together. +Die Images aus dem Apache-Iceberg-Schnellstart werden im Upstream-Beispiel ohne stabile Versions-Tags veröffentlicht. Bevor Sie dieses Muster außerhalb lokaler Tests verwenden, legen Sie jedes Image auf einen getesteten Tag oder Digest fest und prüfen Sie die Versionen von Spark, der Iceberg-Laufzeit und des REST-Katalogs gemeinsam. ::: -## 2. Validate and start the deployment +## 2. Bereitstellung prüfen und starten -Resolve the Compose file before starting containers: +Lösen Sie die Compose-Datei auf, bevor Sie die Container starten: ```bash docker compose config ``` -Start the services and wait for the bucket initializer to finish: +Starten Sie die Dienste und warten Sie, bis die Bucket-Initialisierung abgeschlossen ist: ```bash docker compose up -d docker compose ps -a ``` -The `create-bucket` service should show an exit code of `0`. Check its logs if it does not complete: +Der Dienst `create-bucket` sollte den Exit-Code `0` anzeigen. Prüfen Sie die Logs, wenn er nicht abschließt: ```bash docker compose logs create-bucket ``` -Open the RustFS Console at `http://localhost:9001`. The REST catalog is available at `http://localhost:8181`, and the Spark notebook server is available at `http://localhost:8888`. +Öffnen Sie die RustFS Console unter `http://localhost:9001`. Der REST-Katalog ist unter `http://localhost:8181` erreichbar, der Spark-Notebook-Server unter `http://localhost:8888`. -## 3. Create and query an Iceberg table +## 3. Iceberg-Tabelle anlegen und abfragen -Start Spark SQL: +Starten Sie Spark SQL: ```bash docker compose exec spark-iceberg spark-sql ``` -Create a namespace and a partitioned table: +Legen Sie einen Namespace und eine partitionierte Tabelle an: ```sql CREATE NAMESPACE IF NOT EXISTS demo.nyc; @@ -203,7 +203,7 @@ CREATE TABLE demo.nyc.taxis PARTITIONED BY (vendor_id); ``` -Insert and query sample rows: +Fügen Sie Beispielzeilen ein und fragen Sie sie ab: ```sql INSERT INTO demo.nyc.taxis @@ -216,7 +216,7 @@ VALUES SELECT * FROM demo.nyc.taxis ORDER BY trip_id; ``` -The query should return four rows: +Die Abfrage sollte vier Zeilen zurückgeben: ```text 1 1000371 1.8 15.32 N @@ -225,51 +225,51 @@ The query should return four rows: 1 1000374 8.4 42.13 Y ``` -## 4. Verify objects in RustFS +## 4. Objekte in RustFS prüfen -List the warehouse from the bucket-initializer image: +Listen Sie das Warehouse aus dem Image der Bucket-Initialisierung auf: ```bash docker compose run --rm --entrypoint /bin/sh create-bucket -c \ '/usr/bin/rc alias set rustfs http://rustfs:9000 "$RUSTFS_ACCESS_KEY" "$RUSTFS_SECRET_KEY" >/dev/null && /usr/bin/rc find rustfs/my-bucket/warehouse' ``` -The output should include Iceberg metadata and data objects below the `warehouse/nyc/taxis` prefix. You can also inspect the `my-bucket` bucket in the RustFS Console. +Die Ausgabe sollte Iceberg-Metadaten und Datenobjekte unter dem Präfix `warehouse/nyc/taxis` enthalten. Sie können den Bucket `my-bucket` auch in der RustFS Console prüfen. -## 5. Stop or reset the stack +## 5. Stack anhalten oder zurücksetzen -Stop the containers while keeping the RustFS data volume: +Halten Sie die Container an und behalten Sie das RustFS-Datenvolume: ```bash docker compose down ``` -To delete the local warehouse and start from an empty RustFS volume, explicitly include `--volumes`: +Um das lokale Warehouse zu löschen und mit einem leeren RustFS-Volume zu starten, geben Sie ausdrücklich `--volumes` an: ```bash docker compose down --volumes ``` -## Troubleshooting +## Fehlerbehebung -### Spark cannot reach RustFS +### Spark erreicht RustFS nicht -Use `http://rustfs:9000` inside Compose. `http://localhost:9000` refers to the Spark container itself when used in `spark-defaults.conf`. +Verwenden Sie innerhalb von Compose `http://rustfs:9000`. `http://localhost:9000` bezeichnet in `spark-defaults.conf` den Spark-Container selbst. -Confirm that `spark.sql.catalog.demo.s3.path-style-access` is `true`. Virtual-hosted requests require additional RustFS domain and DNS configuration. +Prüfen Sie, dass `spark.sql.catalog.demo.s3.path-style-access` den Wert `true` hat. Anfragen im Virtual-Hosted-Stil erfordern zusätzliche Domain- und DNS-Konfiguration für RustFS. -### The catalog returns an S3 error +### Der Katalog gibt einen S3-Fehler zurück -Check that the credentials in `.env` match the RustFS credentials and that the `create-bucket` service completed successfully: +Prüfen Sie, ob die Zugangsdaten in `.env` mit den RustFS-Zugangsdaten übereinstimmen und ob der Dienst `create-bucket` erfolgreich abgeschlossen wurde: ```bash docker compose logs create-bucket rest ``` -The REST catalog property uses doubled underscores in `CATALOG_IO__IMPL` and `CATALOG_S3_PATH__STYLE__ACCESS`; the fixture converts them to the dotted and hyphenated Iceberg property names. +Die REST-Katalog-Property verwendet doppelte Unterstriche in `CATALOG_IO__IMPL` und `CATALOG_S3_PATH__STYLE__ACCESS`. Die Fixture wandelt sie in die Iceberg-Property-Namen mit Punkten und Bindestrichen um. -## Next steps +## Nächste Schritte -- Review [S3 compatibility notes](/administration/protocols/s3) before adopting additional Iceberg operations. -- Create dedicated production credentials with [Access Key Management](/security-compliance/iam/access-token). -- Follow the [Apache Iceberg Spark documentation](https://iceberg.apache.org/docs/latest/spark-getting-started/) to configure your existing Spark environment. \ No newline at end of file +- Lesen Sie die [Hinweise zur S3-Kompatibilität](/de/administration/protocols/s3), bevor Sie weitere Iceberg-Operationen einsetzen. +- Erstellen Sie dedizierte Produktions-Zugangsdaten über die [Zugriffsschlüssel-Verwaltung](/de/security-compliance/iam/access-token). +- Folgen Sie der [Apache-Iceberg-Dokumentation zu Spark](https://iceberg.apache.org/docs/latest/spark-getting-started/), um Ihre vorhandene Spark-Umgebung zu konfigurieren. diff --git a/content/de/developer/integration/big-data/index.md b/content/de/developer/integration/big-data/index.md index c0162c897..0f8e5af57 100644 --- a/content/de/developer/integration/big-data/index.md +++ b/content/de/developer/integration/big-data/index.md @@ -1,11 +1,11 @@ --- title: "Datenanalyse" -description: "Connect big data systems to RustFS through S3-compatible object storage interfaces." +description: "Verbinden Sie Datenanalysesysteme über S3-kompatible Objektspeicher-Schnittstellen mit RustFS." --- -Use **RustFS** as the object storage layer for data analytics systems that support an S3-compatible endpoint. +Nutzen Sie **RustFS** als Objektspeicher-Backend für Datenanalysesysteme mit S3-kompatiblem Endpunkt. -## Systems +## Systeme - [Airflow](./airflow.md) - [Delta Lake](./delta-lake.md) @@ -22,4 +22,4 @@ Use **RustFS** as the object storage layer for data analytics systems that suppo - [Hive](./hive.md) - [Zeppelin](./zeppelin.md) -Keep big data workload data in a dedicated bucket and prefix, and use credentials scoped to the required bucket operations. +Halten Sie die Daten der Analyse-Workloads in einem eigenen Bucket und unter einem eigenen Präfix und verwenden Sie Zugangsdaten, die auf die erforderlichen Bucket-Operationen beschränkt sind. diff --git a/content/de/developer/integration/big-data/spark.md b/content/de/developer/integration/big-data/spark.md index f03f33f31..63df078a9 100644 --- a/content/de/developer/integration/big-data/spark.md +++ b/content/de/developer/integration/big-data/spark.md @@ -15,7 +15,7 @@ flowchart LR Init["init-bucket job"] -->|"create my-bucket"| RustFS ``` -Spark spricht über das `hadoop-aws`-S3A-Dateisystem mit RustFS. Die Connector-Einstellungen — Endpunkt, Path-Style-Adressierung, Plain HTTP und Anmeldeinformationen — werden als `spark.hadoop.fs.s3a.*`-Properties übergeben. +Spark spricht über das `hadoop-aws`-S3A-Dateisystem mit RustFS. Die Connector-Einstellungen — Endpunkt, pfadbasierte Adressierung (Path-Style), Plain HTTP und Zugangsdaten — werden als `spark.hadoop.fs.s3a.*`-Properties übergeben. ## 1. Projektdateien anlegen @@ -26,14 +26,14 @@ mkdir rustfs-spark cd rustfs-spark ``` -Erstellen Sie eine Umgebungsdatei und ersetzen Sie beide Platzhalter für die Anmeldeinformationen: +Erstellen Sie eine Umgebungsdatei und ersetzen Sie beide Platzhalter für die Zugangsdaten: ```ini title=".env" RUSTFS_ACCESS_KEY= RUSTFS_SECRET_KEY= ``` -Verwenden Sie dedizierte Anmeldeinformationen für den Bucket. Committen Sie `.env` nicht in die Versionsverwaltung. +Verwenden Sie dedizierte Zugangsdaten für den Bucket. Nehmen Sie `.env` nicht in die Versionsverwaltung auf. Erstellen Sie den Spark-Job: @@ -177,7 +177,7 @@ Sie können das Präfix auch in der RustFS-Konsole anzeigen: ## 4. RustFS S3 Tables verwenden -RustFS S3 Tables bietet einen integrierten Apache-Iceberg-REST-Katalog, sodass Spark einen Table-Bucket als verwaltetes Iceberg-Warehouse nutzen kann, während die Daten in RustFS bleiben. Aktivieren Sie einen Table-Bucket und verbinden Sie den Iceberg-REST-Katalog von Spark wie in [S3 Tables](/administration/data/s3-tables) beschrieben: Die REST-Katalog-URI ist `http://:9000/iceberg`, das Warehouse ist der Bucket-Name, und sowohl Kataloganfragen (AWS Signature Version 4, Signing-Name `s3`) als auch der S3-Dateizugriff verwenden Path-Style-Adressierung. +RustFS S3 Tables bietet einen integrierten Apache-Iceberg-REST-Katalog, sodass Spark einen Tabellen-Bucket als verwaltetes Iceberg-Warehouse nutzen kann, während die Daten in RustFS bleiben. Aktivieren Sie einen Tabellen-Bucket und verbinden Sie den Iceberg-REST-Katalog von Spark wie in [S3 Tables](/administration/data/s3-tables) beschrieben: Die REST-Katalog-URI ist `http://:9000/iceberg`, das Warehouse ist der Bucket-Name, und sowohl Kataloganfragen (AWS Signature Version 4, Signing-Name `s3`) als auch der S3-Dateizugriff verwenden pfadbasierte Adressierung (Path-Style). Laut der S3-Tables-Support-Matrix validieren Sie die exakten Spark- und Iceberg-Versionen Ihrer Bereitstellung gegen den Katalog, bevor Sie diesen Pfad in Produktion übernehmen. @@ -207,7 +207,7 @@ Die `hadoop-aws`-Version passt nicht zur Hadoop-Version im Spark-Image. Spark-4. ### AccessDenied- oder 403-Antworten -Stellen Sie sicher, dass die Connector-Einstellungen mit den RustFS-Anmeldeinformationen übereinstimmen und dass der Dienst `create-bucket` erfolgreich abgeschlossen wurde: +Stellen Sie sicher, dass die Connector-Einstellungen mit den RustFS-Zugangsdaten übereinstimmen und dass der Dienst `create-bucket` erfolgreich abgeschlossen wurde: ```bash docker compose logs create-bucket @@ -216,5 +216,5 @@ docker compose logs create-bucket ## Nächste Schritte - Lesen Sie die [S3-Kompatibilitätshinweise](/administration/protocols/s3), bevor Sie weitere S3-Operationen verwenden. -- Erstellen Sie dedizierte Produktions-Anmeldeinformationen mit dem [Access Key Management](/security-compliance/iam/access-token). +- Erstellen Sie dedizierte Produktions-Zugangsdaten über die [Zugriffsschlüssel-Verwaltung](/de/security-compliance/iam/access-token). - Folgen Sie der [Spark-Dokumentation](https://spark.apache.org/docs/latest/) für Structured Streaming und Datenquellenoptionen. diff --git a/content/de/developer/integration/database/duckdb.md b/content/de/developer/integration/database/duckdb.md index 6db3de41b..2e80c91ff 100644 --- a/content/de/developer/integration/database/duckdb.md +++ b/content/de/developer/integration/database/duckdb.md @@ -3,7 +3,7 @@ title: "DuckDB" description: "Abfragen und Schreiben von Parquet-Dateien im RustFS-Objektspeicher mit DuckDB und dessen httpfs-Erweiterung, bereitgestellt mit Docker Compose." --- -Diese Anleitung betreibt **DuckDB** mit **RustFS** als S3-kompatiblem Speicher. Sie starten beide Dienste mit Docker Compose, konfigurieren DuckDBs `httpfs`-Erweiterung für den RustFS-Endpunkt, schreiben Abfrageergebnisse als Parquet in den Bucket, lesen sie zurück und prüfen die Objekte in RustFS. Der Ablauf wurde mit dem Image `duckdb/duckdb:latest` (v1.5.5) und `rustfs/rustfs-x86-musl:v2.3.1` verifiziert. +In dieser Anleitung betreiben Sie **DuckDB** mit **RustFS** als S3-kompatiblem Speicher. Sie starten beide Dienste mit Docker Compose, konfigurieren DuckDBs `httpfs`-Erweiterung für den RustFS-Endpunkt, schreiben Abfrageergebnisse als Parquet in den Bucket, lesen sie zurück und prüfen die Objekte in RustFS. Der Ablauf wurde mit dem Image `duckdb/duckdb:latest` (v1.5.5) und `rustfs/rustfs-x86-musl:v2.3.1` verifiziert. Sie benötigen Docker mit dem Compose-Plugin. Dieses Setup ist für lokale Integrationstests gedacht, nicht für den Produktivbetrieb. @@ -16,7 +16,7 @@ flowchart LR Init["init-bucket job"] -->|"create my-bucket"| RustFS ``` -DuckDB liest und schreibt Objekte über die [`httpfs`-Erweiterung](https://duckdb.org/docs/stable/extensions/httpfs/overview), die die S3-API implementiert. Ein S3-Secret enthält den RustFS-Endpunkt, die Anmeldeinformationen, Path-Style-Adressierung und die Plain-HTTP-Einstellung; anschließend lassen sich Parquet-Dateien über `s3://my-bucket/...`-Pfade wie lokale Dateien laden und schreiben. +DuckDB liest und schreibt Objekte über die [`httpfs`-Erweiterung](https://duckdb.org/docs/stable/extensions/httpfs/overview), die die S3-API implementiert. Ein S3-Secret enthält den RustFS-Endpunkt, die Zugangsdaten, pfadbasierte Adressierung (Path-Style) und die Plain-HTTP-Einstellung; anschließend lassen sich Parquet-Dateien über `s3://my-bucket/...`-Pfade wie lokale Dateien laden und schreiben. ## 1. Projektdateien anlegen @@ -27,14 +27,14 @@ mkdir rustfs-duckdb cd rustfs-duckdb ``` -Erstellen Sie eine Umgebungsdatei und ersetzen Sie beide Platzhalter für die Anmeldeinformationen: +Erstellen Sie eine Umgebungsdatei und ersetzen Sie beide Platzhalter für die Zugangsdaten: ```ini title=".env" RUSTFS_ACCESS_KEY= RUSTFS_SECRET_KEY= ``` -Verwenden Sie dedizierte Anmeldeinformationen für den Bucket. Committen Sie `.env` nicht in die Versionsverwaltung. +Verwenden Sie dedizierte Zugangsdaten für den Bucket. Nehmen Sie `.env` nicht in die Versionsverwaltung auf. Erstellen Sie die Compose-Datei: @@ -142,7 +142,7 @@ CREATE SECRET rustfs ( ); ``` -Der Endpunkt wird als `host:port` ohne Schema angegeben. `USE_SSL FALSE` wählt Plain HTTP innerhalb des Compose-Netzwerks, und `URL_STYLE 'path'` wählt Path-Style-Adressierung, die RustFS erwartet. Secrets gelten nur für die aktuelle Sitzung — erstellen Sie das Secret bei jeder neuen Sitzung erneut. +Der Endpunkt wird als `host:port` ohne Schema angegeben. `USE_SSL FALSE` wählt Plain HTTP innerhalb des Compose-Netzwerks, und `URL_STYLE 'path'` wählt pfadbasierte Adressierung (Path-Style), die RustFS erwartet. Secrets gelten nur für die aktuelle Sitzung — erstellen Sie das Secret bei jeder neuen Sitzung erneut. ## 4. Abfrageergebnisse nach RustFS schreiben @@ -227,7 +227,7 @@ Innerhalb des Compose-Netzwerks lautet der Endpunkt `rustfs:9000`. Für einen Du ### AccessDenied-Antworten -Prüfen Sie, ob die Anmeldeinformationen im Secret mit den RustFS-Anmeldeinformationen übereinstimmen und ob die Bucket-Initialisierung erfolgreich abgeschlossen wurde: +Prüfen Sie, ob die Zugangsdaten im Secret mit den RustFS-Zugangsdaten übereinstimmen und ob die Bucket-Initialisierung erfolgreich abgeschlossen wurde: ```bash docker compose logs create-bucket @@ -240,5 +240,5 @@ docker compose logs create-bucket ## Nächste Schritte - Lesen Sie die [S3-Kompatibilitätshinweise](/administration/protocols/s3), bevor Sie weitere S3-Operationen verwenden. -- Erstellen Sie dedizierte Produktions-Anmeldeinformationen mit dem [Access Key Management](/security-compliance/iam/access-token). +- Erstellen Sie dedizierte Produktions-Zugangsdaten über die [Zugriffsschlüssel-Verwaltung](/de/security-compliance/iam/access-token). - Folgen Sie der [DuckDB-httpfs-Dokumentation](https://duckdb.org/docs/stable/extensions/httpfs/overview) für erweiterte Optionen wie Regions-Overrides und Verbindungslimits. diff --git a/content/de/developer/integration/database/influxdb.md b/content/de/developer/integration/database/influxdb.md index 9e6b2c6b2..a21a3025a 100644 --- a/content/de/developer/integration/database/influxdb.md +++ b/content/de/developer/integration/database/influxdb.md @@ -3,7 +3,7 @@ title: "InfluxDB" description: "Betreiben Sie InfluxDB 3 Core mit RustFS als S3-Objektspeicher, bereitgestellt mit Docker Compose." --- -Diese Anleitung betreibt [InfluxDB](https://github.com/influxdata/influxdb) — konkret **InfluxDB 3 Core**, die Rust-basierte Zeitreihendatenbank mit einer Parquet-Speicher-Engine — mit **RustFS** als Objektspeicher. Sie starten InfluxDB mit Docker Compose, schreiben Line Protocol über die HTTP-API, fragen es per SQL zurück, prüfen die persistierten Objekte in RustFS und bestätigen, dass die Daten einen Neustart von InfluxDB überstehen. Der Ablauf wurde mit `influxdb:3-core` (v3.11.5) und `rustfs/rustfs-x86-musl:v2.3.1` verifiziert. +In dieser Anleitung betreiben Sie [InfluxDB](https://github.com/influxdata/influxdb) — konkret **InfluxDB 3 Core**, die Rust-basierte Zeitreihendatenbank mit einer Parquet-Speicher-Engine — mit **RustFS** als Objektspeicher. Sie starten InfluxDB mit Docker Compose, schreiben Line Protocol über die HTTP-API, fragen es per SQL zurück, prüfen die persistierten Objekte in RustFS und bestätigen, dass die Daten einen Neustart von InfluxDB überstehen. Der Ablauf wurde mit `influxdb:3-core` (v3.11.5) und `rustfs/rustfs-x86-musl:v2.3.1` verifiziert. Sie benötigen Docker mit dem Compose-Plugin. Dieses Setup ist für lokale Integrationstests gedacht, nicht für den Produktivbetrieb. @@ -16,7 +16,7 @@ flowchart LR Init["init-bucket job"] -->|"create my-bucket"| RustFS ``` -InfluxDB 3 Core hält Katalog, Write-Ahead-Log und Parquet-Datendateien im konfigurierten Objektspeicher. Schreibvorgänge landen zuerst im WAL und werden nach RustFS persistiert, sodass jeder Schreibvorgang einen Neustart übersteht, noch bevor die Kompaktierung Parquet-Dateien erzeugt. Der Server verwendet standardmäßig Path-Style-Adressierung gegenüber dem konfigurierten Endpunkt. +InfluxDB 3 Core hält Katalog, Write-Ahead-Log und Parquet-Datendateien im konfigurierten Objektspeicher. Schreibvorgänge landen zuerst im WAL und werden nach RustFS persistiert, sodass jeder Schreibvorgang einen Neustart übersteht, noch bevor die Kompaktierung Parquet-Dateien erzeugt. Der Server verwendet standardmäßig pfadbasierte Adressierung (Path-Style) gegenüber dem konfigurierten Endpunkt. ## 1. Projektdateien anlegen @@ -27,14 +27,14 @@ mkdir rustfs-influxdb cd rustfs-influxdb ``` -Erstellen Sie eine Umgebungsdatei und ersetzen Sie beide Platzhalter für die Anmeldeinformationen: +Erstellen Sie eine Umgebungsdatei und ersetzen Sie beide Platzhalter für die Zugangsdaten: ```ini title=".env" RUSTFS_ACCESS_KEY= RUSTFS_SECRET_KEY= ``` -Verwenden Sie dedizierte Anmeldeinformationen für den Bucket. Committen Sie `.env` nicht in die Versionsverwaltung. +Verwenden Sie dedizierte Zugangsdaten für den Bucket. Nehmen Sie `.env` nicht in die Versionsverwaltung auf. Erstellen Sie die Compose-Datei: @@ -115,7 +115,7 @@ volumes: rustfs-data: ``` -`--object-store s3` mit `--aws-endpoint` leitet alle Katalog-, WAL- und Parquet-Schreibvorgänge an RustFS. InfluxDB verwendet standardmäßig Path-Style-Adressierung gegenüber dem Endpunkt, und `--aws-allow-http` erlaubt Plain HTTP innerhalb des Compose-Netzwerks. +`--object-store s3` mit `--aws-endpoint` leitet alle Katalog-, WAL- und Parquet-Schreibvorgänge an RustFS. InfluxDB verwendet standardmäßig pfadbasierte Adressierung (Path-Style) gegenüber dem Endpunkt, und `--aws-allow-http` erlaubt Plain HTTP innerhalb des Compose-Netzwerks. ## 2. Bereitstellung starten @@ -262,7 +262,7 @@ Der Knoten hat bereits einen Admin-Token, und der Wert kann nicht wiederhergeste ### AccessDenied- oder 403-Antworten -Stellen Sie sicher, dass die Anmeldeinformationen in der Compose-Datei mit den RustFS-Anmeldeinformationen übereinstimmen und dass der Dienst `create-bucket` erfolgreich abgeschlossen wurde: +Stellen Sie sicher, dass die Zugangsdaten in der Compose-Datei mit den RustFS-Zugangsdaten übereinstimmen und dass der Dienst `create-bucket` erfolgreich abgeschlossen wurde: ```bash docker compose logs create-bucket @@ -275,5 +275,5 @@ docker compose logs create-bucket ## Nächste Schritte - Lesen Sie die [S3-Kompatibilitätshinweise](/administration/protocols/s3), bevor Sie weitere S3-Operationen verwenden. -- Erstellen Sie dedizierte Produktions-Anmeldeinformationen mit dem [Access Key Management](/security-compliance/iam/access-token). +- Erstellen Sie dedizierte Produktions-Zugangsdaten über die [Zugriffsschlüssel-Verwaltung](/de/security-compliance/iam/access-token). - Folgen Sie der [InfluxDB-3-Core-Dokumentation](https://docs.influxdata.com/influxdb3/core/), um Telegraf oder die Write-APIs als Datenproduzenten anzubinden. diff --git a/content/de/developer/integration/database/trino.md b/content/de/developer/integration/database/trino.md index b107416cb..6a3565c3b 100644 --- a/content/de/developer/integration/database/trino.md +++ b/content/de/developer/integration/database/trino.md @@ -17,7 +17,7 @@ flowchart LR Init["init-bucket job"] -->|"create my-bucket"| RustFS ``` -Der hive-Connector mit `hive.metastore=file` hält Schema- und Tabellenmetadaten als JSON-Objekte unter dem Katalogverzeichnis, und das native S3-Dateisystem (`fs.s3.enabled`) speichert Metadaten und Datendateien in RustFS mit Path-Style-Adressierung über Plain HTTP. +Der hive-Connector mit `hive.metastore=file` hält Schema- und Tabellenmetadaten als JSON-Objekte unter dem Katalogverzeichnis, und das native S3-Dateisystem (`fs.s3.enabled`) speichert Metadaten und Datendateien in RustFS mit pfadbasierter Adressierung (Path-Style) über unverschlüsseltes HTTP (Plain HTTP). ## 1. Projektdateien anlegen @@ -28,14 +28,14 @@ mkdir rustfs-trino cd rustfs-trino ``` -Erstellen Sie eine Umgebungsdatei und ersetzen Sie beide Platzhalter für die Anmeldeinformationen: +Erstellen Sie eine Umgebungsdatei und ersetzen Sie beide Platzhalter für die Zugangsdaten: ```ini title=".env" RUSTFS_ACCESS_KEY= RUSTFS_SECRET_KEY= ``` -Verwenden Sie dedizierte Anmeldeinformationen für den Bucket. Committen Sie `.env` nicht in die Versionsverwaltung. +Verwenden Sie dedizierte Zugangsdaten für den Bucket. Nehmen Sie `.env` nicht in die Versionsverwaltung auf. Erstellen Sie die Katalog-Konfiguration für Trino: @@ -203,7 +203,7 @@ Sie können das Präfix auch in der RustFS-Konsole anzeigen: ## 6. RustFS S3 Tables verwenden -RustFS S3 Tables bietet einen integrierten Apache-Iceberg-REST-Katalog, sodass Trino einen Table-Bucket als verwaltetes Iceberg-Warehouse nutzen kann, während die Daten in RustFS bleiben. Aktivieren Sie einen Table-Bucket und verbinden Sie den Iceberg-Connector von Trino mit dem REST-Katalog, wie in [S3 Tables](/administration/data/s3-tables) beschrieben: Die REST-Katalog-URI ist `http://:9000/iceberg`, das Warehouse ist der Bucket-Name, und sowohl Kataloganfragen (AWS Signature Version 4, Signing-Name `s3`) als auch der S3-Dateizugriff verwenden Path-Style-Adressierung. +RustFS S3 Tables bietet einen integrierten Apache-Iceberg-REST-Katalog, sodass Trino einen Tabellen-Bucket als verwaltetes Iceberg-Warehouse nutzen kann, während die Daten in RustFS bleiben. Aktivieren Sie einen Tabellen-Bucket und verbinden Sie den Iceberg-Connector von Trino mit dem REST-Katalog, wie in [S3 Tables](/administration/data/s3-tables) beschrieben: Die REST-Katalog-URI ist `http://:9000/iceberg`, das Warehouse ist der Bucket-Name, und sowohl Kataloganfragen (AWS Signature Version 4, Signing-Name `s3`) als auch der S3-Dateizugriff verwenden pfadbasierte Adressierung (Path-Style). Laut der S3-Tables-Support-Matrix wurde Trino nur als Read-only-Probe gegen den Katalog geprüft; validieren Sie die Schreibkompatibilität und die exakte Trino-Version Ihrer Bereitstellung, bevor Sie diesen Pfad in Produktion übernehmen. @@ -237,7 +237,7 @@ Das CSV-Format lehnt Nicht-String-Spalten ab. Verwenden Sie für typisierte Tabe ### AccessDenied- oder 403-Antworten -Stellen Sie sicher, dass die Anmeldeinformationen in `hive.properties` mit den RustFS-Anmeldeinformationen übereinstimmen und dass der Dienst `create-bucket` erfolgreich abgeschlossen wurde: +Stellen Sie sicher, dass die Zugangsdaten in `hive.properties` mit den RustFS-Zugangsdaten übereinstimmen und dass der Dienst `create-bucket` erfolgreich abgeschlossen wurde: ```bash docker compose logs create-bucket @@ -246,5 +246,5 @@ docker compose logs create-bucket ## Nächste Schritte - Lesen Sie die [S3-Kompatibilitätshinweise](/administration/protocols/s3), bevor Sie weitere S3-Operationen verwenden. -- Erstellen Sie dedizierte Produktions-Anmeldeinformationen mit dem [Access Key Management](/security-compliance/iam/access-token). +- Erstellen Sie dedizierte Produktions-Zugangsdaten über die [Zugriffsschlüssel-Verwaltung](/de/security-compliance/iam/access-token). - Folgen Sie der [Trino-Dokumentation](https://trino.io/docs/current/), um BI-Tools anzubinden und weitere Objektspeicher-Kataloge hinzuzufügen. diff --git a/content/de/developer/integration/devops/index.md b/content/de/developer/integration/devops/index.md index 2b532228a..c9f6ecc09 100644 --- a/content/de/developer/integration/devops/index.md +++ b/content/de/developer/integration/devops/index.md @@ -1,9 +1,9 @@ --- title: "DevOps" -description: "Verbinden Sie DevOps-Plattformen und Infrastructure-Tooling über S3-kompatible Objektspeicher-Schnittstellen mit RustFS." +description: "Verbinden Sie DevOps-Plattformen und Infrastruktur-Tools über S3-kompatible Objektspeicher-Schnittstellen mit RustFS." --- -Nutzen Sie **RustFS** als Objektspeicher-Layer für DevOps-Plattformen und Infrastructure-Tooling, die einen S3-kompatiblen Endpunkt unterstützen. +Nutzen Sie **RustFS** als Objektspeicher-Backend für DevOps-Plattformen und Infrastruktur-Tools mit S3-kompatiblem Endpunkt. ## Plattformen und Tools @@ -13,4 +13,4 @@ Nutzen Sie **RustFS** als Objektspeicher-Layer für DevOps-Plattformen und Infra - [Jenkins](./jenkins.md) - [Terraform](./terraform.md) -Speichern Sie Artefakte, State und Telemetriedaten in dedizierten Buckets und beschränken Sie die Anmeldeinformationen auf die erforderlichen Bucket-Operationen. +Speichern Sie Artefakte, State und Telemetriedaten in dedizierten Buckets und beschränken Sie die Zugangsdaten auf die erforderlichen Bucket-Operationen. diff --git a/content/de/developer/integration/index.md b/content/de/developer/integration/index.md index db3488bd5..62abd2a56 100644 --- a/content/de/developer/integration/index.md +++ b/content/de/developer/integration/index.md @@ -1,22 +1,22 @@ --- title: "Integration" -description: "Integrieren Sie RustFS mit Reverse Proxies, Backup-Tools, Datenanalyse-Systemen, KI- und Cloud-Native-Plattformen, Observability-Plattformen, Container-Registries und DevOps-Tooling." +description: "Integrieren Sie RustFS mit Reverse-Proxys, Backup-Tools, Datenbanken, Datenanalyse- und Speichersystemen, KI- und Cloud-Native-Plattformen, Observability-Plattformen, Container-Registries und DevOps-Tools." --- -Use this section to connect **RustFS** to infrastructure and application platforms through its S3-compatible API. +In diesem Abschnitt verbinden Sie **RustFS** über die S3-kompatible API mit Infrastruktur- und Anwendungsplattformen. -## Integration categories +## Integrationskategorien -- [Reverse Proxy](./reverse-proxy/index.md) covers Nginx, Traefik, Caddy, HAProxy, and Envoy. -- [Backup](./backup/index.md) covers Kopia, Longhorn, Restic, and Velero. -- [AI](./ai/index.md) covers AI platforms including Ray and vLLM. -- [Database](./database/index.md) covers ClickHouse, Databend, Doris, DuckDB, InfluxDB, LanceDB, Milvus, Trino, and Vitess. -- [Big Data](./big-data/index.md) covers Airflow, AutoMQ, Delta Lake, DolphinScheduler, Flink, Hive, Hudi, Iceberg, Kafka, Paimon, PyIceberg, SeaTunnel, Spark, and Zeppelin. -- [Storage](./storage/index.md) covers Alluxio, lakeFS, OpenDAL, SFTPGo, s3fs, and ZeroFS. -- [Cloud Native](./cloud-native/index.md) covers Cortex, Flux, and celld. -- [Observability](./observability/index.md) covers telemetry systems including Fluentd, GreptimeDB, Loki, OpenObserve, OpenTelemetry, Tempo, Thanos, and VictoriaMetrics. -- [Others](./others/index.md) covers the capo SDK, rclone, JuiceFS, Nextcloud, and tusd. -- [Registry](./registry/index.md) covers Docker Registry and Harbor. -- [DevOps](./devops/index.md) covers Elasticsearch, Gitea, Jenkins, OpenSearch, and Terraform. +- [Reverse-Proxy](./reverse-proxy/index.md) behandelt Nginx, Traefik, Caddy, HAProxy und Envoy. +- [Backup](./backup/index.md) behandelt Kopia, Longhorn, Restic und Velero. +- [AI](./ai/index.md) behandelt KI-Plattformen, darunter MLflow, Ray und vLLM. +- [Datenbank](./database/index.md) behandelt ClickHouse, Databend, Doris, DuckDB, InfluxDB, LanceDB, Milvus, Trino und Vitess. +- [Datenanalyse](./big-data/index.md) behandelt Airflow, AutoMQ, Delta Lake, DolphinScheduler, Flink, Hive, Hudi, Iceberg, Kafka, Paimon, PyIceberg, SeaTunnel, Spark und Zeppelin. +- [Speicher](./storage/index.md) behandelt Alluxio, lakeFS, OpenDAL, SFTPGo, s3fs und ZeroFS. +- [Cloud Native](./cloud-native/index.md) behandelt Cortex, Flux und celld. +- [Observability](./observability/index.md) behandelt Telemetriesysteme, darunter Fluentd, GreptimeDB, Loki, OpenObserve, OpenTelemetry, Tempo, Thanos und VictoriaMetrics. +- [Sonstige](./others/index.md) behandelt das SDK capo, rclone, JuiceFS, Nextcloud und tusd. +- [Registry](./registry/index.md) behandelt Docker Registry und Harbor. +- [DevOps](./devops/index.md) behandelt Elasticsearch, Gitea, Jenkins, OpenSearch und Terraform. -Each guide identifies the RustFS endpoint and addressing requirements to use when configuring the integrating system. \ No newline at end of file +Jede Anleitung nennt den RustFS-Endpunkt und die Adressierungsanforderungen, die Sie beim Konfigurieren des angebundenen Systems verwenden. diff --git a/content/de/developer/integration/observability/index.md b/content/de/developer/integration/observability/index.md index c9271d575..ae96163b0 100644 --- a/content/de/developer/integration/observability/index.md +++ b/content/de/developer/integration/observability/index.md @@ -3,7 +3,7 @@ title: "Observability" description: "Verbinden Sie Observability-Plattformen über S3-kompatible Objektspeicher-Schnittstellen mit RustFS." --- -Nutzen Sie **RustFS** als Objektspeicher-Layer für Observability-Plattformen, die einen S3-kompatiblen Endpunkt unterstützen. +Nutzen Sie **RustFS** als Objektspeicher-Backend für Observability-Plattformen mit S3-kompatiblem Endpunkt. ## Plattformen @@ -16,4 +16,4 @@ Nutzen Sie **RustFS** als Objektspeicher-Layer für Observability-Plattformen, d - [Thanos](./thanos.md) - [VictoriaMetrics](./victoriametrics.md) -Speichern Sie Telemetriedaten in einem dedizierten Bucket und beschränken Sie die Anmeldeinformationen auf die erforderlichen Bucket-Operationen. +Speichern Sie Telemetriedaten in einem dedizierten Bucket und beschränken Sie die Zugangsdaten auf die erforderlichen Bucket-Operationen. diff --git a/content/de/developer/integration/observability/loki.md b/content/de/developer/integration/observability/loki.md index 668bedb43..f15efac41 100644 --- a/content/de/developer/integration/observability/loki.md +++ b/content/de/developer/integration/observability/loki.md @@ -3,7 +3,7 @@ title: "Loki" description: "Betreiben Sie Grafana Loki mit RustFS als S3-Objektspeicher-Backend, bereitgestellt mit Docker Compose." --- -Diese Anleitung betreibt [Grafana Loki](https://github.com/grafana/loki) — das Log-Aggregationssystem von Grafana Labs — mit **RustFS** als Objektspeicher-Backend. Sie starten einen Single-Binary-Loki mit Docker Compose, pushen Log-Streams über die HTTP-API, fragen sie ab und prüfen, dass die Log-Chunks als Objekte in RustFS gespeichert werden. Der Ablauf wurde mit `grafana/loki:latest` (v3.7.8) und `rustfs/rustfs-x86-musl:v2.3.1` verifiziert. +In dieser Anleitung betreiben Sie [Grafana Loki](https://github.com/grafana/loki) — das Log-Aggregationssystem von Grafana Labs — mit **RustFS** als Objektspeicher-Backend. Sie starten Loki im Single-Binary-Modus mit Docker Compose, senden (pushen) Log-Streams über die HTTP-API, fragen sie ab und prüfen, dass die Log-Chunks als Objekte in RustFS gespeichert werden. Der Ablauf wurde mit `grafana/loki:latest` (v3.7.8) und `rustfs/rustfs-x86-musl:v2.3.1` verifiziert. Sie benötigen Docker mit dem Compose-Plugin. Dieses Setup ist für lokale Integrationstests gedacht, nicht für den Produktivbetrieb. @@ -27,16 +27,16 @@ mkdir rustfs-loki cd rustfs-loki ``` -Erstellen Sie eine Umgebungsdatei und ersetzen Sie beide Platzhalter für die Anmeldeinformationen: +Erstellen Sie eine Umgebungsdatei und ersetzen Sie beide Platzhalter für die Zugangsdaten: ```ini title=".env" RUSTFS_ACCESS_KEY= RUSTFS_SECRET_KEY= ``` -Verwenden Sie dedizierte Anmeldeinformationen für den Bucket. Committen Sie `.env` nicht in die Versionsverwaltung. +Verwenden Sie dedizierte Zugangsdaten für den Bucket. Nehmen Sie `.env` nicht in die Versionsverwaltung auf. -Erstellen Sie die Loki-Konfiguration — ein Single-Binary-Setup mit dem TSDB-Schema und dem S3-Backend, das auf RustFS zeigt: +Erstellen Sie die Loki-Konfiguration — eine Single-Binary-Konfiguration mit dem TSDB-Schema und dem S3-Backend auf RustFS: ```yaml title="loki.yml" auth_enabled: false @@ -78,7 +78,7 @@ ruler: alertmanager_url: http://localhost:9093 ``` -`s3forcepathstyle: true` und `insecure: true` wählen Path-Style-Adressierung über Plain HTTP, was der Container-Netzwerk-Endpunkt von RustFS erwartet. `chunk_idle_period` und `max_chunk_age` sind verkürzt, damit ein Verifikationslauf nicht die standardmäßigen 30 Minuten auf den Chunk-Flush warten muss. +`s3forcepathstyle: true` und `insecure: true` wählen pfadbasierte Adressierung (Path-Style) über unverschlüsseltes HTTP (Plain HTTP) — so erwartet es der Container-Netzwerk-Endpunkt von RustFS. `chunk_idle_period` und `max_chunk_age` sind verkürzt, damit ein Prüflauf nicht die üblichen 30 Minuten auf den Chunk-Flush warten muss. Erstellen Sie die Compose-Datei: @@ -282,7 +282,7 @@ Der Ingester hat keinen laufenden Zustand erreicht — meist ein übrig gebliebe ### AccessDenied- oder 403-Antworten -Stellen Sie sicher, dass die Anmeldeinformationen in `loki.yml` mit den RustFS-Anmeldeinformationen übereinstimmen und dass der Dienst `create-bucket` erfolgreich abgeschlossen wurde: +Stellen Sie sicher, dass die Zugangsdaten in `loki.yml` mit den RustFS-Zugangsdaten übereinstimmen und dass der Dienst `create-bucket` erfolgreich abgeschlossen wurde: ```bash docker compose logs create-bucket @@ -291,5 +291,5 @@ docker compose logs create-bucket ## Nächste Schritte - Lesen Sie die [S3-Kompatibilitätshinweise](/administration/protocols/s3), bevor Sie weitere S3-Operationen verwenden. -- Erstellen Sie dedizierte Produktions-Anmeldeinformationen mit dem [Access Key Management](/security-compliance/iam/access-token). +- Erstellen Sie dedizierte Produktions-Zugangsdaten über die [Zugriffsschlüssel-Verwaltung](/de/security-compliance/iam/access-token). - Folgen Sie der [Grafana-Loki-Dokumentation](https://grafana.com/docs/loki/latest/), um Promtail, Alloy oder den OpenTelemetry Collector als Log-Producer anzubinden. diff --git a/content/de/developer/integration/observability/openobserve.md b/content/de/developer/integration/observability/openobserve.md index d107dec14..e89f41e99 100644 --- a/content/de/developer/integration/observability/openobserve.md +++ b/content/de/developer/integration/observability/openobserve.md @@ -3,21 +3,21 @@ title: "OpenObserve" description: "Betreiben Sie OpenObserve mit RustFS als S3-kompatiblem Objektspeicher-Backend über Docker Compose und prüfen Sie Login, Speicherung und Suche von Protokollen." --- -In dieser Anleitung betreiben Sie **OpenObserve** mit **RustFS** als Objektspeicher-Backend. Sie starten beide Dienste mit Docker Compose, erfassen Logdaten in OpenObserve, leeren den Schreibpuffer in den Objektspeicher, prüfen die entstandenen Parquet-Dateien in RustFS und fragen die Daten über die OpenObserve-Weboberfläche und die Such-API wieder ab. +In dieser Anleitung betreiben Sie **OpenObserve** mit **RustFS** als Objektspeicher-Backend. Sie starten beide Dienste mit Docker Compose, erfassen Logdaten in OpenObserve, leeren den Schreibpuffer in den Objektspeicher, prüfen die entstandenen Parquet-Dateien in RustFS und fragen die Daten über die OpenObserve-Oberfläche (UI) und die Such-API wieder ab. Sie benötigen Docker mit dem Compose-Plugin und eine Maschine, die drei Container ausführen kann. Dieses Setup ist für lokale Integrationstests gedacht, nicht für den Produktivbetrieb. -## Produktvorstellung +## Überblick ### OpenObserve -[OpenObserve](https://openobserve.ai/) ist eine Open-Source-Observability-Plattform für Logs, Metriken, Traces und Real User Monitoring. Sie trennt Speicherung und Berechnung: erfasste Daten landen zuerst in einem lokalen Write-Ahead-Log (WAL), werden dann in Parquet-Dateien mit Volltextindizes umgewandelt und in den Objektspeicher hochgeladen, der als einzige persistente Datenschicht dient. Abfragen lokalisieren ferne Parquet-Dateien über File-List-Metadaten und laden sie bei Bedarf in einen lokalen Cache. +[OpenObserve](https://openobserve.ai/) ist eine Open-Source-Observability-Plattform für Logs, Metriken, Traces und Real User Monitoring. Sie trennt Speicherung und Berechnung: erfasste Daten landen zuerst in einem lokalen Write-Ahead-Log (WAL), werden dann in Parquet-Dateien mit Volltextindizes umgewandelt und in den Objektspeicher hochgeladen, der als einzige persistente Datenschicht dient. Abfragen lokalisieren entfernte Parquet-Dateien über File-List-Metadaten und laden sie bei Bedarf in einen lokalen Cache. -OpenObserve spricht über den Rust-Client `object_store` mit dem Objektspeicher. Standardmäßig verwendet er **Path-Style**-Anfragen mit SigV4-Signatur, sodass jeder S3-kompatible Endpunkt funktioniert — auch RustFS — solange Sie Endpunkt-URL, Region, Anmeldeinformationen und Bucket-Namen angeben. +OpenObserve spricht über den Rust-Client `object_store` mit dem Objektspeicher. Standardmäßig verwendet er Anfragen mit **pfadbasierter Adressierung** (Path-Style) und SigV4-Signatur, sodass jeder S3-kompatible Endpunkt funktioniert — auch RustFS —, solange Sie Endpunkt-URL, Region, Zugangsdaten und Bucket-Namen angeben. ### RustFS -RustFS ist ein in Rust entwickeltes verteiltes Objektspeichersystem. Es implementiert die Amazon-S3-API einschließlich SigV4-Signatur, Path-Style- und Virtual-Host-Adressierung sowie Multipart-Uploads und bietet eine Web-Konsole sowie Multi-Tenant-IAM. RustFS läuft von einem einzelnen Knoten bis zu Multi-Node-Clustern und deckt die S3-Operationen ab, die OpenObserve für seine Telemetriedaten benötigt. +RustFS ist ein in Rust entwickeltes verteiltes Objektspeichersystem. Es implementiert die Amazon-S3-API einschließlich SigV4-Signatur, pfadbasierter Adressierung (Path-Style) und Adressierung im Virtual-Hosted-Stil sowie Multipart-Uploads und bietet eine Console sowie Multi-Tenant-IAM. RustFS läuft von einem einzelnen Knoten bis zu Multi-Node-Clustern und deckt die S3-Operationen ab, die OpenObserve für seine Telemetriedaten benötigt. ### Funktionsweise der Integration @@ -44,7 +44,7 @@ mkdir rustfs-openobserve cd rustfs-openobserve ``` -Erstellen Sie eine Umgebungsdatei und ersetzen Sie die Platzhalter für die Anmeldeinformationen: +Erstellen Sie eine Umgebungsdatei und ersetzen Sie die Platzhalter für die Zugangsdaten: ```ini title=".env" RUSTFS_ACCESS_KEY= @@ -210,7 +210,7 @@ curl -s -u "root@example.com:Complexpass#123" -X PUT "http://localhost:5080/node Der Ingester wandelt die WAL-Einträge in eine Parquet-Datei um und lädt sie im Hintergrund nach RustFS hoch, sobald die Datei älter als `ZO_MAX_FILE_RETENTION_TIME` ist (in dieser Compose-Datei 60 Sekunden, Standard 600 Sekunden). -## Verifikation +## Überprüfung ### Objekte in RustFS prüfen @@ -307,5 +307,5 @@ Das RustFS-Image läuft mit Benutzer und Gruppe `10001`. Wenn Sie statt des Name ## Nächste Schritte - Lesen Sie die [S3-Kompatibilitätshinweise](/administration/protocols/s3), bevor Sie weitere S3-Operationen verwenden. -- Erstellen Sie dedizierte Produktions-Anmeldeinformationen mit dem [Access Key Management](/security-compliance/iam/access-token). +- Erstellen Sie dedizierte Produktions-Zugangsdaten über die [Zugriffsschlüssel-Verwaltung](/de/security-compliance/iam/access-token). - Folgen Sie der [OpenObserve-Dokumentation](https://openobserve.ai/docs/), um echte Log-Producer wie Fluent Bit oder den OpenTelemetry Collector anzubinden. diff --git a/content/de/developer/integration/observability/tempo.md b/content/de/developer/integration/observability/tempo.md index 45642d373..3c5e5393e 100644 --- a/content/de/developer/integration/observability/tempo.md +++ b/content/de/developer/integration/observability/tempo.md @@ -3,7 +3,7 @@ title: "Tempo" description: "Betreiben Sie Grafana Tempo mit RustFS als S3-Backend für Trace-Daten, bereitgestellt mit Docker Compose." --- -Diese Anleitung betreibt [Grafana Tempo](https://github.com/grafana/tempo) — das verteilte Tracing-Backend von Grafana Labs — mit **RustFS** als Trace-Speicher. Sie starten einen Single-Binary-Tempo mit Docker Compose, pushen einen Trace über den Zipkin-kompatiblen Empfänger, fragen ihn über die Such-API ab und prüfen, dass der Trace-Block als Parquet-Objekt in RustFS gespeichert wird. Der Ablauf wurde mit `grafana/tempo:2.9.5` und `rustfs/rustfs-x86-musl:v2.3.1` verifiziert. +In dieser Anleitung betreiben Sie [Grafana Tempo](https://github.com/grafana/tempo) — das verteilte Tracing-Backend von Grafana Labs — mit **RustFS** als Trace-Speicher. Sie starten Tempo im Single-Binary-Modus mit Docker Compose, senden einen Trace über den Zipkin-kompatiblen Empfänger, fragen ihn über die Such-API ab und prüfen, dass der Trace-Block als Parquet-Objekt in RustFS gespeichert wird. Der Ablauf wurde mit `grafana/tempo:2.9.5` und `rustfs/rustfs-x86-musl:v2.3.1` verifiziert. Sie benötigen Docker mit dem Compose-Plugin. Dieses Setup ist für lokale Integrationstests gedacht, nicht für den Produktivbetrieb. @@ -27,16 +27,16 @@ mkdir rustfs-tempo cd rustfs-tempo ``` -Erstellen Sie eine Umgebungsdatei und ersetzen Sie beide Platzhalter für die Anmeldeinformationen: +Erstellen Sie eine Umgebungsdatei und ersetzen Sie beide Platzhalter für die Zugangsdaten: ```ini title=".env" RUSTFS_ACCESS_KEY= RUSTFS_SECRET_KEY= ``` -Verwenden Sie dedizierte Anmeldeinformationen für den Bucket. Committen Sie `.env` nicht in die Versionsverwaltung. +Verwenden Sie dedizierte Zugangsdaten für den Bucket. Nehmen Sie `.env` nicht in die Versionsverwaltung auf. -Erstellen Sie die Tempo-Konfiguration — ein Single-Binary-Setup mit dem S3-Backend, das auf RustFS zeigt, und einer kurzen Blockdauer, damit ein Verifikationslauf nicht die standardmäßigen 30 Minuten warten muss: +Erstellen Sie die Tempo-Konfiguration — eine Single-Binary-Konfiguration mit S3-Backend auf RustFS und kurzer Blockdauer, damit ein Prüflauf nicht die üblichen 30 Minuten warten muss: ```yaml title="tempo.yml" server: @@ -69,7 +69,7 @@ storage: blocklist_poll: 30s ``` -`forcepathstyle: true` und `insecure: true` wählen Path-Style-Adressierung über Plain HTTP, was der Container-Netzwerk-Endpunkt von RustFS erwartet. `max_block_duration: 1m` und `blocklist_poll: 30s` beschleunigen den Flush- und Entdeckungszyklus für Tests. +`forcepathstyle: true` und `insecure: true` wählen pfadbasierte Adressierung (Path-Style) über unverschlüsseltes HTTP (Plain HTTP) — so erwartet es der Container-Netzwerk-Endpunkt von RustFS. `max_block_duration: 1m` und `blocklist_poll: 30s` beschleunigen den Flush- und Entdeckungszyklus für Tests. Erstellen Sie die Compose-Datei: @@ -276,7 +276,7 @@ docker compose logs tempo ### AccessDenied- oder 403-Antworten -Stellen Sie sicher, dass die Anmeldeinformationen in `tempo.yml` mit den RustFS-Anmeldeinformationen übereinstimmen und dass der Dienst `create-bucket` erfolgreich abgeschlossen wurde: +Stellen Sie sicher, dass die Zugangsdaten in `tempo.yml` mit den RustFS-Zugangsdaten übereinstimmen und dass der Dienst `create-bucket` erfolgreich abgeschlossen wurde: ```bash docker compose logs create-bucket @@ -284,10 +284,10 @@ docker compose logs create-bucket ### Verbindungs- oder Zertifikatsfehler -`endpoint` nimmt kein Schema an; `insecure: true` wählt Plain HTTP und `forcepathstyle: true` Path-Style-Adressierung für den Container-Netzwerk-Endpunkt. Verwenden Sie innerhalb des Compose-Netzwerks `rustfs:9000` und auf dem Host `localhost:9000`. +`endpoint` nimmt kein Schema an; `insecure: true` wählt unverschlüsseltes HTTP (Plain HTTP) und `forcepathstyle: true` die pfadbasierte Adressierung (Path-Style) für den Container-Netzwerk-Endpunkt. Verwenden Sie innerhalb des Compose-Netzwerks `rustfs:9000` und auf dem Host `localhost:9000`. ## Nächste Schritte - Lesen Sie die [S3-Kompatibilitätshinweise](/administration/protocols/s3), bevor Sie weitere S3-Operationen verwenden. -- Erstellen Sie dedizierte Produktions-Anmeldeinformationen mit dem [Access Key Management](/security-compliance/iam/access-token). +- Erstellen Sie dedizierte Produktions-Zugangsdaten über die [Zugriffsschlüssel-Verwaltung](/de/security-compliance/iam/access-token). - Folgen Sie der [Grafana-Tempo-Dokumentation](https://grafana.com/docs/tempo/latest/), um den OpenTelemetry Collector oder instrumentierte Anwendungen als Trace-Producer anzubinden. diff --git a/content/de/developer/integration/others/capo.md b/content/de/developer/integration/others/capo.md index 0aee13ea6..42c306a05 100644 --- a/content/de/developer/integration/others/capo.md +++ b/content/de/developer/integration/others/capo.md @@ -31,7 +31,7 @@ s3 = S3Client( ) ``` -## Verifikation +## Überprüfung Erstellen Sie einen Bucket, laden Sie ein Objekt hoch und listen Sie den Bucket auf: @@ -59,7 +59,7 @@ with s3.get_object(bucket="my-bucket", key="hello.txt") as response: print(content.decode()) ``` -Sie können außerdem vorsignierte URLs generieren, die zeitlich begrenzten Zugriff ohne Anmeldeinformationen gewähren: +Außerdem können Sie vorsignierte URLs erzeugen, die zeitlich begrenzten Zugriff ohne Zugangsdaten gewähren: ```python url = s3.presigned_get_object(bucket="my-bucket", key="hello.txt", expire_in=3600) @@ -68,7 +68,7 @@ print(url) ## Asynchroner Client -Der asynchrone Client akzeptiert dieselben Argumente und spiegelt jede Operation. Awaiten Sie jeden Aufruf und verwenden Sie asynchrone Kontextmanager für den Client sowie für Streaming-Antworten: +Der asynchrone Client akzeptiert dieselben Argumente und spiegelt jede Operation. Warten Sie jeden Aufruf mit `await` ab und verwenden Sie asynchrone Kontextmanager für den Client sowie für Streaming-Antworten: ```python import asyncio diff --git a/content/de/developer/integration/others/index.md b/content/de/developer/integration/others/index.md index c4d3c2cf5..495b99fae 100644 --- a/content/de/developer/integration/others/index.md +++ b/content/de/developer/integration/others/index.md @@ -1,14 +1,14 @@ --- title: "Sonstige" -description: "Weitere RustFS-Integrationen, derzeit das Community-SDK capo für Python." +description: "Diese Seite sammelt weitere RustFS-Integrationen, derzeit das von der Community entwickelte SDK capo für Python." --- -Integration guides that do not fit the other categories. +Integrationsanleitungen, die in keine der anderen Kategorien passen. -## Guides +## Anleitungen -- [capo (Python)](./capo.md) — connect the community-driven capo SDK to RustFS with synchronous or asynchronous clients. -rclone](./rclone.md) — sync, mount, and serve RustFS buckets from the command line. -- [tusd](./tusd.md) — receive resumable uploads into a RustFS bucket over the tus protocol. -- [JuiceFS](./juicefs.md) — mount a POSIX filesystem backed by a RustFS bucket. -- [Nextcloud](./nextcloud.md) — use RustFS as S3 external storage for Nextcloud files. +- [capo (Python)](./capo.md) — verbinden Sie das von der Community entwickelte SDK capo über synchrone oder asynchrone Clients mit RustFS. +- [rclone](./rclone.md) — synchronisieren und hängen Sie RustFS-Buckets ein und liefern Sie sie über die Kommandozeile aus. +- [tusd](./tusd.md) — nehmen Sie fortsetzbare Uploads über das tus-Protokoll in einem RustFS-Bucket entgegen. +- [JuiceFS](./juicefs.md) — hängen Sie ein POSIX-Dateisystem ein, dessen Daten in einem RustFS-Bucket liegen. +- [Nextcloud](./nextcloud.md) — verwenden Sie RustFS als externen S3-Speicher für Nextcloud-Dateien. diff --git a/content/de/developer/integration/registry/harbor.md b/content/de/developer/integration/registry/harbor.md index b6b429dda..2615b9df6 100644 --- a/content/de/developer/integration/registry/harbor.md +++ b/content/de/developer/integration/registry/harbor.md @@ -1,9 +1,9 @@ --- title: "Harbor" -description: "Speichern Sie über Harbor gepushte Container-Images in RustFS-Objektspeicher über den S3-Storage-Treiber der Registry, bereitgestellt mit Docker Compose." +description: "Speichern Sie mit Harbor gepushte Container-Images über den S3-Storage-Treiber der Registry in RustFS; die Anleitung verwendet Docker Compose." --- -Diese Anleitung verbindet [Harbor](https://github.com/goharbor/harbor) — die CNCF-graduierte Cloud-native-Registry — mit **RustFS**. Harbor persistiert Image-Layer, Manifeste und andere OCI-Artefakte über seine eingebettete Registry-Komponente, die den S3-Storage-Treiber des [distribution](https://distribution.github.io/distribution/)-Projekts implementiert. Sie betreiben diese Registry-Komponente mit Docker Compose gegen RustFS, pushen ein Image, pullen es zurück und prüfen die Objekte in RustFS. Dasselbe Speicher-Setup gilt für eine vollständige Harbor-Bereitstellung. Der Ablauf wurde mit `goharbor/registry-photon:v2.12.2` und `rustfs/rustfs-x86-musl:v2.3.1` verifiziert. +Diese Anleitung verbindet [Harbor](https://github.com/goharbor/harbor) — die bei der CNCF graduierte Cloud-native Registry (CNCF-graduated) — mit **RustFS**. Harbor persistiert Image-Layer, Manifeste und andere OCI-Artefakte über seine eingebettete Registry-Komponente, die den S3-Storage-Treiber des [distribution](https://distribution.github.io/distribution/)-Projekts implementiert. Sie betreiben diese Registry-Komponente mit Docker Compose und RustFS als Speicher, pushen ein Image, pullen es zurück und prüfen die Objekte in RustFS. Dasselbe Speicher-Setup gilt für eine vollständige Harbor-Bereitstellung. Der Ablauf wurde mit `goharbor/registry-photon:v2.12.2` und `rustfs/rustfs-x86-musl:v2.3.1` verifiziert. Sie benötigen Docker mit dem Compose-Plugin. Dieses Setup ist für lokale Integrationstests gedacht, nicht für den Produktivbetrieb. @@ -16,7 +16,7 @@ flowchart LR Init["init-bucket job"] -->|"create my-bucket"| RustFS ``` -Die Registry speichert alle Blobs, Manifeste und Repository-Links über den S3-Storage-Treiber unterhalb von `docker/registry/v2/` im Bucket. Die Treibereinstellungen `regionendpoint`, `secure: false` und `skipverify: true` richten den von der Registry verwendeten AWS-S3-Client auf den RustFS-Endpunkt mit Path-Style-Adressierung über Plain HTTP aus. +Die Registry speichert alle Blobs, Manifeste und Repository-Links über den S3-Storage-Treiber unterhalb von `docker/registry/v2/` im Bucket. Die Treibereinstellungen `regionendpoint`, `secure: false` und `skipverify: true` richten den von der Registry verwendeten AWS-S3-Client auf den RustFS-Endpunkt mit pfadbasierter Adressierung (Path-Style) über unverschlüsseltes HTTP (Plain HTTP) aus. ## 1. Projektdateien anlegen @@ -27,14 +27,14 @@ mkdir rustfs-harbor cd rustfs-harbor ``` -Erstellen Sie eine Umgebungsdatei und ersetzen Sie beide Platzhalter für die Anmeldeinformationen: +Erstellen Sie eine Umgebungsdatei und ersetzen Sie beide Platzhalter für die Zugangsdaten: ```ini title=".env" RUSTFS_ACCESS_KEY= RUSTFS_SECRET_KEY= ``` -Verwenden Sie dedizierte Anmeldeinformationen für den Bucket. Committen Sie `.env` nicht in die Versionsverwaltung. +Verwenden Sie dedizierte Zugangsdaten für den Bucket. Nehmen Sie `.env` nicht in die Versionsverwaltung auf. Erstellen Sie die Registry-Konfiguration, die Harbor für seine Registry-Komponente verwendet: @@ -262,7 +262,7 @@ docker compose logs registry ### AccessDenied- oder 403-Antworten -Stellen Sie sicher, dass die Anmeldeinformationen in `config.yml` mit den RustFS-Anmeldeinformationen übereinstimmen und dass der Dienst `create-bucket` erfolgreich abgeschlossen wurde: +Stellen Sie sicher, dass die Zugangsdaten in `config.yml` mit den RustFS-Zugangsdaten übereinstimmen und dass der Dienst `create-bucket` erfolgreich abgeschlossen wurde: ```bash docker compose logs create-bucket @@ -275,5 +275,5 @@ Der Treiber schreibt unterhalb von `docker/registry/v2/` im Bucket. Listen Sie d ## Nächste Schritte - Lesen Sie die [S3-Kompatibilitätshinweise](/administration/protocols/s3), bevor Sie weitere S3-Operationen verwenden. -- Erstellen Sie dedizierte Produktions-Anmeldeinformationen mit dem [Access Key Management](/security-compliance/iam/access-token). +- Erstellen Sie dedizierte Produktions-Zugangsdaten über die [Zugriffsschlüssel-Verwaltung](/de/security-compliance/iam/access-token). - Folgen Sie der [Harbor-Dokumentation](https://goharbor.io/docs/), um eine vollständige Harbor-Bereitstellung mit Replikation, Vulnerability-Scanning und RBAC zu konfigurieren. diff --git a/content/de/developer/integration/registry/index.md b/content/de/developer/integration/registry/index.md index 857ae4a14..6ae356a4d 100644 --- a/content/de/developer/integration/registry/index.md +++ b/content/de/developer/integration/registry/index.md @@ -3,11 +3,11 @@ title: "Registry" description: "Verbinden Sie Container-Registries über S3-kompatible Objektspeicher-Schnittstellen mit RustFS." --- -Nutzen Sie **RustFS** als Objektspeicher-Layer für Container-Registries mit einem S3-kompatiblen Storage-Treiber. +Nutzen Sie **RustFS** als Objektspeicher-Backend für Container-Registries mit S3-kompatiblem Storage-Treiber. ## Registries - [Harbor](./harbor.md) - [Docker Registry](./docker-registry.md) -Speichern Sie Image-Artefakte in einem dedizierten Bucket und beschränken Sie die Anmeldeinformationen auf die erforderlichen Bucket-Operationen. +Speichern Sie Image-Artefakte in einem dedizierten Bucket und beschränken Sie die Zugangsdaten auf die erforderlichen Bucket-Operationen. diff --git a/content/de/index.mdx b/content/de/index.mdx index a8a8e8cc2..deb4c9a26 100644 --- a/content/de/index.mdx +++ b/content/de/index.mdx @@ -30,7 +30,7 @@ description: "Installieren Sie RustFS unter Linux, in Containern, auf Kubernetes Mit Docker installieren - Führen Sie RustFS zur lokalen Evaluierung oder für verwaltete Bereitstellungen als Container aus. + Führen Sie RustFS als Container aus — zur lokalen Evaluierung oder für verwaltete Bereitstellungen.