是一个元服务器,为HugeGraph分布式部署提供集群管理和协调服务。它作为中央控制平面,负责:
PD使用https://github.com/sofastack/sofa-jraft%E5%AE%9E%E7%8E%B0Raft%E5%85%B1%E8%AF%86%EF%BC%8C%E5%B9%B6%E4%BD%BF%E7%94%A8RocksDB%E8%BF%9B%E8%A1%8C%E6%8C%81%E4%B9%85%E5%8C%96%E5%85%83%E6%95%B0%E6%8D%AE%E5%AD%98%E5%82%A8%EF%BC%8C%E7%A1%AE%E4%BF%9D%E5%88%86%E5%B8%83%E5%BC%8F%E7%8E%AF%E5%A2%83%E4%B8%AD%E7%9A%84%E9%AB%98%E5%8F%AF%E7%94%A8%E6%80%A7%E5%92%8C%E4%B8%80%E8%87%B4%E6%80%A7%E3%80%82
HugeGraph PD是一个Maven多模块项目,包含8个模块:
| 模块 | 描述 |
|---|---|
| hg-pd-grpc | gRPC协议定义(.proto文件)和生成的Java存根,用于服务间通信 |
| hg-pd-common | PD模块间共享的工具类、常量和辅助类 |
| hg-pd-core | PD核心逻辑:Raft集成、元数据存储、分区分配、存储监控、任务调度 |
| hg-pd-service | gRPC服务实现和REST API(Spring Boot),用于管理和指标 |
| hg-pd-client | 应用程序与PD集群通信的Java客户端库 |
| hg-pd-cli | 用于PD管理和调试的命令行工具 |
| hg-pd-test | 所有PD组件的单元测试和集成测试 |
| hg-pd-dist | 分发组件:打包、配置模板、启动脚本 |
有关详细的架构和设计,请参见架构文档。
从项目根目录(构建PD和所有依赖项):
bashmvn clean package -pl hugegraph-pd -am -DskipTests
或者从hugegraph-pd目录构建:
bashcd hugegraph-pd mvn clean install -DskipTests
组装好的分发包将位于:
hugegraph-pd/hg-pd-dist/target/hugegraph-pd-<version>.tar.gz
解压分发包并启动PD:
bashtar -xzf hugegraph-pd-<version>.tar.gz cd hugegraph-pd-<version> # 启动PD服务器 bin/start-hugegraph-pd.sh # 停止PD服务器 bin/stop-hugegraph-pd.sh
启动选项
bashbin/start-hugegraph-pd.sh [-g GC_TYPE] [-j "JVM_OPTIONS"] [-y ENABLE_OTEL]
-g:GC类型(g1或ZGC,默认:g1)-j:自定义JVM选项(例如:-j "-Xmx4g -Xms4g")-y:启用OpenTelemetry追踪(true或false,默认:false)关键配置文件:conf/application.yml
核心设置
| 参数 | 默认值 | 描述 |
|---|---|---|
grpc.host | 127.0.0.1 | gRPC服务器绑定地址(生产环境使用实际IP) |
grpc.port | 8686 | gRPC服务器端口 |
server.port | 8620 | 用于管理和指标的REST API端口 |
raft.address | 127.0.0.1:8610 | 此PD节点的Raft服务地址 |
raft.peers-list | 127.0.0.1:8610 | Raft集群中所有PD节点的逗号分隔列表 |
pd.data-path | ./pd_data | 用于存储PD元数据和Raft日志的目录 |
单节点示例
yamlgrpc: host: 127.0.0.1 port: 8686 server: port: 8620 raft: address: 127.0.0.1:8610 peers-list: 127.0.0.1:8610 pd: data-path: ./pd_data
3节点集群示例
对于生产环境的3节点PD集群,配置每个节点:
节点1(192.168.1.10):
yamlgrpc: host: 192.168.1.10 port: 8686 raft: address: 192.168.1.10:8610 peers-list: 192.168.1.10:8610,192.168.1.11:8610,192.168.1.12:8610
节点2(192.168.1.11):
yamlgrpc: host: 192.168.1.11 port: 8686 raft: address: 192.168.1.11:8610 peers-list: 192.168.1.10:8610,192.168.1.11:8610,192.168.1.12:8610
节点3(192.168.1.12):
yamlgrpc: host: 192.168.1.12 port: 8686 raft: address: 192.168.1.12:8610 peers-list: 192.168.1.10:8610,192.168.1.11:8610,192.168.1.12:8610
有关详细的配置选项和生产环境调优,请参见配置指南。
检查PD是否正在运行:
bash# 检查进程 ps aux | grep hugegraph-pd # 测试REST API curl http://localhost:8620/actuator/health # 检查日志 tail -f logs/hugegraph-pd.log
PD公开了多个用于集群管理的gRPC服务。关键服务包括:
PDGrpc):存储注册、分区查询、领导者选举KvServiceGrpc):元数据的分布式键值操作HgPdWatchGrpc):监视分区和存储变更HgPdPulseGrpc):心跳和健康监控Proto定义位于:
hugegraph-pd/hg-pd-grpc/src/main/proto/
有关API参考和使用示例,请参见API参考。
运行PD测试:
bash# 所有PD测试 mvn test -pl hugegraph-pd/hg-pd-test -am # 特定测试类 mvn test -pl hugegraph-pd/hg-pd-test -am -Dtest=YourTestClass
构建PD Docker镜像:
bash# 从项目根目录 docker build -f hugegraph-pd/Dockerfile -t hugegraph-pd:latest . # 运行容器 docker run -d \ -p 8620:8620 \ -p 8686:8686 \ -p 8610:8610 \ -v /path/to/conf:/hugegraph-pd/conf \ -v /path/to/data:/hugegraph-pd/pd_data \ --name hugegraph-pd \ hugegraph-pd:latest
有关包含HugeGraph Store和Server的Docker Compose示例,请参见:
hugegraph-server/hugegraph-dist/docker/example/
(N-1)/2个节点故障(例如,3节点集群中可容忍1个故障)8620(REST)、8686(gRPC)、8610(Raft)PD通过REST API公开指标:
http://<pd-host>:8620/actuator/healthhttp://<pd-host>:8620/actuator/metrics欢迎贡献!请阅读我们的开发指南并遵循Apache HugeGraph贡献指南。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务