5分钟部署Venice集群:Docker单机数据中心快速上手教程

发布时间:2026/8/22 14:31:23
5分钟部署Venice集群:Docker单机数据中心快速上手教程 5分钟部署Venice集群Docker单机数据中心快速上手教程【免费下载链接】veniceVenice, Derived Data Platform for Planet-Scale Workloads.项目地址: https://gitcode.com/gh_mirrors/venic/veniceVenice 是 LinkedIn 开源的派生数据平台Derived Data Platform专为行星级别工作负载设计。本文将带你使用 Docker 在 5 分钟内部署一个 Venice 集群单机数据中心模式完成从创建 Store、批量推送数据到查询读取的完整流程新手零门槛即可上手。一、Venice 是什么为什么选择它 先用一句话理解 Venice一个把 Kafka、ZooKeeper 和自研存储引擎组合起来的分布式键值存储系统。它适合以下场景批量 实时数据融合先全量推送一批数据再持续摄入 Kafka 实时流自动合并多数据中心主动复制跨 DC 容错确定性冲突解决读写计算支持 Write-Compute 和 Read-Compute减少数据移动二、集群架构Docker Compose 拉起 6 个容器Docker 单机部署文件位于docker/docker-compose-single-dc-setup.yaml一键启动 6 个容器按依赖顺序自动编排组件镜像职责ZooKeepervenicedb/apache-zookeeper分布式协调服务Kafkavenicedb/apache-kafka实时数据流与元数据通道Venice Controllervenicedb/venice-controller集群管理大脑处理建 Store 等请求Venice Servervenicedb/venice-server存储引擎负责数据摄入与存储Venice Routervenice-router读写请求的流量入口Venice Clientvenicedb/venice-client预装管理工具与示例数据的操作台每个容器都配置了健康检查healthcheck只有前一个组件健康后下一个才会启动因此不需要手动控制启动顺序。三、部署步骤全程约 5 分钟第 1 步安装 Docker 并克隆仓库确认本机已安装 Docker Engine 与 Docker Compose 并正在运行。然后克隆 Venice 仓库git clone https://gitcode.com/gh_mirrors/venic/venice cd venice/docker第 2 步一条命令启动 Venice 集群docker-compose -f docker-compose-single-dc-setup.yaml up -d首次运行会拉取 6 个镜像耗时取决于网络。启动完成后会自动创建一个名为venice-cluster的测试集群。可以用以下命令确认所有容器均已 Runningdocker-compose -f docker-compose-single-dc-setup.yaml ps第 3 步进入客户端容器docker exec -it venice-client bash客户端容器预装了venice-admin-tool管理工具和示例数据后续所有操作都在这里完成。第 4 步创建你的第一个 StoreStore 是 Venice 中数据的基本组织单位。使用示例脚本docker/venice-client/create-store.sh创建名为test-store的 Store键值 Schema 均为 string 类型./create-store.sh http://venice-controller:5555 venice-cluster0 test-store \ sample-data/schema/keySchema.avsc sample-data/schema/valueSchema.avsc该脚本同时开启了增量推送incremental push并设置无限存储配额为后续步骤做准备。第 5 步批量推送 100 条数据Venice 的批量推送由VPJVenice Push Job完成。示例数据为 100 条键值对key: 1~100value: val1~val100配置文件位于docker/venice-client/sample-data/single-dc-configs/batch-push-job.properties# 先看看数据长什么样可选 ./avro-to-json.sh sample-data/batch-push-data/kv_records.avro # 执行批量推送 ./run-vpj.sh sample-data/single-dc-configs/batch-push-job.properties推送成功后数据即完成全量摄入可被查询。第 6 步两种客户端查询数据Venice 提供两种读取方式演示脚本都在docker/venice-client/目录下方式 AThin Client经 Router 路由./fetch.sh http://venice-router:7777 test-store 1 # 输出 # key1 # valueval1方式 BFast Client直连存储节点绕过 RouterFast Client 通过服务发现直连 Server延迟更低但需要先在 Store 上开启存储节点读配额java -jar /opt/venice/bin/venice-admin-tool-all.jar --update-store \ --url http://venice-controller:5555 --cluster venice-cluster0 \ --store test-store --storage-node-read-quota-enabled true ./fast-client-fetch.sh test-store 1 查询不存在的 key如 101会返回valuenull这是正常行为。第 7 步体验增量推送Incremental Push这是 Venice 的招牌能力更新 91~100 的值并新增 101~110 的行一条命令完成./run-vpj.sh sample-data/single-dc-configs/inc-push-job.properties再次查询即可看到效果./fetch.sh http://venice-router:7777 test-store 100 # valueval100_v1 ← 已被更新 ./fetch.sh http://venice-router:7777 test-store 101 # valueval101 ← 新增的行批量 增量 Lambda 架构中的批流融合Venice 自动帮你合并。四、关闭集群演示完毕回到宿主机执行docker-compose -f docker-compose-single-dc-setup.yaml down所有容器与数据会被清理随时可以再次up起来。五、常见问题FAQQ1启动后部分容器显示 restarting怎么办等 1~2 分钟再查看镜像拉取或 Kafka 初始化需要时间。可执行docker logs kafka查看具体日志。Q2./run-vpj.sh推送卡住不动检查venice-controller容器是否 Running推送任务需要 Controller 协调创建 Kafka topic。Q3如何修改推送数据量或数据内容替换sample-data/batch-push-data/下的 Avro 文件并修改batch-push-job.properties中的input.path即可。Q4想体验多数据中心部署仓库中还提供了docker/docker-compose-multi-dc-setup.yaml可一键拉起双数据中心集群相关文档见docs/getting-started/deployments/quickstart-multi-dc.md。六、下一步学习本教程的完整官方指南在docs/getting-started/deployments/quickstart-single-dc.md。跑通单机部署后建议继续探索写入 API 全览在线生产者、Stream Processor 等docs/user-guide/write-apis/index.md读取 API 对比Thin Client 与 Fast Client 的选型docs/user-guide/read-apis/index.md架构原理Venice 如何做到批流融合docs/getting-started/learn-venice/architecture-overview.md恭喜你已经在 5 分钟内拥有了一个可用的 Venice 集群。【免费下载链接】veniceVenice, Derived Data Platform for Planet-Scale Workloads.项目地址: https://gitcode.com/gh_mirrors/venic/venice创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考