Skip to content
This repository was archived by the owner on Dec 28, 2025. It is now read-only.

Commit d126b5d

Browse files
committed
chore: add docker using / add load data methods
1 parent c7c457a commit d126b5d

File tree

2 files changed

+286
-12
lines changed

2 files changed

+286
-12
lines changed

content/cn/docs/quickstart/computing/hugegraph-vermeer.md

Lines changed: 138 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,90 @@ master 是负责通信、转发、汇总的节点,计算量和占用资源量
1616

1717
### 1.2 运行方法
1818

19+
1. **方案一:Docker Compose(推荐)**
20+
21+
修改 docker-compose.yaml 中的 volume,例如将两处 ~/:/go/bin/config 改为 /home/user/config:/go/bin/config(或你自己的配置目录)。
22+
在项目目录构建镜像并启动(或者先用 docker build 再 docker-compose up)
23+
24+
```shell
25+
# 构建镜像(在项目根 vermeer 目录)
26+
docker build -t hugegraph/vermeer .
27+
28+
# 启动(在含 docker-compose.yaml 的目录)
29+
docker-compose up -d
30+
# 或使用新版 CLI:
31+
# docker compose up -d
32+
```
33+
34+
查看日志 / 停止 / 删除:
35+
36+
```shell
37+
docker-compose logs -f
38+
docker-compose down
39+
```
40+
41+
2. **方案二:通过 docker run 单独启动(手动创建网络并分配静态 IP)**
42+
43+
构建镜像:
44+
45+
```shell
46+
docker build -t hugegraph/vermeer .
47+
```
48+
49+
创建自定义 bridge 网络(一次性操作):
50+
51+
```shell
52+
docker network create --driver bridge \
53+
--subnet 172.20.0.0/24 \
54+
vermeer_network
55+
```
56+
57+
运行 master(示例将容器 8080 映射到宿主机 8080;调整 CONFIG_DIR 为你的绝对配置路径):
58+
59+
```shell
60+
CONFIG_DIR=/home/ethereal/config
61+
62+
docker run -d \
63+
--name vermeer-master \
64+
--network vermeer_network --ip 172.20.0.10 \
65+
-v ${CONFIG_DIR}:/go/bin/config \
66+
-p 8080:8080 \
67+
hugegraph/vermeer \
68+
--env=master
69+
```
70+
71+
运行 worker:
72+
73+
```shell
74+
docker run -d \
75+
--name vermeer-worker \
76+
--network vermeer_network --ip 172.20.0.11 \
77+
-v ${CONFIG_DIR}:/go/bin/config \
78+
hugegraph/vermeer \
79+
--env=worker
80+
```
81+
82+
查看日志 / 停止 / 删除:
83+
84+
```shell
85+
docker logs -f vermeer-master
86+
docker logs -f vermeer-worker
87+
88+
docker stop vermeer-master vermeer-worker
89+
docker rm vermeer-master vermeer-worker
90+
91+
# 删除自定义网络(如果需要)
92+
docker network rm vermeer_network
93+
```
94+
95+
3. **方案三:从源码构建**
96+
97+
构建
98+
99+
```shell
100+
go build
101+
```
102+
19103
在进入文件夹目录后输入 `./vermeer --env=master``./vermeer --env=worker01`
20104

21105
## 二、任务创建类 rest api
@@ -33,7 +117,11 @@ master 是负责通信、转发、汇总的节点,计算量和占用资源量
33117

34118
具体参数参考 Vermeer 参数列表文档。
35119

36-
request 示例:
120+
vermeer提供三种加载方式:
121+
122+
1. 从本地加载
123+
124+
**request 示例:**
37125

38126
```javascript
39127
POST http://localhost:8688/tasks/create
@@ -51,6 +139,55 @@ POST http://localhost:8688/tasks/create
51139
}
52140
```
53141

