Coder Social home page Coder Social logo

apache / incubator-hugegraph-computer Goto Github PK

View Code? Open in Web Editor NEW
43.0 13.0 39.0 10.93 MB

HugeGraph Computer - A distributed graph processing system for hugegraph (OLAP)

Home Page: https://hugegraph.apache.org/docs/quickstart/hugegraph-computer/

License: Apache License 2.0

Java 96.19% Shell 1.09% Groovy 1.30% Dockerfile 0.17% Makefile 0.34% Go 0.91%
graph-computing graph graph-algorithms

incubator-hugegraph-computer's Introduction

Apache HugeGraph-Computer

License Build Status codecov Docker Pulls

The hugegraph-computer is a distributed graph processing system for hugegraph. It is an implementation of Pregel. It runs on Kubernetes or YARN framework.

Features

  • Support distributed MPP graph computing, and integrates with HugeGraph as graph input/output storage.
  • Based on BSP(Bulk Synchronous Parallel) model, an algorithm performs computing through multiple parallel iterations, every iteration is a superstep.
  • Auto memory management. The framework will never be OOM(Out of Memory) since it will split some data to disk if it doesn't have enough memory to hold all the data.
  • The part of edges or the messages of super node can be in memory, so you will never lose it.
  • You can load the data from HDFS or HugeGraph, output the results to HDFS or HugeGraph, or adapt any other systems manually as needed.
  • Easy to develop a new algorithm. You just need to focus on a vertex only processing just like as in a single server, without worrying about message transfer and memory/storage management.

Learn More

The project homepage contains more information about hugegraph-computer.

