SeaweedFS
このドキュメントでは、SeaweedFSにアクセスするために必要なパラメータについて説明します。これらは以下のシナリオに適用されます:
- Catalogプロパティ
- Table Valued Functionプロパティ
- Broker Loadプロパティ
- Exportプロパティ
- Outfileプロパティ
DorisはS3 Clientを使用してS3互換プロトコル経由でSeaweedFSにアクセスします。 このページではSeaweedFS S3(通常の)バケットについて説明します。SeaweedFS S3 Table Bucket(REST Catalog + S3が同一のweedプロセスから提供される)に保存されたIcebergテーブルについては、Integration with SeaweedFSを参照してください。
weed miniでのクイックスタート
weed miniは単一プロセスでSeaweedFS S3エンドポイントを起動し、環境変数から認証情報と事前作成されたバケットを設定します:
AWS_ACCESS_KEY_ID=admin \
AWS_SECRET_ACCESS_KEY=secret \
S3_BUCKET=my-bucket \
weed mini -dir=/data
S3エンドポイントはhttp://localhost:8333 でアクセス可能になり、my-bucketが既に作成され、admin / secretが有効な認証情報として使用できます。Docker、カスタムポート、複数バケット、リバースプロキシオプションについては、Quick Start with weed miniを参照してください。
パラメータ概要
SeaweedFSはS3互換プロトコル経由でアクセスされるため、AWS S3と同じs3.*プロパティを使用します。
| プロパティ名 | 説明 | デフォルト | 必須 |
|---|---|---|---|
| s3.endpoint | SeaweedFS S3ゲートウェイエンドポイント、例:http://seaweedfs.example.com:8333 | Yes | |
| s3.access_key | SeaweedFS S3 IAM設定で構成されたアクセスキー | Yes | |
| s3.secret_key | s3.access_keyとペアになるシークレットキー | Yes | |
| s3.region | リージョン。SeaweedFSは値を検証しませんが、AWS S3 SDKでは必要です(例:us-east-1) | Yes | |
| s3.use_path_style | trueに設定。SeaweedFSはhttp://<endpoint>/<bucket>/<key>配下でオブジェクトを提供します | FALSE | No |
| s3.connection.maximum | SeaweedFS S3ゲートウェイへの最大接続数 | 50 | No |
| s3.connection.request.timeout | リクエストタイムアウト(ミリ秒) | 3000 | No |
| s3.connection.timeout | 接続確立タイムアウト(ミリ秒) | 1000 | No |
path-styleアクセスの使用
SeaweedFSはpath-styleアドレス指定(http://<endpoint>/<bucket>/<key>)を使用し、バケット単位のDNSサブドメインをプロビジョニングしないため、すべての接続でs3.use_path_style = trueを設定してください。
設定例
"s3.access_key" = "your-access-key",
"s3.secret_key" = "your-secret-key",
"s3.endpoint" = "http://seaweedfs.example.com:8333",
"s3.region" = "us-east-1",
"s3.use_path_style" = "true"
使用推奨事項
s3.use_path_style = trueを設定してください。SeaweedFSはバケットごとのDNSサブドメインを使用しません。s3.regionはAWS S3 SDKで必要ですが、SeaweedFSでは無視されます — 空でない任意の値が機能します。- HTTPSの場合は、リバースプロキシでTLSを終端し、S3署名検証が機能するように
-s3.externalUrl=https://<proxy>でweedを開始してください。 - SeaweedFS S3 Table BucketsでのIcebergテーブルについては、Integration with SeaweedFSを参照してください。