142+
2. 从hugegraph加载
143+
144+
**request 示例:**
145+
146+
```javascript
147+
POST http://localhost:8688/tasks/create
148+
{
149+
"task_type": "load",
150+
"graph": "testdb",
151+
"params": {
152+
"load.parallel": "50",
153+
"load.type": "hugegraph",
154+
"load.hg_pd_peers": "[\"10.14.139.69:8686\"]",
155+
"load.hugegraph_name": "DEFAULT/hugegraph2/g",
156+
"load.hugegraph_username":"admin",
157+
"load.hugegraph_password":"xxxxx",
158+
"load.use_out_degree": "1",
159+
"load.use_outedge": "1"
160+
}
161+
}
162+
```
163+
164+
3. 从hdfs加载
165+
166+
**request 示例:**
167+
168+
```javascript
169+
POST http://localhost:8688/tasks/create
170+
{
171+
"task_type": "load",
172+
"graph": "testdb",
173+
"params": {
174+
"load.parallel": "50",
175+
"load.type": "hdfs",
176+
"load.hdfs_namenode": "name_node",
177+
"load.hdfs_conf_path": "path",
178+
"load.krb_realm":"admin",
179+
"load.krb_name":"xxxxx",
180+
"load.krb_keytab_path":"path",
181+
"load.krb_conf_path":"path",
182+
"load.hdfs_use_krb":"1",
183+
"load.vertex_files":"path",
184+
"load.edge_files":"path",
185+
"load.use_out_degree": "1",
186+
"load.use_outedge": "1"
187+
}
188+
}
189+
```
190+
54191
### 2.3 输出计算结果
55192

56193
所有的 vermeer 计算任务均支持多种结果输出方式,可自定义输出方式:local、hdfs、afs 或 hugegraph,在发送请求时的 params 参数下加入对应参数,即可生效。指定 output.need_statistics 为 1 时,支持计算结果统计信息输出,结果会写在接口任务信息内。统计模式算子目前支持 "count" 和 "modularity" 。但仅针对社区发现算法适用。

content/en/docs/quickstart/computing/hugegraph-vermeer.md

Lines changed: 148 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,90 @@ The framework's runtime configuration can be passed via command-line parameters
1616

1717
### 1.2 Running Method
1818

19+
1. **Option 1: Docker Compose (Recommended)**
20+
21+
Modify the volume in `docker-compose.yaml`, for example, changing the two instances of `~/:/go/bin/config` to `/home/user/config:/go/bin/config` (or your own configuration directory).
22+
Build the image and start up in the project directory (or use `docker build` first, then `docker-compose up`)
23+
24+
```shell
25+
# Build the image (in the project root 'vermeer' directory)
26+
docker build -t hugegraph/vermeer .
27+
28+
# Start up (in the directory containing docker-compose.yaml)
29+
docker-compose up -d
30+
# Or use the new CLI:
31+
# docker compose up -d
32+
```
33+
34+
View logs / Stop / Remove:
35+
36+
```shell
37+
docker-compose logs -f
38+
docker-compose down
39+
```
40+
41+
2. **Option 2: Start individually via `docker run` (Manually create network and assign static IP)**
42+
43+
Build the image:
44+
45+
```shell
46+
docker build -t hugegraph/vermeer .
47+
```
48+
49+
Create a custom bridge network (one-time operation):
50+
51+
```shell
52+
docker network create --driver bridge \
53+
--subnet 172.20.0.0/24 \
54+
vermeer_network
55+
```
56+
57+
Run master (Example maps container port 8080 to host port 8080; adjust `CONFIG_DIR` to your absolute configuration path):
58+
59+
```shell
60+
CONFIG_DIR=/home/ethereal/config
61+
62+
docker run -d \
63+
--name vermeer-master \
64+
--network vermeer_network --ip 172.20.0.10 \
65+
-v ${CONFIG_DIR}:/go/bin/config \
66+
-p 8080:8080 \
67+
hugegraph/vermeer \
68+
--env=master
69+
```
70+
71+
Run worker:
72+
73+
```shell
74+
docker run -d \
75+
--name vermeer-worker \
76+
--network vermeer_network --ip 172.20.0.11 \
77+
-v ${CONFIG_DIR}:/go/bin/config \
78+
hugegraph/vermeer \
79+
--env=worker
80+
```
81+
82+
View logs / Stop / Remove:
83+
84+
```shell
85+
docker logs -f vermeer-master
86+
docker logs -f vermeer-worker
87+
88+
docker stop vermeer-master vermeer-worker
89+
docker rm vermeer-master vermeer-worker
90+
91+
# Remove the custom network (if needed)
92+
docker network rm vermeer_network
93+
```
94+
95+
3. **Option 3: Build from Source**
96+
97+
Build
98+
99+
```shell
100+
go build
101+
```
102+
19103
Enter the directory and input `./vermeer --env=master` or `./vermeer --env=worker01`.
20104