And here are links of other repositories:

  1. hugegraph-server (graph's core component - OLTP server)
  2. hugegraph-toolchain (include loader/dashboard/tool/client)
  3. hugegraph-commons (include common & rpc module)
  4. hugegraph-website (include doc & website code)

Note

  • If some classes under computer-k8s cannot be found, you need to execute mvn clean install in advance to generate corresponding classes.

Contributing

  • Welcome to contribute to HugeGraph, please see How to Contribute for more information.
  • Note: It's recommended to use GitHub Desktop to greatly simplify the PR and commit process.
  • Thank you to all the people who already contributed to HugeGraph!

contributors graph

License

hugegraph-computer is licensed under Apache 2.0 License.

Contact Us


  • GitHub Issues: Feedback on usage issues and functional requirements (quick response)
  • Feedback Email: [email protected] (subscriber only)
  • WeChat public account: Apache HugeGraph, welcome to scan this QR code to follow us.

QR png

incubator-hugegraph-computer's People

Contributors

ankipu avatar coderzc avatar conghuhu avatar corgiboygsj avatar diaohancai avatar houzhizhen avatar imbajin avatar jackyyangpassion avatar javeme avatar linary avatar msgui avatar qwtsc avatar radeity avatar seagle-yuan avatar simon824 avatar z7658329 avatar zeejj123 avatar zhoney avatar zyxxoo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

incubator-hugegraph-computer's Issues

[Summary] computer release v1.0 todo list

High Priority (高优先级)

  • fix 3rd party license/refer problems #227
  • adapt the latest server version (apache package)
  • Check the licenses of all dependent third-party libraries @z7658329 @seagle-yuan
    • Find all the dependent license/NOTICE files (unzip the jar package or go to the source code repository) and copy them to the licenses directory of the computer repository (refer to the link) #197
    • Check whether the license conflicts with Apache2.0
  • #200 @coderzc
  • #204 @coderzc
  • #194 @coderzc
  • Add rat ci #191 @z7658329 @seagle-yuan

Medium Priority (中优先级)

  • update config files & a string of typo fix #189
  • add basic apache yaml configs #190
  • merge exist PR #108

Low Priority (低优先级)

  • Binary package inspection, description, signature @coderzc #218
  • Build and publish Docker image

怎样设定合适的cpu和内存来运行算法

Problem Type (问题类型)

configs (配置项 / 文档相关)

Before submit

Environment (环境信息)

  • Server Version: v0.11.x
  • Computer Version: v0.x
  • Scheduler: K8s V1.xx
  • Data Size: 10 million vertices, 1 billion edges

Your Question (问题描述)

怎样设置最佳的k8s的cpu和内存大小,来运行算法,我设置的是下面这种,出现oom
workerCpu: 1
workerMemory: 1024Mi
workerInstances: 3

Vertex/Edge example (问题点 / 边数据举例)

No response

Schema [VertexLabel, EdgeLabel, IndexLabel] (元数据结构)

No response

如何运行pagerank 这种入门级的case

Problem Type (问题类型)

configs (配置项 / 文档相关)

Before submit

Environment (环境信息)

  • Server Version: v0.11.x
  • Computer Version: v0.x
  • Scheduler: K8s V1.xx
  • Data Size: xx vertices, xx edges

Your Question (问题描述)

如何运行pagerank 这种入门级的case 目前通过文档无法运行这个case

Vertex/Edge example (问题点 / 边数据举例)

No response

Schema [VertexLabel, EdgeLabel, IndexLabel] (元数据结构)

No response

hugegraph-computer k8s运行pagerank出现问题

Problem Type (问题类型)

exception / error (运行异常)

Before submit

Environment (环境信息)

  • Server Version: v0.11.x
  • Computer Version: v0.x
  • Scheduler: K8s V1.xx
  • Data Size: xx vertices, xx edges

Your Question (问题描述)

hugegraph-computer运行pagerank在写入的时候出现以下问题

image

Vertex/Edge example (问题点 / 边数据举例)

No response

Schema [VertexLabel, EdgeLabel, IndexLabel] (元数据结构)

No response

[Feature] optimize divide graph partitions

Feature Description (功能描述)

vertex-centric(edge-cut) Partitioning /
edge-centric(vertex-cut) Partitioning /
chunk-based Partitioning /
rebalance Partition

objective of optimization: minimizing communication volume, load balance, efficiency of computation

[Bug] RingsDetection test did not meet expectations

Bug Type (问题类型)

data inconsistency (计算结果不合预期)

Before submit

Environment (环境信息)

  • Server Version: v1.0.x
  • Computer Version: v1.0.x

Expected & Actual behavior (期望与实际表现)

Run org.apache.hugegraph.computer.algorithm.path.rings.RingsDetectionTest#testRunAlgorithm
Vertex A expected result is:

[[A, C, A], [A, D, A], [A, B, C, A], [A, D, C, A], [A, C, E, D, A], [A, B, C, E, D, A]]

But got:

[[A, D, A], [A, D, A], [A, D, C, A], [A, D, C, A], [A, C, E, D, A], [A, B, C, E, D, A]]

I modified some code and it works.

    @Override
    public void compute(ComputationContext context, Vertex vertex,
                        Iterator<IdList> messages) {
        Id id = vertex.id();
        boolean halt = true;
        while (messages.hasNext()) {
            halt = false;
            // IdList sequence = messages.next();  // Something is wrong here
            IdList sequence = messages.next().copy(); // copy() is good
            ...

Further debug, I found messages.next() always return the same address Object(Field value may be different)!!!, it's a reference Object.

Semantically, I think messages.next() should return a different address Object.

[Question] computer的算法调用和HugeGraph Server项目有什么关系?

Problem Type (问题类型)

others (please edit later)

Before submit

Environment (环境信息)

  • Server Version: v1.0.0
  • Computer Version: v1.0.0
  • Scheduler: K8s V1.xx
  • Data Size: xx vertices, xx edges

Your Question (问题描述)

HugeGraph Server 这个项目里面有个ComputerAPI类,暴露url让用户调用。
然后调用ComputerJob, 然后通过name 到ComputerPool 中找到算法,调用call方法执行。
call 方法里面是构造了如下的hadoop执行命令。 并且附带的注释是等待computer项目完毕。

// TODO: 2022/11/18 wait computer project adapt
private static final String MAIN_COMMAND =
        "%s/bin/hadoop jar hugegraph-computer.jar " +
        "com.baidu.hugegraph.Computer " +
        "-D libjars=./hugegraph-computer-core.jar";

请问这个方式目前能运行computer的算法吗? 还是按照官网的那个非常非常简单的文档
curl "http://localhost:8080/graphs/hugegraph/graph/vertices?page&limit=3" | gunzip
来执行?

怎么指定特定的worker节点跑任务

Problem Type (问题类型)

configs (配置项 / 文档相关)

Before submit

Environment (环境信息)

  • Server Version: v0.11.x
  • Computer Version: v0.x
  • Scheduler: K8s V1.xx
  • Data Size: xx vertices, xx edges

Your Question (问题描述)

k8s上部署了各个部门的任务,需要将本部门的任务部署到自己的k8s节点上,怎么指定特定的节点跑任务呢,试过以下内容,没起作用
apiVersion: hugegraph.baidu.com/v1
kind: HugeGraphComputerJob
metadata:
namespace: hugegraph-computer-system
name: &jobName lpa-sample
spec:
template:
spec:
nodeSelector:
rank: rank
jobId: *jobName
algorithmName: lpa

Vertex/Edge example (问题点 / 边数据举例)

No response

Schema [VertexLabel, EdgeLabel, IndexLabel] (元数据结构)

No response

图计算(HugeGraph-Computer)完善建议

Feature Description (功能描述)

完善功能如下:

  1. 完善使用文档,现有文档极度不完善,无法有效判断如何使用
  2. 提供API的调用方式,无需依赖k8s的任务功能,直接部署于机器下并通过API执行任务

[Feature] Implement `MessageRecvManager` and `DataClientManager` Fast-Fail

Feature Description (功能描述)

Now, if MessageRecvManager or DataClientManager received the network module exception and doesn't deal with it, this will cause the computer job stuck, we can check the exception and notice the main thread shutdown node.

@Override
public void exceptionCaught(TransportException cause,
ConnectionId connectionId) {
// TODO: implement failover
LOG.error("Channel for connectionId {} occurred exception",
connectionId, cause);
DataClientManager.this.connManager.closeClient(connectionId);
}
}

@Override
public void exceptionCaught(TransportException cause,
ConnectionId connectionId) {
// TODO: implement failover
LOG.warn("Exception caught for connection:{}, root cause:",
connectionId, cause);
}

[flaky-test] MiniKubeTest.testJobCancelled

Bug Type (问题类型)

exception / error (运行异常)

Before submit

Environment (环境信息)

CI

Expected & Actual behavior (期望与实际表现)

https://github.com/apache/incubator-hugegraph-computer/actions/runs/3564273981/jobs/5988038228#step:15:3076

Argument(s) are different! Wanted:
jobObserver.onJobStateChanged(
    org.apache.hugegraph.computer.driver.DefaultJobState@3677041a
);
-> at org.apache.hugegraph.computer.k8s.MiniKubeTest.testJobCancelled(MiniKubeTest.java:257)
Actual invocations have different arguments:
jobObserver.onJobStateChanged(
    org.apache.hugegraph.computer.driver.DefaultJobState@3fcf5f74
);
-> at org.apache.hugegraph.computer.k8s.driver.KubernetesDriver.waitJobAsync(KubernetesDriver.java:300)
jobObserver.onJobStateChanged(
    org.apache.hugegraph.computer.driver.DefaultJobState@3fcf5f74
);
-> at org.apache.hugegraph.computer.k8s.driver.KubernetesDriver$1.eventReceived(KubernetesDriver.java:346)
jobObserver.onJobStateChanged(
    org.apache.hugegraph.computer.driver.DefaultJobState@3fcf5f74
);
-> at org.apache.hugegraph.computer.k8s.driver.KubernetesDriver$1.eventReceived(KubernetesDriver.java:346)

[Bug] The origin future must be null

Bug Type (问题类型)

exception / error (运行异常)

Before submit

Environment (环境信息)

CI

Expected & Actual behavior (期望与实际表现)

https://github.com/apache/incubator-hugegraph-computer/actions/runs/3552615255/jobs/5967635439#step:14:1110

Error: -26 06:47:42 [Thread-14] [ERROR] c.b.h.c.s.i.SenderIntegrateTest - Failed to execute worker service
com.baidu.hugegraph.computer.core.common.exception.ComputerException: The origin future must be null
	at com.baidu.hugegraph.computer.core.sender.QueuedMessageSender$WorkerChannel.newFuture(QueuedMessageSender.java:236) ~[classes/:?]
	at com.baidu.hugegraph.computer.core.sender.QueuedMessageSender.send(QueuedMessageSender.java:90) ~[classes/:?]
	at com.baidu.hugegraph.computer.core.sender.MessageSendManager.sendControlMessageToWorkers(MessageSendManager.java:267) ~[classes/:?]
	at com.baidu.hugegraph.computer.core.sender.MessageSendManager.startSend(MessageSendManager.java:155) ~[classes/:?]
	at com.baidu.hugegraph.computer.core.input.WorkerInputManager.loadGraph(WorkerInputManager.java:88) ~[classes/:?]
	at com.baidu.hugegraph.computer.core.worker.WorkerService.inputstep(WorkerService.java:356) ~[classes/:?]
	at com.baidu.hugegraph.computer.core.worker.WorkerService.execute(WorkerService.java:219) ~[classes/:?]
	at com.baidu.hugegraph.computer.suite.integrate.SenderIntegrateTest.lambda$testMultiWorkers$3(SenderIntegrateTest.java:183) ~[classes/:?]
	at java.lang.Thread.run(Thread.java:829) ~[?:?]

Vertex/Edge example (问题点 / 边数据举例)

No response

Schema [VertexLabel, EdgeLabel, IndexLabel] (元数据结构)

No response

[Bug] Docker DeskTop K8s 不能运行 computer示例

Bug Type (问题类型)

exception / error (运行异常)

Before submit

Environment (环境信息)

  • Server Version: v0.12.x
  • Computer Version: v0.x
  • Scheduler: K8s V1.24.2
  • Data Size: xx vertices, xx edges
    windows11 22H2 wsl2 docker desktop4.13.1 k8s 1.24.2

Expected & Actual behavior (期望与实际表现)

Install hugegraph-computer CRD
D:>kubectl apply -f https://raw.githubusercontent.com/hugegraph/hugegraph-computer/master/computer-k8s-operator/manifest/hugegraph-computer-crd.v1.yaml
customresourcedefinition.apiextensions.k8s.io/hugegraphcomputerjobs.hugegraph.baidu.com created

Show CRD
D:>kubectl get crd
NAME CREATED AT
hugegraphcomputerjobs.hugegraph.baidu.com 2022-11-23T02:02:03Z

Install hugegraph-computer-operator&etcd-server
D:>kubectl apply -f https://raw.githubusercontent.com/hugegraph/hugegraph-computer/master/computer-k8s-operator/manifest/hugegraph-computer-operator.yaml
namespace/hugegraph-computer-operator-system created
serviceaccount/hugegraph-computer-operator-controller-manager created
role.rbac.authorization.k8s.io/hugegraph-computer-operator-leader-election-role created
clusterrole.rbac.authorization.k8s.io/hugegraph-computer-operator-manager-role created
rolebinding.rbac.authorization.k8s.io/hugegraph-computer-operator-leader-election-rolebinding created
clusterrolebinding.rbac.authorization.k8s.io/hugegraph-computer-operator-manager-rolebinding created
service/hugegraph-computer-operator-etcd created
deployment.apps/hugegraph-computer-operator-controller-manager created
deployment.apps/hugegraph-computer-operator-etcd created

Wait for hugegraph-computer-operator&etcd-server deployment to complete

D:>kubectl get pod -n hugegraph-computer-operator-system
NAME READY STATUS RESTARTS AGE
hugegraph-computer-operator-controller-manager-5595d699df-srtjc 0/1 ImagePullBackOff 0 4m5s
hugegraph-computer-operator-etcd-896cbf85f-b77t7 0/1 Running 2 (17s ago) 4m5s

一致不能正常启动。
ReplcaSet显示:MinimumReplicasUnavailable
日志显示:
{"level":"warn","ts":"2022-11-23T02:43:28.808Z","caller":"netutil/netutil.go:121","msg":"failed to resolve URL Host","url":"http://hugegraph-computer-operator-etcd-0.hugegraph-computer-operator-etcd.hugegraph-computer-operator-system:2380","host":"hugegraph-computer-operator-etcd-0.hugegraph-computer-operator-etcd.hugegraph-computer-operator-system:2380","retry-interval":"1s","error":"lookup hugegraph-computer-operator-etcd-0.hugegraph-computer-operator-etcd.hugegraph-computer-operator-system on 10.96.0.10:53: no such host"}
{"level":"warn","ts":"2022-11-23T02:43:29.812Z","caller":"netutil/netutil.go:121","msg":"failed to resolve URL Host","url":"http://hugegraph-computer-operator-etcd-0.hugegraph-computer-operator-etcd.hugegraph-computer-operator-system:2380","host":"hugegraph-computer-operator-etcd-0.hugegraph-computer-operator-etcd.hugegraph-computer-operator-system:2380","retry-interval":"1s","error":"lookup hugegraph-computer-operator-etcd-0.hugegraph-computer-operator-etcd.hugegraph-computer-operator-system on 10.96.0.10:53: no such host"}
{"level":"warn","ts":"2022-11-23T02:43:30.816Z","caller":"netutil/netutil.go:121","msg":"failed to resolve URL Host","url":"http://hugegraph-computer-operator-etcd-0.hugegraph-computer-operator-etcd.hugegraph-computer-operator-system:2380","host":"hugegraph-computer-operator-etcd-0.hugegraph-computer-operator-etcd.hugegraph-computer-operator-system:2380","retry-interval":"1s","error":"lookup hugegraph-computer-operator-etcd-0.hugegraph-computer-operator-etcd.hugegraph-computer-operator-system on 10.96.0.10:53: no such host"}
{"level":"warn","ts":"2022-11-23T02:43:31.509Z","caller":"netutil/netutil.go:131","msg":"failed to resolve URL Host; returning","url":"http://hugegraph-computer-operator-etcd-0.hugegraph-computer-operator-etcd.hugegraph-computer-operator-system:2380","host":"hugegraph-computer-operator-etcd-0.hugegraph-computer-operator-etcd.hugegraph-computer-operator-system:2380","retry-interval":"1s","error":"lookup hugegraph-computer-operator-etcd-0.hugegraph-computer-operator-etcd.hugegraph-computer-operator-system on 10.96.0.10:53: no such host"}
{"level":"info","ts":"2022-11-23T02:43:31.511Z","caller":"embed/etcd.go:367","msg":"closing etcd server","name":"hugegraph-computer-operator-etcd-0","data-dir":"/var/etcd/data","advertise-peer-urls":["http://hugegraph-computer-operator-etcd-0.hugegraph-computer-operator-etcd.hugegraph-computer-operator-system:2380"],"advertise-client-urls":["http://hugegraph-computer-operator-etcd-0.hugegraph-computer-operator-etcd.hugegraph-computer-operator-system:2379"]}
{"level":"info","ts":"2022-11-23T02:43:31.511Z","caller":"embed/etcd.go:369","msg":"closed etcd server","name":"hugegraph-computer-operator-etcd-0","data-dir":"/var/etcd/data","advertise-peer-urls":["http://hugegraph-computer-operator-etcd-0.hugegraph-computer-operator-etcd.hugegraph-computer-operator-system:2380"],"advertise-client-urls":["http://hugegraph-computer-operator-etcd-0.hugegraph-computer-operator-etcd.hugegraph-computer-operator-system:2379"]}
{"level":"warn","ts":"2022-11-23T02:43:31.511Z","caller":"etcdmain/etcd.go:145","msg":"failed to start etcd","error":"failed to resolve http://hugegraph-computer-operator-etcd-0.hugegraph-computer-operator-etcd.hugegraph-computer-operator-system:2380 to match --initial-cluster=hugegraph-computer-operator-etcd-0=http://hugegraph-computer-operator-etcd-0.hugegraph-computer-operator-etcd.hugegraph-computer-operator-system:2380 (failed to resolve "http://hugegraph-computer-operator-etcd-0.hugegraph-computer-operator-etcd.hugegraph-computer-operator-system:2380\" (lookup hugegraph-computer-operator-etcd-0.hugegraph-computer-operator-etcd.hugegraph-computer-operator-system on 10.96.0.10:53: no such host))"}
{"level":"fatal","ts":"2022-11-23T02:43:31.511Z","caller":"etcdmain/etcd.go:203","msg":"discovery failed","error":"failed to resolve http://hugegraph-computer-operator-etcd-0.hugegraph-computer-operator-etcd.hugegraph-computer-operator-system:2380 to match --initial-cluster=hugegraph-computer-operator-etcd-0=http://hugegraph-computer-operator-etcd-0.hugegraph-computer-operator-etcd.hugegraph-computer-operator-system:2380 (failed to resolve "http://hugegraph-computer-operator-etcd-0.hugegraph-computer-operator-etcd.hugegraph-computer-operator-system:2380\" (lookup hugegraph-computer-operator-etcd-0.hugegraph-computer-operator-etcd.hugegraph-computer-operator-system on 10.96.0.10:53: no such host))","stacktrace":"go.etcd.io/etcd/server/v3/etcdmain.startEtcdOrProxyV2\n\t/tmp/etcd-release-3.5.0/etcd/release/etcd/server/etcdmain/etcd.go:203\ngo.etcd.io/etcd/server/v3/etcdmain.Main\n\t/tmp/etcd-release-3.5.0/etcd/release/etcd/server/etcdmain/main.go:40\nmain.main\n\t/tmp/etcd-release-3.5.0/etcd/release/etcd/server/main.go:32\nruntime.main\n\t/home/remote/sbatsche/.gvm/gos/go1.16.3/src/runtime/proc.go:225"}

Vertex/Edge example (问题点 / 边数据举例)

No response

Schema [VertexLabel, EdgeLabel, IndexLabel] (元数据结构)

No response

[flaky-test] NettyTransportClientTest.testHandlerException

Bug Type (问题类型)

data inconsistency (计算结果不合预期)

Before submit

Environment (环境信息)

CI failed:
https://github.com/apache/incubator-hugegraph-computer/actions/runs/5120435420/jobs/9207800445?pr=249#step:16:3035

Expected & Actual behavior (期望与实际表现)

Error:  Tests run: 563, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 209.732 s <<< FAILURE! - in org.apache.hugegraph.computer.suite.unit.UnitTestSuite
Error:  testHandlerException(org.apache.hugegraph.computer.core.network.netty.NettyTransportClientTest)  Time elapsed: 0.045 s  <<< FAILURE!
java.lang.AssertionError: No exception was thrown(expected org.apache.hugegraph.computer.core.common.exception.TransportException)
	at org.apache.hugegraph.computer.core.network.netty.NettyTransportClientTest.testHandlerException(NettyTransportClientTest.java:326)

[Feature] build manager image in build-images.sh

Feature Description (功能描述)

Now, we have manager container introduced by #259. Thus, we have to modify image building script.

BTW, may I ask, currently, how to trigger new image building and uploading in HugeGraphComputer? It seems like publish_images.yml in .workflow is deprecated?

[Bug] Lack of hugegraph-server authentication

Bug Type (问题类型)

exception / error (运行异常)

Before submit

Environment (环境信息)

  • Server Version: v1.0.x
  • Computer Version: v1.0.x
  • Scheduler: K8s V1.xx

Expected & Actual behavior (期望与实际表现)

When hugegraph-server open authentication configuration by configure "rest-server.properties" that auth.authenticator=org.apache.hugegraph.auth.StandardAuthenticator .

Then the hugegraph-client connect to hugegraph-server should be authenticated, otherwise there would be throw an error class jakarta.ws.rs.BadRequestException: Invalid syntax for username and password.

[Bug] Failed to deploy on Kubernetes

Bug Type (问题类型)

exception / error (运行异常)

Before submit

Environment (环境信息)

  • Server Version: v1.0.x
  • Computer Version: v1.0.0
  • Scheduler: Kubernetes version v1.23.10
  • Data Size: xx vertices, xx edges

Expected & Actual behavior (期望与实际表现)

bash-5.1# kubectl apply -f https://raw.githubusercontent.com/apache/hugegraph-computer/master/computer-k8s-operator/manifest/hugegraph-computer-crd.v1.yaml
bash-5.1# kubectl apply -f https://raw.githubusercontent.com/apache/hugegraph-computer/master/computer-k8s-operator/manifest/hugegraph-computer-operator.yaml
namespace/hugegraph-computer-operator-system unchanged
customresourcedefinition.apiextensions.k8s.io/hugegraphcomputerjobs.operator.hugegraph.apache.org configured
serviceaccount/hugegraph-computer-operator-controller-manager unchanged
role.rbac.authorization.k8s.io/hugegraph-computer-operator-leader-election-role unchanged
clusterrole.rbac.authorization.k8s.io/hugegraph-computer-operator-manager-role configured
clusterrole.rbac.authorization.k8s.io/hugegraph-computer-operator-metrics-reader unchanged
clusterrole.rbac.authorization.k8s.io/hugegraph-computer-operator-proxy-role unchanged
rolebinding.rbac.authorization.k8s.io/hugegraph-computer-operator-leader-election-rolebinding unchanged
clusterrolebinding.rbac.authorization.k8s.io/hugegraph-computer-operator-manager-rolebinding unchanged
clusterrolebinding.rbac.authorization.k8s.io/hugegraph-computer-operator-proxy-rolebinding unchanged
configmap/hugegraph-computer-operator-manager-config unchanged
service/hugegraph-computer-operator-controller-manager-metrics-service unchanged
service/hugegraph-computer-operator-etcd unchanged
service/hugegraph-computer-operator-webhook-service unchanged
deployment.apps/hugegraph-computer-operator-controller-manager configured
deployment.apps/hugegraph-computer-operator-etcd unchanged
mutatingwebhookconfiguration.admissionregistration.k8s.io/hugegraph-computer-operator-mutating-webhook-configuration configured
validatingwebhookconfiguration.admissionregistration.k8s.io/hugegraph-computer-operator-validating-webhook-configuration configured
unable to recognize "https://raw.githubusercontent.com/apache/hugegraph-computer/master/computer-k8s-operator/manifest/hugegraph-computer-operator.yaml": no matches for kind "CustomResourceDefinition" in version "apiextensions.k8s.io/v1beta1"
unable to recognize "https://raw.githubusercontent.com/apache/hugegraph-computer/master/computer-k8s-operator/manifest/hugegraph-computer-operator.yaml": no matches for kind "Certificate" in version "cert-manager.io/v1"
unable to recognize "https://raw.githubusercontent.com/apache/hugegraph-computer/master/computer-k8s-operator/manifest/hugegraph-computer-operator.yaml": no matches for kind "Issuer" in version "cert-manager.io/v1"

[Feature] Implement parallel input process

Feature Description (功能描述)

When we buffer write receiver's partition file to vertexFile and edgeFile maintained by FileGraphPartition. We can implement parallel write.

public WorkerStat input() {
WorkerStat workerStat = new WorkerStat();
this.recvManager.waitReceivedAllMessages();
Map<Integer, PeekableIterator<KvEntry>> vertices =
this.recvManager.vertexPartitions();
Map<Integer, PeekableIterator<KvEntry>> edges =
this.recvManager.edgePartitions();
// TODO: parallel input process
for (Map.Entry<Integer, PeekableIterator<KvEntry>> entry :
vertices.entrySet()) {
int partition = entry.getKey();

[Question] computer操作手册

Problem Type (问题类型)

configs (配置项 / 文档相关)

Before submit

Environment (环境信息)

  • Server Version: v0.11.x
  • Computer Version: v0.x
  • Scheduler: K8s V1.xx
  • Data Size: xx vertices, xx edges

Your Question (问题描述)

是否有相关的文档介绍如何使用hugegraph-computer?

Vertex/Edge example (问题点 / 边数据举例)

No response

Schema [VertexLabel, EdgeLabel, IndexLabel] (元数据结构)

No response

[Feature] messages.next() returns a different address object

          > always return the same Object is reduce memory pressure and avoid GC

Yep~ But semantically, messages.next() returns a different address object more intuitive.
Otherwise, someone who call this function downstream need to clearly know that the same object is returned here, which is not logically intuitive and easy to make mistakes.

Do we have some more elegant solutions?

Originally posted by @diaohancai in #275 (comment)

[Bug] Incorrect code comment

Bug Type (问题类型)

None

Before submit

Environment (环境信息)

  • Server Version: v1.0.x
  • Computer Version: v1.0.x
  • Scheduler: K8s V1.xx

Expected & Actual behavior (期望与实际表现)

org.apache.hugegraph.computer.core.common.ContainerInfo found incorrect comment.

Incorrect comment:

/*
 * There is only 1 master, and the id of master is -1.
 * The id of workers start from 0. The id is used to identify a worker.
 */
private int id;

Actual code:

this.masterInfo = new ContainerInfo(ContainerInfo.MASTER_ID,
                                        TransportUtil.host(rpcAddress),
                                        rpcAddress.getPort());
int ContainerInfo.MASTER_ID = 0;
private void assignIdForWorkers(List<ContainerInfo> containers) {
    // Assign worker id from 1.
    for (int i = 0; i < containers.size(); i++) {
        containers.get(i).id(i + 1);
    }
}

So:

  • The id of master is 0.
  • The id of workers start from 1.

[Question] 无法运行算法测试用例

Problem Type (问题类型)

exception / error (运行异常)

Before submit

Environment (环境信息)

  • Computer Version: v0.1.2

Your Question (问题描述)

我试着运行 .../computer-test/src/main/java/com/baidu/hugegraph/computer/algorithm/centrality/degree/DegreeCentralityTest.java 中的 testRunAlgorithm() 这个case,得到了如下的错误日志,是我缺少什么配置吗,或者说这个测试用例是可以独立运行的吗?它的成功执行依赖其他进程吗?因为除了这个用例以外我并未运行其他的服务

image
image

2022-06-22 15:25:29 696 [pool-2-thread-1] [WARN ] com.baidu.hugegraph.config.HugeConfig [] - The config option 'bsp.register_timeout' is redundant, please ensure it has been registered
2022-06-22 15:25:29 697 [pool-2-thread-2] [WARN ] com.baidu.hugegraph.config.HugeConfig [] - The config option 'bsp.register_timeout' is redundant, please ensure it has been registered
2022-06-22 15:25:29 700 [pool-2-thread-1] [WARN ] com.baidu.hugegraph.config.HugeConfig [] - The config option 'algorithm.result_class' is redundant, please ensure it has been registered
2022-06-22 15:25:29 700 [pool-2-thread-1] [WARN ] com.baidu.hugegraph.config.HugeConfig [] - The config option 'algorithm.params_class' is redundant, please ensure it has been registered
2022-06-22 15:25:29 700 [pool-2-thread-1] [WARN ] com.baidu.hugegraph.config.HugeConfig [] - The config option 'rpc.remote_url' is redundant, please ensure it has been registered
2022-06-22 15:25:29 700 [pool-2-thread-1] [WARN ] com.baidu.hugegraph.config.HugeConfig [] - The config option 'job.id' is redundant, please ensure it has been registered
2022-06-22 15:25:29 700 [pool-2-thread-1] [WARN ] com.baidu.hugegraph.config.HugeConfig [] - The config option 'job.workers_count' is redundant, please ensure it has been registered
2022-06-22 15:25:29 700 [pool-2-thread-1] [WARN ] com.baidu.hugegraph.config.HugeConfig [] - The config option 'bsp.log_interval' is redundant, please ensure it has been registered
2022-06-22 15:25:29 701 [pool-2-thread-1] [WARN ] com.baidu.hugegraph.config.HugeConfig [] - The config option 'master.computation_class' is redundant, please ensure it has been registered
2022-06-22 15:25:29 701 [pool-2-thread-1] [WARN ] com.baidu.hugegraph.config.HugeConfig [] - The config option 'output.output_class' is redundant, please ensure it has been registered
2022-06-22 15:25:29 701 [pool-2-thread-1] [WARN ] com.baidu.hugegraph.config.HugeConfig [] - The config option 'worker.combiner_class' is redundant, please ensure it has been registered
2022-06-22 15:25:29 701 [pool-2-thread-1] [WARN ] com.baidu.hugegraph.config.HugeConfig [] - The config option 'bsp.max_super_step' is redundant, please ensure it has been registered
2022-06-22 15:25:29 701 [pool-2-thread-1] [WARN ] com.baidu.hugegraph.config.HugeConfig [] - The config option 'worker.computation_class' is redundant, please ensure it has been registered
2022-06-22 15:25:29 701 [pool-2-thread-1] [WARN ] com.baidu.hugegraph.config.HugeConfig [] - The config option 'transport.server_port' is redundant, please ensure it has been registered
2022-06-22 15:25:29 701 [pool-2-thread-1] [WARN ] com.baidu.hugegraph.config.HugeConfig [] - The config option 'degree_centrality.weight_property' is redundant, please ensure it has been registered
2022-06-22 15:25:29 701 [pool-2-thread-1] [WARN ] com.baidu.hugegraph.config.HugeConfig [] - The config option 'algorithm.message_class' is redundant, please ensure it has been registered
2022-06-22 15:25:29 700 [pool-2-thread-2] [WARN ] com.baidu.hugegraph.config.HugeConfig [] - The config option 'algorithm.result_class' is redundant, please ensure it has been registered
2022-06-22 15:25:29 703 [pool-2-thread-2] [WARN ] com.baidu.hugegraph.config.HugeConfig [] - The config option 'rpc.server_host' is redundant, please ensure it has been registered
2022-06-22 15:25:29 704 [pool-2-thread-2] [WARN ] com.baidu.hugegraph.config.HugeConfig [] - The config option 'algorithm.params_class' is redundant, please ensure it has been registered
2022-06-22 15:25:29 704 [pool-2-thread-2] [WARN ] com.baidu.hugegraph.config.HugeConfig [] - The config option 'job.id' is redundant, please ensure it has been registered
2022-06-22 15:25:29 704 [pool-2-thread-2] [WARN ] com.baidu.hugegraph.config.HugeConfig [] - The config option 'job.workers_count' is redundant, please ensure it has been registered
2022-06-22 15:25:29 704 [pool-2-thread-2] [WARN ] com.baidu.hugegraph.config.HugeConfig [] - The config option 'bsp.log_interval' is redundant, please ensure it has been registered
2022-06-22 15:25:29 704 [pool-2-thread-2] [WARN ] com.baidu.hugegraph.config.HugeConfig [] - The config option 'master.computation_class' is redundant, please ensure it has been registered
2022-06-22 15:25:29 704 [pool-2-thread-2] [WARN ] com.baidu.hugegraph.config.HugeConfig [] - The config option 'output.output_class' is redundant, please ensure it has been registered
2022-06-22 15:25:29 704 [pool-2-thread-2] [WARN ] com.baidu.hugegraph.config.HugeConfig [] - The config option 'worker.combiner_class' is redundant, please ensure it has been registered
2022-06-22 15:25:29 704 [pool-2-thread-2] [WARN ] com.baidu.hugegraph.config.HugeConfig [] - The config option 'bsp.max_super_step' is redundant, please ensure it has been registered
2022-06-22 15:25:29 704 [pool-2-thread-2] [WARN ] com.baidu.hugegraph.config.HugeConfig [] - The config option 'worker.computation_class' is redundant, please ensure it has been registered
2022-06-22 15:25:29 704 [pool-2-thread-2] [WARN ] com.baidu.hugegraph.config.HugeConfig [] - The config option 'rpc.server_port' is redundant, please ensure it has been registered
2022-06-22 15:25:29 705 [pool-2-thread-2] [WARN ] com.baidu.hugegraph.config.HugeConfig [] - The config option 'degree_centrality.weight_property' is redundant, please ensure it has been registered
2022-06-22 15:25:29 705 [pool-2-thread-2] [WARN ] com.baidu.hugegraph.config.HugeConfig [] - The config option 'algorithm.message_class' is redundant, please ensure it has been registered
2022-06-22 15:25:29 714 [pool-2-thread-2] [INFO ] com.baidu.hugegraph.computer.core.master.MasterService [] - [master ?654393868] Start to initialize master
2022-06-22 15:25:29 714 [pool-2-thread-1] [INFO ] com.baidu.hugegraph.computer.core.worker.WorkerService [] - [worker -1] Start to initialize worker
2022-06-22 15:25:30 1119 [pool-2-thread-1] [INFO ] com.baidu.hugegraph.computer.core.bsp.BspBase [] - Init etcd BSP connection to 'http://localhost:2379' for job 'algo_test_job1'
2022-06-22 15:25:30 1120 [pool-2-thread-1] [INFO ] com.baidu.hugegraph.computer.core.bsp.Bsp4Worker [] - Worker(:-1) is waiting for master init-done
2022-06-22 15:25:30 1760 [pool-2-thread-1] [ERROR] com.baidu.hugegraph.computer.algorithm.AlgorithmTestBase [] - Failed to start worker
com.baidu.hugegraph.computer.core.common.exception.ComputerException: Error while getting with key='BSP_MASTER_INIT_DONE'
at com.baidu.hugegraph.computer.core.bsp.EtcdClient.get(EtcdClient.java:175) ~[classes/:?]
at com.baidu.hugegraph.computer.core.bsp.EtcdBspClient.get(EtcdBspClient.java:74) ~[classes/:?]
at com.baidu.hugegraph.computer.core.bsp.Bsp4Worker.waitMasterInitDone(Bsp4Worker.java:54) ~[classes/:?]
at com.baidu.hugegraph.computer.core.worker.WorkerService.init(WorkerService.java:114) ~[classes/:?]
at com.baidu.hugegraph.computer.core.worker.MockWorkerService.init(MockWorkerService.java:31) ~[classes/:?]
at com.baidu.hugegraph.computer.algorithm.AlgorithmTestBase.lambda$runAlgorithm$0(AlgorithmTestBase.java:81) ~[classes/:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_322]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_322]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_322]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_322]
at java.lang.Thread.run(Thread.java:750) [?:1.8.0_322]
Caused by: java.util.concurrent.ExecutionException: java.util.concurrent.ExecutionException: io.grpc.StatusRuntimeException: UNAVAILABLE: io exception
at java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:357) ~[?:1.8.0_322]
at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1908) ~[?:1.8.0_322]
at com.baidu.hugegraph.computer.core.bsp.EtcdClient.get(EtcdClient.java:161) ~[classes/:?]
... 10 more
Caused by: java.util.concurrent.ExecutionException: io.grpc.StatusRuntimeException: UNAVAILABLE: io exception
at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:526) ~[guava-25.1-jre.jar:?]
at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:487) ~[guava-25.1-jre.jar:?]
at io.etcd.jetcd.ClientConnectionManager.lambda$execute$3(ClientConnectionManager.java:351) ~[jetcd-core-0.5.4.jar:?]
... 3 more
Caused by: io.grpc.StatusRuntimeException: UNAVAILABLE: io exception
at io.grpc.Status.asRuntimeException(Status.java:533) ~[grpc-api-1.33.0.jar:1.33.0]
at io.grpc.stub.ClientCalls$UnaryStreamToFuture.onClose(ClientCalls.java:533) ~[grpc-stub-1.33.0.jar:1.33.0]
at io.grpc.PartialForwardingClientCallListener.onClose(PartialForwardingClientCallListener.java:39) ~[grpc-api-1.33.0.jar:1.33.0]
at io.grpc.ForwardingClientCallListener.onClose(ForwardingClientCallListener.java:23) ~[grpc-api-1.33.0.jar:1.33.0]
at io.grpc.ForwardingClientCallListener$SimpleForwardingClientCallListener.onClose(ForwardingClientCallListener.java:40) ~[grpc-api-1.33.0.jar:1.33.0]
at io.etcd.jetcd.ClientConnectionManager$AuthTokenInterceptor$1$1.onClose(ClientConnectionManager.java:394) ~[jetcd-core-0.5.4.jar:?]
at io.grpc.internal.DelayedClientCall$DelayedListener$3.run(DelayedClientCall.java:463) ~[grpc-core-1.33.0.jar:1.33.0]
at io.grpc.internal.DelayedClientCall$DelayedListener.delayOrExecute(DelayedClientCall.java:427) ~[grpc-core-1.33.0.jar:1.33.0]
at io.grpc.internal.DelayedClientCall$DelayedListener.onClose(DelayedClientCall.java:460) ~[grpc-core-1.33.0.jar:1.33.0]
at io.grpc.internal.ClientCallImpl.closeObserver(ClientCallImpl.java:616) ~[grpc-core-1.33.0.jar:1.33.0]
at io.grpc.internal.ClientCallImpl.access$300(ClientCallImpl.java:69) ~[grpc-core-1.33.0.jar:1.33.0]
at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInternal(ClientCallImpl.java:802) ~[grpc-core-1.33.0.jar:1.33.0]
at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInContext(ClientCallImpl.java:781) ~[grpc-core-1.33.0.jar:1.33.0]
at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) ~[grpc-core-1.33.0.jar:1.33.0]
at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:123) ~[grpc-core-1.33.0.jar:1.33.0]
... 3 more
Caused by: io.netty.channel.AbstractChannel$AnnotatedConnectException: finishConnect(..) failed: Connection refused: localhost/127.0.0.1:2379
Caused by: java.net.ConnectException: finishConnect(..) failed: Connection refused
at io.netty.channel.unix.Errors.throwConnectException(Errors.java:124) ~[netty-all-4.1.42.Final.jar:4.1.42.Final]
at io.netty.channel.unix.Socket.finishConnect(Socket.java:243) ~[netty-all-4.1.42.Final.jar:4.1.42.Final]
at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.doFinishConnect(AbstractEpollChannel.java:660) ~[netty-all-4.1.42.Final.jar:4.1.42.Final]
at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.finishConnect(AbstractEpollChannel.java:637) ~[netty-all-4.1.42.Final.jar:4.1.42.Final]
at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.epollOutReady(AbstractEpollChannel.java:524) ~[netty-all-4.1.42.Final.jar:4.1.42.Final]
at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:473) ~[netty-all-4.1.42.Final.jar:4.1.42.Final]
at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:383) ~[netty-all-4.1.42.Final.jar:4.1.42.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor$6.run(SingleThreadEventExecutor.java:1044) ~[netty-all-4.1.42.Final.jar:4.1.42.Final]
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-all-4.1.42.Final.jar:4.1.42.Final]
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-all-4.1.42.Final.jar:4.1.42.Final]
... 1 more
2022-06-22 15:25:30 1787 [main] [WARN ] com.baidu.hugegraph.computer.suite.unit.UnitTestBase [] - There exist error:
com.baidu.hugegraph.computer.core.common.exception.ComputerException: Error while getting with key='BSP_MASTER_INIT_DONE'
at com.baidu.hugegraph.computer.core.bsp.EtcdClient.get(EtcdClient.java:175) ~[classes/:?]
at com.baidu.hugegraph.computer.core.bsp.EtcdBspClient.get(EtcdBspClient.java:74) ~[classes/:?]
at com.baidu.hugegraph.computer.core.bsp.Bsp4Worker.waitMasterInitDone(Bsp4Worker.java:54) ~[classes/:?]
at com.baidu.hugegraph.computer.core.worker.WorkerService.init(WorkerService.java:114) ~[classes/:?]
at com.baidu.hugegraph.computer.core.worker.MockWorkerService.init(MockWorkerService.java:31) ~[classes/:?]
at com.baidu.hugegraph.computer.algorithm.AlgorithmTestBase.lambda$runAlgorithm$0(AlgorithmTestBase.java:81) ~[classes/:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_322]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_322]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[?:1.8.0_322]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[?:1.8.0_322]
at java.lang.Thread.run(Thread.java:750) ~[?:1.8.0_322]
Caused by: java.util.concurrent.ExecutionException: java.util.concurrent.ExecutionException: io.grpc.StatusRuntimeException: UNAVAILABLE: io exception
at java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:357) ~[?:1.8.0_322]
at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1908) ~[?:1.8.0_322]
at com.baidu.hugegraph.computer.core.bsp.EtcdClient.get(EtcdClient.java:161) ~[classes/:?]
... 10 more
Caused by: java.util.concurrent.ExecutionException: io.grpc.StatusRuntimeException: UNAVAILABLE: io exception
at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:526) ~[guava-25.1-jre.jar:?]
at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:487) ~[guava-25.1-jre.jar:?]
at io.etcd.jetcd.ClientConnectionManager.lambda$execute$3(ClientConnectionManager.java:351) ~[jetcd-core-0.5.4.jar:?]
... 3 more
Caused by: io.grpc.StatusRuntimeException: UNAVAILABLE: io exception
at io.grpc.Status.asRuntimeException(Status.java:533) ~[grpc-api-1.33.0.jar:1.33.0]
at io.grpc.stub.ClientCalls$UnaryStreamToFuture.onClose(ClientCalls.java:533) ~[grpc-stub-1.33.0.jar:1.33.0]
at io.grpc.PartialForwardingClientCallListener.onClose(PartialForwardingClientCallListener.java:39) ~[grpc-api-1.33.0.jar:1.33.0]
at io.grpc.ForwardingClientCallListener.onClose(ForwardingClientCallListener.java:23) ~[grpc-api-1.33.0.jar:1.33.0]
at io.grpc.ForwardingClientCallListener$SimpleForwardingClientCallListener.onClose(ForwardingClientCallListener.java:40) ~[grpc-api-1.33.0.jar:1.33.0]
at io.etcd.jetcd.ClientConnectionManager$AuthTokenInterceptor$1$1.onClose(ClientConnectionManager.java:394) ~[jetcd-core-0.5.4.jar:?]
at io.grpc.internal.DelayedClientCall$DelayedListener$3.run(DelayedClientCall.java:463) ~[grpc-core-1.33.0.jar:1.33.0]
at io.grpc.internal.DelayedClientCall$DelayedListener.delayOrExecute(DelayedClientCall.java:427) ~[grpc-core-1.33.0.jar:1.33.0]
at io.grpc.internal.DelayedClientCall$DelayedListener.onClose(DelayedClientCall.java:460) ~[grpc-core-1.33.0.jar:1.33.0]
at io.grpc.internal.ClientCallImpl.closeObserver(ClientCallImpl.java:616) ~[grpc-core-1.33.0.jar:1.33.0]
at io.grpc.internal.ClientCallImpl.access$300(ClientCallImpl.java:69) ~[grpc-core-1.33.0.jar:1.33.0]
at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInternal(ClientCallImpl.java:802) ~[grpc-core-1.33.0.jar:1.33.0]
at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInContext(ClientCallImpl.java:781) ~[grpc-core-1.33.0.jar:1.33.0]
at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) ~[grpc-core-1.33.0.jar:1.33.0]
at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:123) ~[grpc-core-1.33.0.jar:1.33.0]
... 3 more
Caused by: io.netty.channel.AbstractChannel$AnnotatedConnectException: finishConnect(..) failed: Connection refused: localhost/127.0.0.1:2379
Caused by: java.net.ConnectException: finishConnect(..) failed: Connection refused
at io.netty.channel.unix.Errors.throwConnectException(Errors.java:124) ~[netty-all-4.1.42.Final.jar:4.1.42.Final]
at io.netty.channel.unix.Socket.finishConnect(Socket.java:243) ~[netty-all-4.1.42.Final.jar:4.1.42.Final]
at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.doFinishConnect(AbstractEpollChannel.java:660) ~[netty-all-4.1.42.Final.jar:4.1.42.Final]
at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.finishConnect(AbstractEpollChannel.java:637) ~[netty-all-4.1.42.Final.jar:4.1.42.Final]
at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.epollOutReady(AbstractEpollChannel.java:524) ~[netty-all-4.1.42.Final.jar:4.1.42.Final]
at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:473) ~[netty-all-4.1.42.Final.jar:4.1.42.Final]
at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:383) ~[netty-all-4.1.42.Final.jar:4.1.42.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor$6.run(SingleThreadEventExecutor.java:1044) ~[netty-all-4.1.42.Final.jar:4.1.42.Final]
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-all-4.1.42.Final.jar:4.1.42.Final]
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-all-4.1.42.Final.jar:4.1.42.Final]
... 1 more
2022-06-22 15:34:40 844 [pool-2-thread-1] [WARN ] com.baidu.hugegraph.config.HugeConfig [] - The config option 'bsp.register_timeout' is redundant, please ensure it has been registered
2022-06-22 15:34:40 844 [pool-2-thread-2] [WARN ] com.baidu.hugegraph.config.HugeConfig [] - The config option 'bsp.register_timeout' is redundant, please ensure it has been registered
2022-06-22 15:34:40 848 [pool-2-thread-1] [WARN ] com.baidu.hugegraph.config.HugeConfig [] - The config option 'algorithm.result_class' is redundant, please ensure it has been registered
2022-06-22 15:34:40 848 [pool-2-thread-2] [WARN ] com.baidu.hugegraph.config.HugeConfig [] - The config option 'algorithm.result_class' is redundant, please ensure it has been registered
2022-06-22 15:34:40 848 [pool-2-thread-1] [WARN ] com.baidu.hugegraph.config.HugeConfig [] - The config option 'algorithm.params_class' is redundant, please ensure it has been registered
2022-06-22 15:34:40 848 [pool-2-thread-2] [WARN ] com.baidu.hugegraph.config.HugeConfig [] - The config option 'rpc.server_host' is redundant, please ensure it has been registered
2022-06-22 15:34:40 848 [pool-2-thread-1] [WARN ] com.baidu.hugegraph.config.HugeConfig [] - The config option 'rpc.remote_url' is redundant, please ensure it has been registered
2022-06-22 15:34:40 848 [pool-2-thread-2] [WARN ] com.baidu.hugegraph.config.HugeConfig [] - The config option 'algorithm.params_class' is redundant, please ensure it has been registered
2022-06-22 15:34:40 848 [pool-2-thread-1] [WARN ] com.baidu.hugegraph.config.HugeConfig [] - The config option 'job.id' is redundant, please ensure it has been registered
2022-06-22 15:34:40 848 [pool-2-thread-2] [WARN ] com.baidu.hugegraph.config.HugeConfig [] - The config option 'job.id' is redundant, please ensure it has been registered
2022-06-22 15:34:40 848 [pool-2-thread-1] [WARN ] com.baidu.hugegraph.config.HugeConfig [] - The config option 'job.workers_count' is redundant, please ensure it has been registered
2022-06-22 15:34:40 848 [pool-2-thread-2] [WARN ] com.baidu.hugegraph.config.HugeConfig [] - The config option 'job.workers_count' is redundant, please ensure it has been registered
2022-06-22 15:34:40 848 [pool-2-thread-1] [WARN ] com.baidu.hugegraph.config.HugeConfig [] - The config option 'bsp.log_interval' is redundant, please ensure it has been registered
2022-06-22 15:34:40 848 [pool-2-thread-2] [WARN ] com.baidu.hugegraph.config.HugeConfig [] - The config option 'bsp.log_interval' is redundant, please ensure it has been registered
2022-06-22 15:34:40 849 [pool-2-thread-1] [WARN ] com.baidu.hugegraph.config.HugeConfig [] - The config option 'master.computation_class' is redundant, please ensure it has been registered
2022-06-22 15:34:40 849 [pool-2-thread-2] [WARN ] com.baidu.hugegraph.config.HugeConfig [] - The config option 'master.computation_class' is redundant, please ensure it has been registered
2022-06-22 15:34:40 849 [pool-2-thread-1] [WARN ] com.baidu.hugegraph.config.HugeConfig [] - The config option 'output.output_class' is redundant, please ensure it has been registered
2022-06-22 15:34:40 849 [pool-2-thread-2] [WARN ] com.baidu.hugegraph.config.HugeConfig [] - The config option 'output.output_class' is redundant, please ensure it has been registered
2022-06-22 15:34:40 849 [pool-2-thread-1] [WARN ] com.baidu.hugegraph.config.HugeConfig [] - The config option 'worker.combiner_class' is redundant, please ensure it has been registered
2022-06-22 15:34:40 849 [pool-2-thread-2] [WARN ] com.baidu.hugegraph.config.HugeConfig [] - The config option 'worker.combiner_class' is redundant, please ensure it has been registered
2022-06-22 15:34:40 849 [pool-2-thread-1] [WARN ] com.baidu.hugegraph.config.HugeConfig [] - The config option 'bsp.max_super_step' is redundant, please ensure it has been registered
2022-06-22 15:34:40 849 [pool-2-thread-2] [WARN ] com.baidu.hugegraph.config.HugeConfig [] - The config option 'bsp.max_super_step' is redundant, please ensure it has been registered
2022-06-22 15:34:40 849 [pool-2-thread-1] [WARN ] com.baidu.hugegraph.config.HugeConfig [] - The config option 'worker.computation_class' is redundant, please ensure it has been registered
2022-06-22 15:34:40 849 [pool-2-thread-2] [WARN ] com.baidu.hugegraph.config.HugeConfig [] - The config option 'worker.computation_class' is redundant, please ensure it has been registered
2022-06-22 15:34:40 849 [pool-2-thread-1] [WARN ] com.baidu.hugegraph.config.HugeConfig [] - The config option 'transport.server_port' is redundant, please ensure it has been registered
2022-06-22 15:34:40 849 [pool-2-thread-2] [WARN ] com.baidu.hugegraph.config.HugeConfig [] - The config option 'rpc.server_port' is redundant, please ensure it has been registered
2022-06-22 15:34:40 849 [pool-2-thread-1] [WARN ] com.baidu.hugegraph.config.HugeConfig [] - The config option 'degree_centrality.weight_property' is redundant, please ensure it has been registered
2022-06-22 15:34:40 849 [pool-2-thread-2] [WARN ] com.baidu.hugegraph.config.HugeConfig [] - The config option 'degree_centrality.weight_property' is redundant, please ensure it has been registered
2022-06-22 15:34:40 849 [pool-2-thread-1] [WARN ] com.baidu.hugegraph.config.HugeConfig [] - The config option 'algorithm.message_class' is redundant, please ensure it has been registered
2022-06-22 15:34:40 850 [pool-2-thread-2] [WARN ] com.baidu.hugegraph.config.HugeConfig [] - The config option 'algorithm.message_class' is redundant, please ensure it has been registered
2022-06-22 15:34:40 870 [pool-2-thread-2] [INFO ] com.baidu.hugegraph.computer.core.master.MasterService [] - [master ?828266361] Start to initialize master
2022-06-22 15:34:40 871 [pool-2-thread-1] [INFO ] com.baidu.hugegraph.computer.core.worker.WorkerService [] - [worker -1] Start to initialize worker
2022-06-22 15:34:40 1139 [pool-2-thread-1] [INFO ] com.baidu.hugegraph.computer.core.bsp.BspBase [] - Init etcd BSP connection to 'http://localhost:2379' for job 'algo_test_job1'
2022-06-22 15:34:40 1139 [pool-2-thread-1] [INFO ] com.baidu.hugegraph.computer.core.bsp.Bsp4Worker [] - Worker(:-1) is waiting for master init-done
2022-06-22 15:34:41 1394 [pool-2-thread-1] [ERROR] com.baidu.hugegraph.computer.algorithm.AlgorithmTestBase [] - Failed to start worker
com.baidu.hugegraph.computer.core.common.exception.ComputerException: Error while getting with key='BSP_MASTER_INIT_DONE'
at com.baidu.hugegraph.computer.core.bsp.EtcdClient.get(EtcdClient.java:175) ~[classes/:?]
at com.baidu.hugegraph.computer.core.bsp.EtcdBspClient.get(EtcdBspClient.java:74) ~[classes/:?]
at com.baidu.hugegraph.computer.core.bsp.Bsp4Worker.waitMasterInitDone(Bsp4Worker.java:54) ~[classes/:?]
at com.baidu.hugegraph.computer.core.worker.WorkerService.init(WorkerService.java:113) ~[classes/:?]
at com.baidu.hugegraph.computer.core.worker.MockWorkerService.init(MockWorkerService.java:31) ~[classes/:?]
at com.baidu.hugegraph.computer.algorithm.AlgorithmTestBase.lambda$runAlgorithm$0(AlgorithmTestBase.java:81) ~[classes/:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_322]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_322]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_322]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_322]
at java.lang.Thread.run(Thread.java:750) [?:1.8.0_322]
Caused by: java.util.concurrent.ExecutionException: java.util.concurrent.ExecutionException: io.grpc.StatusRuntimeException: UNAVAILABLE: io exception
at java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:357) ~[?:1.8.0_322]
at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1908) ~[?:1.8.0_322]
at com.baidu.hugegraph.computer.core.bsp.EtcdClient.get(EtcdClient.java:161) ~[classes/:?]
... 10 more
Caused by: java.util.concurrent.ExecutionException: io.grpc.StatusRuntimeException: UNAVAILABLE: io exception
at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:526) ~[guava-25.1-jre.jar:?]
at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:487) ~[guava-25.1-jre.jar:?]
at io.etcd.jetcd.ClientConnectionManager.lambda$execute$3(ClientConnectionManager.java:351) ~[jetcd-core-0.5.4.jar:?]
... 3 more
Caused by: io.grpc.StatusRuntimeException: UNAVAILABLE: io exception
at io.grpc.Status.asRuntimeException(Status.java:533) ~[grpc-api-1.33.0.jar:1.33.0]
at io.grpc.stub.ClientCalls$UnaryStreamToFuture.onClose(ClientCalls.java:533) ~[grpc-stub-1.33.0.jar:1.33.0]
at io.grpc.PartialForwardingClientCallListener.onClose(PartialForwardingClientCallListener.java:39) ~[grpc-api-1.33.0.jar:1.33.0]
at io.grpc.ForwardingClientCallListener.onClose(ForwardingClientCallListener.java:23) ~[grpc-api-1.33.0.jar:1.33.0]
at io.grpc.ForwardingClientCallListener$SimpleForwardingClientCallListener.onClose(ForwardingClientCallListener.java:40) ~[grpc-api-1.33.0.jar:1.33.0]
at io.etcd.jetcd.ClientConnectionManager$AuthTokenInterceptor$1$1.onClose(ClientConnectionManager.java:394) ~[jetcd-core-0.5.4.jar:?]
at io.grpc.internal.DelayedClientCall$DelayedListener$3.run(DelayedClientCall.java:463) ~[grpc-core-1.33.0.jar:1.33.0]
at io.grpc.internal.DelayedClientCall$DelayedListener.delayOrExecute(DelayedClientCall.java:427) ~[grpc-core-1.33.0.jar:1.33.0]
at io.grpc.internal.DelayedClientCall$DelayedListener.onClose(DelayedClientCall.java:460) ~[grpc-core-1.33.0.jar:1.33.0]
at io.grpc.internal.ClientCallImpl.closeObserver(ClientCallImpl.java:616) ~[grpc-core-1.33.0.jar:1.33.0]
at io.grpc.internal.ClientCallImpl.access$300(ClientCallImpl.java:69) ~[grpc-core-1.33.0.jar:1.33.0]
at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInternal(ClientCallImpl.java:802) ~[grpc-core-1.33.0.jar:1.33.0]
at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInContext(ClientCallImpl.java:781) ~[grpc-core-1.33.0.jar:1.33.0]
at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) ~[grpc-core-1.33.0.jar:1.33.0]
at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:123) ~[grpc-core-1.33.0.jar:1.33.0]
... 3 more
Caused by: io.netty.channel.AbstractChannel$AnnotatedConnectException: finishConnect(..) failed: Connection refused: localhost/127.0.0.1:2379
Caused by: java.net.ConnectException: finishConnect(..) failed: Connection refused
at io.netty.channel.unix.Errors.throwConnectException(Errors.java:124) ~[netty-all-4.1.42.Final.jar:4.1.42.Final]
at io.netty.channel.unix.Socket.finishConnect(Socket.java:243) ~[netty-all-4.1.42.Final.jar:4.1.42.Final]
at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.doFinishConnect(AbstractEpollChannel.java:660) ~[netty-all-4.1.42.Final.jar:4.1.42.Final]
at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.finishConnect(AbstractEpollChannel.java:637) ~[netty-all-4.1.42.Final.jar:4.1.42.Final]
at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.epollOutReady(AbstractEpollChannel.java:524) ~[netty-all-4.1.42.Final.jar:4.1.42.Final]
at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:473) ~[netty-all-4.1.42.Final.jar:4.1.42.Final]
at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:383) ~[netty-all-4.1.42.Final.jar:4.1.42.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor$6.run(SingleThreadEventExecutor.java:1044) ~[netty-all-4.1.42.Final.jar:4.1.42.Final]
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-all-4.1.42.Final.jar:4.1.42.Final]
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-all-4.1.42.Final.jar:4.1.42.Final]
... 1 more
2022-06-22 15:34:41 1403 [main] [WARN ] com.baidu.hugegraph.computer.suite.unit.UnitTestBase [] - There exist error:
com.baidu.hugegraph.computer.core.common.exception.ComputerException: Error while getting with key='BSP_MASTER_INIT_DONE'
at com.baidu.hugegraph.computer.core.bsp.EtcdClient.get(EtcdClient.java:175) ~[classes/:?]
at com.baidu.hugegraph.computer.core.bsp.EtcdBspClient.get(EtcdBspClient.java:74) ~[classes/:?]
at com.baidu.hugegraph.computer.core.bsp.Bsp4Worker.waitMasterInitDone(Bsp4Worker.java:54) ~[classes/:?]
at com.baidu.hugegraph.computer.core.worker.WorkerService.init(WorkerService.java:113) ~[classes/:?]
at com.baidu.hugegraph.computer.core.worker.MockWorkerService.init(MockWorkerService.java:31) ~[classes/:?]
at com.baidu.hugegraph.computer.algorithm.AlgorithmTestBase.lambda$runAlgorithm$0(AlgorithmTestBase.java:81) ~[classes/:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_322]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_322]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[?:1.8.0_322]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[?:1.8.0_322]
at java.lang.Thread.run(Thread.java:750) ~[?:1.8.0_322]
Caused by: java.util.concurrent.ExecutionException: java.util.concurrent.ExecutionException: io.grpc.StatusRuntimeException: UNAVAILABLE: io exception
at java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:357) ~[?:1.8.0_322]
at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1908) ~[?:1.8.0_322]
at com.baidu.hugegraph.computer.core.bsp.EtcdClient.get(EtcdClient.java:161) ~[classes/:?]
... 10 more
Caused by: java.util.concurrent.ExecutionException: io.grpc.StatusRuntimeException: UNAVAILABLE: io exception
at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:526) ~[guava-25.1-jre.jar:?]
at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:487) ~[guava-25.1-jre.jar:?]
at io.etcd.jetcd.ClientConnectionManager.lambda$execute$3(ClientConnectionManager.java:351) ~[jetcd-core-0.5.4.jar:?]
... 3 more
Caused by: io.grpc.StatusRuntimeException: UNAVAILABLE: io exception
at io.grpc.Status.asRuntimeException(Status.java:533) ~[grpc-api-1.33.0.jar:1.33.0]
at io.grpc.stub.ClientCalls$UnaryStreamToFuture.onClose(ClientCalls.java:533) ~[grpc-stub-1.33.0.jar:1.33.0]
at io.grpc.PartialForwardingClientCallListener.onClose(PartialForwardingClientCallListener.java:39) ~[grpc-api-1.33.0.jar:1.33.0]
at io.grpc.ForwardingClientCallListener.onClose(ForwardingClientCallListener.java:23) ~[grpc-api-1.33.0.jar:1.33.0]
at io.grpc.ForwardingClientCallListener$SimpleForwardingClientCallListener.onClose(ForwardingClientCallListener.java:40) ~[grpc-api-1.33.0.jar:1.33.0]
at io.etcd.jetcd.ClientConnectionManager$AuthTokenInterceptor$1$1.onClose(ClientConnectionManager.java:394) ~[jetcd-core-0.5.4.jar:?]
at io.grpc.internal.DelayedClientCall$DelayedListener$3.run(DelayedClientCall.java:463) ~[grpc-core-1.33.0.jar:1.33.0]
at io.grpc.internal.DelayedClientCall$DelayedListener.delayOrExecute(DelayedClientCall.java:427) ~[grpc-core-1.33.0.jar:1.33.0]
at io.grpc.internal.DelayedClientCall$DelayedListener.onClose(DelayedClientCall.java:460) ~[grpc-core-1.33.0.jar:1.33.0]
at io.grpc.internal.ClientCallImpl.closeObserver(ClientCallImpl.java:616) ~[grpc-core-1.33.0.jar:1.33.0]
at io.grpc.internal.ClientCallImpl.access$300(ClientCallImpl.java:69) ~[grpc-core-1.33.0.jar:1.33.0]
at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInternal(ClientCallImpl.java:802) ~[grpc-core-1.33.0.jar:1.33.0]
at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInContext(ClientCallImpl.java:781) ~[grpc-core-1.33.0.jar:1.33.0]
at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) ~[grpc-core-1.33.0.jar:1.33.0]
at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:123) ~[grpc-core-1.33.0.jar:1.33.0]
... 3 more
Caused by: io.netty.channel.AbstractChannel$AnnotatedConnectException: finishConnect(..) failed: Connection refused: localhost/127.0.0.1:2379
Caused by: java.net.ConnectException: finishConnect(..) failed: Connection refused
at io.netty.channel.unix.Errors.throwConnectException(Errors.java:124) ~[netty-all-4.1.42.Final.jar:4.1.42.Final]
at io.netty.channel.unix.Socket.finishConnect(Socket.java:243) ~[netty-all-4.1.42.Final.jar:4.1.42.Final]
at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.doFinishConnect(AbstractEpollChannel.java:660) ~[netty-all-4.1.42.Final.jar:4.1.42.Final]
at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.finishConnect(AbstractEpollChannel.java:637) ~[netty-all-4.1.42.Final.jar:4.1.42.Final]
at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.epollOutReady(AbstractEpollChannel.java:524) ~[netty-all-4.1.42.Final.jar:4.1.42.Final]
at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:473) ~[netty-all-4.1.42.Final.jar:4.1.42.Final]
at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:383) ~[netty-all-4.1.42.Final.jar:4.1.42.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor$6.run(SingleThreadEventExecutor.java:1044) ~[netty-all-4.1.42.Final.jar:4.1.42.Final]
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-all-4.1.42.Final.jar:4.1.42.Final]
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-all-4.1.42.Final.jar:4.1.42.Final]
... 1 more

