乐于分享
好东西不私藏

Weaviate 集群部署文档

Weaviate 集群部署文档

一、文档介绍

Weaviate 是一个面向 AI 与语义搜索场景的开源向量数据库,它提供基于向量嵌入(Vector Embedding)的数据存储与检索能力,用于替代传统数据库在语义检索、相似度搜索等场景中的局限。Weaviate 是一个支持云原生部署的开源项目,广泛应用于 AI 检索增强生成(RAG)、语义搜索和推荐系统等场景。

Weaviate 通过向量化技术,将文本、图片等非结构化数据转换为高维向量进行存储,并结合向量相似度算法实现高效检索。同时,它支持 GraphQL 查询接口、模块化 AI 模型集成以及容器化部署,能够与 Kubernetes、Docker 等云原生平台无缝集成,为构建大模型应用和智能搜索系统提供高性能的数据基础设施。

此文档旨在规范服务器上 weaviate 部署步骤,标准化操作步骤,为后续标准运维提供支撑。 

二、部署说明

  • 操作系统:Linux(AlmaLinux 8.8)
  • 安装包版本:Weaviate 1.27.0
  • 服务器:3 台

服务器

主机名

角色

10.211.55.101

weaviate-node-01

主节点

10.211.55.102

weaviate-node-02

从节点

10.211.55.103

weaviate-node-03

从节点

三、配置HOSTS

cat <<"EOF" | tee -a /etc/hosts10.211.55.101	weaviate-node-0110.211.55.102	weaviate-node-0210.211.55.103	weaviate-node-03EOF

四、下载

官网下载地址:https://github.com/weaviate/weaviate/releases/

cd /usr/local/srcwget https://github.com/weaviate/weaviate/releases/download/v1.27.0/weaviate-v1.27.0-linux-amd64.tar.gz

五、安装

cd /usr/local/srctar zxvf weaviate-v1.27.0-linux-amd64.tar.gz -C weaviate-v1.27.0mv weaviate-v1.27.0 /usr/local/ln -s weaviate-v1.27.0 weaviate

六、创建目录

mkdir -p /data/weaviate_data/{conf,data,tmp}

七、修改配置文件

1. 主节点服务器

cd /data/weaviate_data/conf/cat <<EOF | tee envQUERY_DEFAULTS_LIMIT= 25AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED= falsePERSISTENCE_DATA_PATH=/data/weaviate_data/data/DEFAULT_VECTORIZER_MODULE=noneAUTHENTICATION_APIKEY_ENABLED=trueAUTHENTICATION_APIKEY_ALLOWED_KEYS=WVF5YThaHlkYwhGUSmCRgsX3tD5ngdN8pkihAUTHENTICATION_APIKEY_USERS=hello@dify.aiAUTHORIZATION_ADMINLIST_ENABLED=trueAUTHORIZATION_ADMINLIST_USERS=hello@dify.ai# 集群节点名称CLUSTER_HOSTNAME=node1CLUSTER_GOSSIP_BIND_PORT=7100CLUSTER_DATA_BIND_PORT=7101RAFT_JOIN=node1,node2,node3RAFT_BOOTSTRAP_EXPECT=3EOF

2. 从节点服务器

cd /data/weaviate_data/conf/cat <<EOF | tee envQUERY_DEFAULTS_LIMIT= 25AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED= falsePERSISTENCE_DATA_PATH=/data/weaviate_data/data/DEFAULT_VECTORIZER_MODULE=noneAUTHENTICATION_APIKEY_ENABLED=trueAUTHENTICATION_APIKEY_ALLOWED_KEYS=WVF5YThaHlkYwhGUSmCRgsX3tD5ngdN8pkihAUTHENTICATION_APIKEY_USERS=hello@dify.aiAUTHORIZATION_ADMINLIST_ENABLED=trueAUTHORIZATION_ADMINLIST_USERS=hello@dify.ai# 集群节点名称(不同主机需要修改)CLUSTER_HOSTNAME=node2CLUSTER_JOIN=weaviate-node-01:7100CLUSTER_GOSSIP_BIND_PORT=7100CLUSTER_DATA_BIND_PORT=7101RAFT_JOIN=node1,node2,node3RAFT_BOOTSTRAP_EXPECT=3EOF

八、创建服务

cd /data/weaviate_data/cat <<EOF | teeweaviate.service[Unit]Description=weaviateAfter=network.target[Service]Type=simpleUser=rootEnvironmentFile=-/data/weaviate_data/conf/envExecStart=/usr/local/weaviate/weaviate \          --host 0.0.0.0 \          --port 8080 \          --scheme httpExecReload=/bin/kill -HUP $MAINPIDRestart=on-failure[Install]WantedBy=multi-user.targetEOFcp weaviate.service /usr/lib/systemd/system/systemctl daemon-reload

九、启动服务

(一) 启动服务

systemctl enable weaviate --nowsystemctl status weaviate

(二) 验证集群状态

AUTH_KEY=$(cat /data/weaviate_data/conf/env | grep AUTHENTICATION_APIKEY_ALLOWED_KEY | awk -F'=' '{print $2}')curl -H "Authorization: Bearer ${AUTH_KEY}" http://127.0.0.1:8080/v1/nodes

输出以下内容,表示集群启动成功

{"nodes":[{"batchStats":{"queueLength":0,"ratePerSecond":0},"name":"node1","shards":null,"status":"HEALTHY","version":"1.27.0"},{"batchStats":{"queueLength":0,"ratePerSecond":0},"name":"node2","shards":null,"status":"HEALTHY","version":"1.27.0"},{"batchStats":{"queueLength":0,"ratePerSecond":0},"name":"node3","shards":null,"status":"HEALTHY","version":"1.27.0"}]}
本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » Weaviate 集群部署文档

评论 抢沙发

5 + 7 =
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
×
订阅图标按钮