21105
## 2. Task Creation REST API
@@ -33,21 +117,74 @@ Available URLs are as follows:
33117

34118
Refer to the Vermeer parameter list document for specific parameters.
35119

36-
Request example:
120+
Vermeer provides three ways to load data:
121+
122+
1. Load from Local Files
123+
124+
**Request Example:**
37125

38126
```javascript
39127
POST http://localhost:8688/tasks/create
40128
{
41-
"task_type": "load",
42-
"graph": "testdb",
43-
"params": {
44-
"load.parallel": "50",
45-
"load.type": "local",
46-
"load.vertex_files": "{\"localhost\":\"data/twitter-2010.v_[0,99]\"}",
47-
"load.edge_files": "{\"localhost\":\"data/twitter-2010.e_[0,99]\"}",
48-
"load.use_out_degree": "1",
49-
"load.use_outedge": "1"
50-
}
129+
"task_type": "load",
130+
"graph": "testdb",
131+
"params": {
132+
"load.parallel": "50",
133+
"load.type": "local",
134+
"load.vertex_files": "{\"localhost\":\"data/twitter-2010.v_[0,99]\"}",
135+
"load.edge_files": "{\"localhost\":\"data/twitter-2010.e_[0,99]\"}",
136+
"load.use_out_degree": "1",
137+
"load.use_outedge": "1"
138+
}
139+
}
140+
```
141+
142+
2. Load from HugeGraph
143+
144+
**Request Example:**
145+
146+
```javascript
147+
POST http://localhost:8688/tasks/create
148+
{
149+
"task_type": "load",
150+
"graph": "testdb",
151+
"params": {
152+
"load.parallel": "50",
153+
"load.type": "hugegraph",
154+
"load.hg_pd_peers": "[\"10.14.139.69:8686\"]",
155+
"load.hugegraph_name": "DEFAULT/hugegraph2/g",
156+
"load.hugegraph_username": "admin",
157+
"load.hugegraph_password": "xxxxx",
158+
"load.use_out_degree": "1",
159+
"load.use_outedge": "1"
160+
}
161+
}
162+
```
163+
164+
3. Load from HDFS
165+
166+
**Request Example:**
167+
168+
```javascript
169+
POST http://localhost:8688/tasks/create
170+
{
171+
"task_type": "load",
172+
"graph": "testdb",
173+
"params": {
174+
"load.parallel": "50",
175+
"load.type": "hdfs",
176+
"load.hdfs_namenode": "name_node",
177+
"load.hdfs_conf_path": "path",
178+
"load.krb_realm": "admin",
179+
"load.krb_name": "xxxxx",
180+
"load.krb_keytab_path": "path",
181+
"load.krb_conf_path": "path",
182+
"load.hdfs_use_krb": "1",
183+
"load.vertex_files": "path",
184+
"load.edge_files": "path",
185+
"load.use_out_degree": "1",
186+
"load.use_outedge": "1"
187+
}
51188
}
52189
```
53190

0 commit comments

Comments
 (0)