Vertex/Edge example (问题点 / 边数据举例)

No response

Schema [VertexLabel, EdgeLabel, IndexLabel] (元数据结构)

No response

[Feature] Random walk algorithm

Feature Description (功能描述)

In the field of graph machine learning, we need some algorithms to vectorize the graph.
For example, random walk algorithm samples the graph and produces a series of walk sequences, which are then embedding vectorized.
It can be used for graph classification, graph prediction and other application scenarios.

The whole process is roughly as follows:
image
Refer to paper [Billion-scale Commodity Embedding for E-commerce Recommendation in Alibaba]

Here are related papers:

  1. DeepWalk: Online Learning of Social Representations
  2. node2vec: scalable feature learning for networks

[Feature] random walk algorithm support biased second order random walk

Feature Description (功能描述)

According to the paper《node2vec: scalable feature learning for networks》.
The current random walk algorithm requires 2 additional features.

  1. Biased random walk.
  2. Second order random walk.

Biased random walk, control the probability of walking edges through edge weight.
Second order random walk, add 2 parameters to control the walking strategy.
(1) parameter p, called return factor. Controls the probability of re-walk to a previously walked vertex
(2) parameter q, called in-out factor. Controls whether to walk inward or outward.

Please refer to the paper design diagram:

P1

image

