在 Nebula K8s 集群中使用 nebula-spark-connector 和 nebula-algorithm

Python微信订餐小程序课程视频

https://edu.csdn.net/course/detail/36074

Python实战量化交易理财系统

https://edu.csdn.net/course/detail/35475

本文首发于 Nebula Graph Community 公众号

在 Nebula K8s 集群中使用 nebula-spark-connector 和 nebula-algorithm_第1张图片

解决思路

解决 K8s 部署 Nebula Graph 集群后连接不上集群问题最方便的方法是将 nebula-algorithm / nebula-spark 运行在与 nebula-operator 相同的网络命名空间里,将 show hosts meta 的 MetaD 域名:端口 格式的地址填进配置里就可以了。

注:这里需要 2.6.2 或者更新的版本,nebula-spark-connector / nebula-algorithm 才支持域名形式的 MetaD 地址。

这里来具体实操下网络配置:

  • 获取 MetaD 地址
(root@nebula) [(none)]> show hosts meta
+------------------------------------------------------------------+------+----------+--------+--------------+---------+
| Host                                                             | Port | Status   | Role   | Git Info Sha | Version |
+------------------------------------------------------------------+------+----------+--------+--------------+---------+
| "nebula-metad-0.nebula-metad-headless.default.svc.cluster.local" | 9559 | "ONLINE" | "META" | "d113f4a"    | "2.6.2" |
+------------------------------------------------------------------+------+----------+--------+--------------+---------+
Got 1 rows (time spent 1378/2598 us)

Mon, 14 Feb 2022 08:22:33 UTC

这里需要记录 Host 名以便后续的配置文件中使用该名称。

  • 填写 nebula-algorithm 的配置文件

参考文档 https://github.com/vesoft-inc/nebula-algorithm/blob/master/nebula-algorithm/src/main/resources/application.conf。填写配置文件有两种方法:修改 TOML 文件或者在 nebula-spark-connector 代码中添加配置信息。

方法一:修改 TOML 文件

# ...
  nebula: {
    # algo's data source from Nebula. If data.source is nebula, then this nebula.read config can be valid.
    read: {
        # 这里填上刚获得到的 meta 的 Host 名,多个地址的话用英文字符下的逗号隔开;
         metaAddress: "nebula-metad-0.nebula-metad-headless.default.svc.cluster.local:9559"
#...


方法二:调用 nebula-spark-connector 的代码

Ref:

你可能感兴趣的:(计算机,spark,big,data,大数据,计算机)