Weaviate 向量库的生产运维:认证、备份、多租户与索引。
Weaviate 是支持 HNSW、混合检索和多租户的向量数据库。生产运维重点不是建表,而是认证、备份恢复、租户隔离、索引参数和容量监控。
基础用法见 weaviate;本页只写集群运维和故障处理。
docker run -d --name weaviate \
-p 8080:8080 -p 50051:50051 -p 2112:2112 \
-e AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED=false \
-e AUTHENTICATION_APIKEY_ENABLED=true \
-e AUTHENTICATION_APIKEY_ALLOWED_KEYS="$WEAVIATE_API_KEY" \
-e AUTHENTICATION_APIKEY_USERS=admin \
-e AUTHORIZATION_ADMINLIST_ENABLED=true \
-e AUTHORIZATION_ADMINLIST_USERS=admin \
-e PROMETHEUS_MONITORING_ENABLED=true \
-v weaviate-data:/var/lib/weaviate \
semitechnologies/weaviate:"$WEAVIATE_VERSION"
生产要固定版本并使用外部对象存储/副本,不要依赖单容器和本地卷。
检查存活、就绪和版本:
curl -s http://localhost:8080/v1/.well-known/ready
curl -s http://localhost:8080/v1/meta
curl -s http://localhost:2112/metrics | grep -E 'weaviate_(object|vector|request)'
创建启用多租户的集合,并添加租户:
curl -X POST http://localhost:8080/v1/schema \
-H "Authorization: Bearer $WEAVIATE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{"class":"Docs","vectorizer":"none","multiTenancyConfig":{"enabled":true},"vectorIndexConfig":{"distance":"cosine","efConstruction":256,"maxConnections":32}}'
curl -X POST http://localhost:8080/v1/schema/Docs/tenants \
-H "Authorization: Bearer $WEAVIATE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{"tenants":[{"name":"tenant-a"},{"name":"tenant-b"}]}'
按租户查询,租户名通过 GraphQL 参数传入:
curl -X POST http://localhost:8080/v1/graphql \
-H "Authorization: Bearer $WEAVIATE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{"query":"{ Get { Docs(tenant: \"tenant-a\", limit: 5) { title } } }"}'
备份到文件系统并查询进度(容器需设置 BACKUP_FILESYSTEM_PATH):
curl -X POST http://localhost:8080/v1/backups/filesystem \
-H "Authorization: Bearer $WEAVIATE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{"id":"backup-20261018","include":["Docs"]}'
curl -s http://localhost:8080/v1/backups/filesystem/backup-20261018 \
-H "Authorization: Bearer $WEAVIATE_API_KEY"
BACKUP_FILESYSTEM_PATH,S3 备份要在 ENABLE_MODULES 中启用 backup-s3。~/.aws/credentials 或 AWS_PROFILE;只认环境变量、IAM 角色或认证代理,且访问密钥会覆盖 IAM 角色。Authorization: Bearer 的客户端全部 401;健康检查端点与业务端点的认证策略要分别确认。efConstruction、maxConnections 等参数创建后不可改;调参要新建集合并重建索引。合上页面,先回答,再展开对照。
~/.aws/credentials?BACKUP_FILESYSTEM_PATH 指向持久卷;调用 /v1/backups/filesystem 创建备份,再用同一路径恢复。