
每周五 Nebula 为你播报每周看点,每周看点由固定模块:产品动态、社区问答、推荐阅读,和随机模块:本周大事件构成。
本周的产品动态里面“干货”满满,除了大家都能用到的 nGQL 新语句 CLEAR SPACE 清空 Space 数据之外,还有 2 个社区用户冯亮和 sworduo 贡献的优秀 pr。
除了硬核产品动态之外,本周的社区问答非常的“柔软”——贴近你的使用,详细带你了解如何进行 Nebula 账号密码的持久化设置。
近日,国产领先开源分布式图数据库 Nebula Graph 宣布与国内领先隐私计算服务商蓝象智联达成战略合作,联合打造隐私计算与图数据库的融合产品以及解决方案。

未来双方将各自发挥在图技术和隐私计算技术上的优势,以高性能算力深化图联邦产品,进一步拓展隐私计算在各细分领域的场景落地能力。共同探索数据价值高效连接、流通、应用机制,助力产业基于数据驱动的数智化转型。
本次合作意味着 Nebula Graph 图数据库将作为隐私计算以及图联邦领域的底层解决方案被应用到金融、智能制造和通信等领域,这符合 Nebula Graph 作为数据智能时代基础设施构建者的定位。
本周 Nebula 主要有这些产品动态:
社区 @冯亮💐 贡献——新增单用户、单机器连接数据库的会话数量限制,标签:Session,具体 pr 参见:https://github.com/vesoft-inc/nebula/pull/3729
社区 @sworduo💐 贡献——修复同一个 Tag / Edge 的版本超过 255 后读取最新版本的 Schema 失败的问题,标签:Bugfix ,具体 pr 参见:https://github.com/vesoft-inc/nebula/pull/4023
新增 distcc、sccache 等多种编译方式的支持,标签:编译 ,具体 pr 参见:https://github.com/vesoft-inc/nebula/pull/3738
优化 GO、YIELD 子句,减少不必要的属性读取、提高性能,标签:优化 ,具体 pr 参见:https://github.com/vesoft-inc/nebula/pull/3974
解决低版本(低于 v2.6.0)客户端连接高版本内核引发的 crash 问题,标签:Bugfix ,具体 pr 参见:https://github.com/vesoft-inc/nebula/pull/4021
支持用 CLEAR SPACE 清空图空间数据并保留 Schema 信息,标签:nGQL ,具体 pr 参见:https://github.com/vesoft-inc/nebula/pull/3989
Pick of the Week 每周会从官方论坛、微信群精选问题同你分享。
本周分享的主题是【Nebula 账号密码持久化】,由社区用户 icefeng199 提出并由 Nebula 研发同学负责解答,原贴出自 Nebula 论坛:https://discuss.nebula-graph.com.cn/t/topic/7949。
“icefeng199 提问:刚开始部署集群的时候修改过 root 密码,重启 Nebula Docker 集群后,root 密码被重置,怎么把密码持久化?有没有具体的配置项或者相关配置文件?”
Nebula:在 docker compose yaml 文件里 cmd 中是配置 --enable_authorize 为 true。具体操作如下:
修改配置,开启 auth:
--git a/docker-compose.yaml b/docker-compose.yaml
index 316a7d9..b369643 100644
--- a/docker-compose.yaml
+++ b/docker-compose.yaml
@@ -230,6 +230,7 @@ services:
- --log_dir=/logs
- --v=0
- --minloglevel=0
+ - --enable_authorize=true
depends_on:
- storaged0
- storaged1
@@ -266,6 +267,7 @@ services:
- --log_dir=/logs
- --v=0
- --minloglevel=0
+ - --enable_authorize=true
depends_on:
- storaged0
- storaged1
@@ -301,6 +303,7 @@ services:
- --ws_http_port=19669
- --log_dir=/logs
- --v=0
+ - --enable_authorize=true
- --minloglevel=0
depends_on:
- storaged0
重启 graphd:
docker-compose up -d
WARNING: The Docker Engine you're using is running in swarm mode.
Compose does not use swarm mode to deploy services to multiple nodes in a swarm. All containers will be scheduled on the current node.
To deploy your application across the swarm, use `docker stack deploy`.
nebula-docker-compose_metad1_1 is up-to-date
nebula-docker-compose_metad2_1 is up-to-date
nebula-docker-compose_metad0_1 is up-to-date
nebula-docker-compose_storaged2_1 is up-to-date
nebula-docker-compose_storaged1_1 is up-to-date
nebula-docker-compose_storaged0_1 is up-to-date
Recreating nebula-docker-compose_graphd2_1 ... done
Recreating nebula-docker-compose_graphd1_1 ... done
Recreating nebula-docker-compose_graphd_1 ... done
Recreating nebula-docker-compose_console_1 ... done
修改密码:
❯ nebula-console-3.0 -addr nebula0 -port 9669 -user root -p nebula
Welcome to Nebula Graph!
(root@nebula) [(none)]> ALTER USER root WITH PASSWORD 'test';
Execution succeeded (time spent 1918/28389 us)
Thu, 17 Mar 2022 14:08:31 CST
(root@nebula) [(none)]>
Bye root!
Thu, 17 Mar 2022 14:08:34 CST
用错误密码登录:
❯ nebula-console-3.0 -addr nebula0 -port 9669 -user root -p nebula
2022/03/17 14:08:36 Fail to create a new session from connection pool, fail to authenticate, error: Invalid password
panic: Fail to create a new session from connection pool, fail to authenticate, error: Invalid password
goroutine 1 [running]:
log.Panicf(0x10518fda3, 0x35, 0x14000105e28, 0x1, 0x1)
/opt/hostedtoolcache/go/1.16.4/x64/src/log/log.go:361 +0xa8
main.main()
/home/runner/work/nebula-console/nebula-console/main.go:541 +0x8a4
用正确密码登录:
❯ nebula-console-3.0 -addr nebula0 -port 9669 -user root -p test
Welcome to Nebula Graph!
(root@nebula) [(none)]>
Bye root!
Thu, 17 Mar 2022 14:08:52 CST
杀掉旧的集群(但是数据还在,正常重启指的应该不是 down,而是 stop):
docker-compose down
Stopping nebula-docker-compose_console_1 ... done
Stopping nebula-docker-compose_graphd_1 ... done
Stopping nebula-docker-compose_graphd1_1 ... done
Stopping nebula-docker-compose_graphd2_1 ... done
Stopping nebula-docker-compose_storaged0_1 ... done
Stopping nebula-docker-compose_storaged2_1 ... done
Stopping nebula-docker-compose_storaged1_1 ... done
Stopping nebula-docker-compose_metad0_1 ... done
Stopping nebula-docker-compose_metad1_1 ... done
Stopping nebula-docker-compose_metad2_1 ... done
Removing nebula-docker-compose_console_1 ... done
Removing nebula-docker-compose_graphd_1 ... done
Removing nebula-docker-compose_graphd1_1 ... done
Removing nebula-docker-compose_graphd2_1 ... done
Removing nebula-docker-compose_storaged0_1 ... done
Removing nebula-docker-compose_storaged2_1 ... done
Removing nebula-docker-compose_storaged1_1 ... done
Removing nebula-docker-compose_metad0_1 ... done
再起来:
docker-compose up -d
WARNING: The Docker Engine you're using is running in swarm mode.
Compose does not use swarm mode to deploy services to multiple nodes in a swarm. All containers will be scheduled on the current node.
To deploy your application across the swarm, use `docker stack deploy`.
Creating network "nebula-docker-compose_nebula-net" with the default driver
Creating nebula-docker-compose_metad1_1 ... done
Creating nebula-docker-compose_metad2_1 ... done
Creating nebula-docker-compose_metad0_1 ... done
Creating nebula-docker-compose_storaged0_1 ... done
Creating nebula-docker-compose_storaged1_1 ... done
Creating nebula-docker-compose_storaged2_1 ... done
Creating nebula-docker-compose_graphd1_1 ... done
Creating nebula-docker-compose_graphd2_1 ... done
Creating nebula-docker-compose_graphd_1 ... done
Creating nebula-docker-compose_console_1 ... done
测试密码持久化:
❯ nebula-console-3.0 -addr nebula0 -port 9669 -user root -p test
Welcome to Nebula Graph!
(root@nebula) [(none)]>
Bye root!
Thu, 17 Mar 2022 14:09:31 CST
~
❯ nebula-console-3.0 -addr nebula0 -port 9669 -user root -p test1
2022/03/17 14:09:32 Fail to create a new session from connection pool, fail to authenticate, error: Invalid password
panic: Fail to create a new session from connection pool, fail to authenticate, error: Invalid password
goroutine 1 [running]:
log.Panicf(0x100acfda3, 0x35, 0x140000a9e28, 0x1, 0x1)
/opt/hostedtoolcache/go/1.16.4/x64/src/log/log.go:361 +0xa8
main.main()
/home/runner/work/nebula-console/nebula-console/main.go:541 +0x8a4
以上。
-
推荐理由:想知道游戏里错综复杂的关系数据是如何管理?你收到的皮肤推荐礼包、匹配队友是如何产生的吗?本文带你一探究竟。
推荐理由:有意思的图实践,一起动手来一场古诗大冒险吧。
为什么给图数据库取名 Nebula ?
Nebula 是星云的意思,很大嘛,也是漫威宇宙里面漂亮的星云小姐姐。对了,Nebula 的发音是:[ˈnɛbjələ]
本文星云图讲解–《NGC 6543》

并非因猎鹰九号火箭在日落后发射而形成的猫眼星云(NGC 6543),是天空最著名的行星状星云之一。在这张经过特殊处理,以呈现绵延超过 3 光年、庞大但极为昏暗外晕的组合影像里,形状对称且吸睛的星云位在中心。
作者与编辑:Robert Nemiroff ( MTU ) & Jerry Bonnell ( UMCP )
想要来交流图数据库技术吗?关注公众号后发送“加群”,Nebula 迷人小姐姐拉你进群~~

🙋♂️ 喜欢本文的话,来个分享、👍 赞、在看
谢谢~~

