GAE 部署指南¶
我们已经介绍了如何在本地机器上部署GraphScope,以及如何利用其三大引擎(GAE、GIE和GLE)来解决与图相关的各类复杂问题。
我们还展示了如何在Kubernetes集群上部署GraphScope。
然而,这类场景也相当常见:用户希望每天对离线图数据运行图分析算法,并将结果导出到数据仓库,而无需任何实时图查询或采样功能。在这种情况下,用户没有必要同时部署GIE和GLE。因此,我们提供了独立部署GAE的能力。
本文档将引导您完成在自管理的k8s集群上独立部署GAE的过程。
前提条件¶
Kubernetes集群
Python 版本需 ≥ 3.7
要开始使用,您需要安装graphscope-client并准备一个Kubernetes集群以继续。
如果您还没有这些环境,可以参考安装graphscope客户端和创建kubernetes集群来获取。
仅部署GAE¶
我们提供两种独立的GAE安装方法。您可以根据个人偏好自由选择上述任一方法。
使用Python SDK部署¶
Session 类提供了选项来控制启动时要创建的引擎容器子集。例如:
import graphscope
graphscope.set_option(show_log=True)
sess = graphscope.session(enabled_engines='gae')
g = sess.g()
使用 Helm 部署¶
您可以通过命令行参数自定义传递给helm install的选项。例如:
# helm install <release-name> graphscope/graphscope
# Replace <release-name> to the name of this release, use `my-gs` for illustration.
helm install my-gs graphscope/graphscope --set enabled_engines="gae"
然后使用python客户端连接服务。更多详情请参阅使用helm部署graphscope
import graphscope
sess = graphscope.session(addr="<ip>:<port>")
g = sess.g()
执行图分析算法¶
您可以像之前设置一样执行图分析算法。例如:
wcc_result = graphscope.wcc(g)
print(wcc_result.to_dataframe({'id': 'v.id', 'group': 'r'}))
提示: 如果遇到错误Failed to project to simple graph as no vertex exists in this graph.,表示该图为空图。您可以通过导入加载方法
from graphscope.dataset import load_modern_graph,然后使用当前会话加载现代图,例如g = load_modern_graph(sess, "path/to/your/graph"),其中"path/to/your/graph"是图数据在pod中的存储路径。
唯一的区别在于消除了多余的资源,从而降低了复杂性、减少了不便之处、所需资源更少,同时功能保持不变。
卸载部署¶
当使用Python SDK部署时,需要通过sess.close()来关闭会话并释放资源。
当使用helm部署时,您可以使用helm uninstall my-gs来删除发布并释放资源。