P2

image

[Question] LPA result not as expected

Problem Type (问题类型)

None

Before submit

Environment (环境信息)

  • Server Version: v1.0.0
  • Computer Version: v1.0.0
  • Scheduler: local

Your Question (问题描述)

Run computer

./bin/start-computer.sh -d local -r master
./bin/start-computer.sh -d local -r worker

Graph Data:
image

Run lpa config

job.id=local_001
job.workers_count=1

transport.server_host=127.0.0.1
transport.server_port=0

rpc.server_host=127.0.0.1
rpc.server_port=8190

bsp.etcd_endpoints=http://127.0.0.1:2379

hugegraph.url=http://127.0.0.1:8082
hugegraph.name=hugegraph


algorithm.params_class=org.apache.hugegraph.computer.algorithm.community.lpa.LpaParams

bsp.register_timeout=100000
bsp.log_interval=30000
bsp.max_super_step=20

worker log

2023-04-19 10:50:08 [main] [INFO] o.a.h.c.c.w.WorkerService - End computation of superstep 0
2023-04-19 10:50:08 [main] [INFO] o.a.h.c.c.b.Bsp4Worker - Worker(1) is waiting for master superstep-done(0)
2023-04-19 10:50:08 [main] [INFO] o.a.h.c.c.b.Bsp4Worker - Worker(1) waited master superstep-done(0), graph stat: SuperstepStat{"vertexCount":18,"edgeCount":15,"finishedVertexCount":18,"messageSendCount":0,"messageSendBytes":0,"messageRecvCount":0,"messageRecvBytes":219,"active":false}
2023-04-19 10:50:08 [main] [INFO] o.a.h.c.c.o.ComputerOutput - Start write back partition 0 for lpa

Expect result:
4 community

Actual result:
17 community

Don't know why superstep=0 ,mater graph stat: SuperstepStat{"vertexCount":18,"edgeCount":15,"finishedVertexCount":18,"messageSendCount":0,"messageSendBytes":0,"messageRecvCount":0,"messageRecvBytes":219,"active":false}

运行TriangleCount和RingsDetection算法磁盘激增

Problem Type (问题类型)

performence / logic (性能 / 逻辑优化)

Before submit

Environment (环境信息)

  • Server Version: v0.11.x
  • Computer Version: v0.x
  • Scheduler: K8s V1.xx
  • Data Size: 600W vertices, 100000W edges
    磁盘:4T
    workerCpu: 4
    workerMemory: 17000Mi
    workerInstances: 8
    input.split_size: "16106127360"

Your Question (问题描述)

运行TriangleCount和RingsDetection算法在超级步1时磁盘激增,有什么参数可以进行优化吗,一直在提示磁盘不足
The node was low on resource: ephemeral-storage. Container trianglecount-sample-worker-container was using 792764160Ki, which exceeds its request of 0.

Vertex/Edge example (问题点 / 边数据举例)

No response

Schema [VertexLabel, EdgeLabel, IndexLabel] (元数据结构)

No response

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.