studio连接图数据库失败

图数据是v2. rc,studio是v2. 1. 7-beta,连接的时候闪退,请问是什么原因呢:

1 个赞

盲猜是断开链接了,尝试重新启动下 Docker 里的 Nebula 服务和 Studio 服务, @jerry.liang @NicolaCage @hetao 麻烦确认下呀

连接断开是指?我用命令行的方式连接没问题。我的nebula是直接装在服务器上的,studio是用docker装的,这个应该没影响吧

嗷嗷,那就是我表达不当,就是 Nebula 服务和 Docker 里的 Studio 服务,:thinking: #非技术人员第一次尝试回答 Studio 问题失败了,等 Studio 的研发同学来解答把

连接的地址是服务器ip么?已经用console能连上?console和studio是否处于同一台机器上呢?

1 个赞

不在同一台机器上,但两台机器网络是通的,本来想用docker装nebula2.0,但是会报ERROR:unknown command line flag 'local_ip’的错误,所以是直接装在服务器上的。studio是用docker来装的

这种情况我们无法复现出来,就得先用一些其他的方式验证下网络连通是否正常,你用console已经连接成功并且能执行查询语句?另外console连接的地址与在studio中连接填写的地址是否为同一个呢?启动的studio版本是否是 2.x的版本,这个可以在页面右上角能看到:

我也遇到这样的问题了。
数据库版本v2.0.0rc1, studio :v2

场景1
打开Chrome 的f12
可以看到三次请求
1、提交账号密码,返回登录成功
2、向数据库提交gql :show sapce;返回如下:
{
“code”: -1,
“data”: null,
“message”: “connection refused for lack of session”
}
3、断开数据库连接
背景:
使用使用docker-compose 部署;在同台机上上用nebula-console 能够连接,填写的是同一个 hosts

第二点的错误应该是应用拿了很多连接没有释放,导致连接池没有连接可以用了。

@hetao 帮忙确认下是否有这样的问题。

第三点 确定下浏览器所在机器能访问docker-compose部署的服务。

能截图一下studio页面的版本号么(页面右上角)?或者用对应版本的terminal console 验证一下连接是否正常,可能如楼上说的那样因为太多连接没有释放。:handshake:

验证console链接集群

[root@localhost v2]# nebula-console  -addr 10.72.41.11 -port 9669 -u root -p nebula
2021/03/22 15:28:10 [INFO] connection pool is initialized successfully

Welcome to Nebula Graph!

(root@nebula) [(none)]> show  hosts
+----------------+-------+----------+--------------+----------------------------------------+----------------------------------------+
| Host           | Port  | Status   | Leader count | Leader distribution                    | Partition distribution                 |
+----------------+-------+----------+--------------+----------------------------------------+----------------------------------------+
| "172.25.41.11" | 44500 | "ONLINE" | 20           | "ldbc_snb_sf100:10, ldbc_snb_sf300:10" | "ldbc_snb_sf100:10, ldbc_snb_sf300:10" |
+----------------+-------+----------+--------------+----------------------------------------+----------------------------------------+
| "172.25.41.12" | 44500 | "ONLINE" | 20           | "ldbc_snb_sf100:10, ldbc_snb_sf300:10" | "ldbc_snb_sf100:10, ldbc_snb_sf300:10" |
+----------------+-------+----------+--------------+----------------------------------------+----------------------------------------+
| "172.25.41.13" | 44500 | "ONLINE" | 20           | "ldbc_snb_sf100:10, ldbc_snb_sf300:10" | "ldbc_snb_sf100:10, ldbc_snb_sf300:10" |
+----------------+-------+----------+--------------+----------------------------------------+----------------------------------------+
| "Total"        |       |          | 60           | "ldbc_snb_sf100:30, ldbc_snb_sf300:30" | "ldbc_snb_sf100:30, ldbc_snb_sf300:30" |
+----------------+-------+----------+--------------+----------------------------------------+----------------------------------------+
Got 4 rows (time spent 1408/2132 us)

Mon, 22 Mar 2021 15:28:19 CST

(root@nebula) [(none)]> use ldbc_snb_sf100
Execution succeeded (time spent 869/1496 us)

studio 页面右上角 版本号为 :v2.1.8-beta

是否能连接成功,但是执行语句报lack of session? 如果是的话,检查下是不是把浏览器cookie禁用了
https://blog.csdn.net/yerenyuan_pku/article/details/89223290

另外你的nebula版本是2.0rc?如果是的话,在不升级nebula的情况下,建议使用我们的studio的v2-rc版本,参考这里:v2-rc1和studio2.1.8图探索功能显示空 - #2 由 hetao

浏览器cookie设置
“允许网站保存和读取Cookie数据”和不阻止第三方Cookie

报的就是这个错么:connection refused for lack of session?

请求
curl ‘http://10.72.41.47:7001/api-nebula/db/exec’ -H ‘Origin: http://10.72.41.47:7001’ -H ‘Accept-Encoding: gzip, deflate’ -H ‘Accept-Language: zh-CN,zh;q=0.8’ -H ‘User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.86 Safari/537.36’ -H ‘Content-Type: application/json’ -H ‘Accept: application/json, text/plain, /’ -H ‘Referer: http://10.72.41.47:7001/console’ -H ‘Cookie: locale=ZH_CN; nh=10.72.41.12:9669; nu=root; np=nebula’ -H ‘Connection: keep-alive’ --data-binary ‘{“gql”:“show spaces;”}’ --compressed
返回

{
  "code": -1,
  "data": null,
  "message": "connection refused for lack of session"
}

nebula 为2.0rc1
studio 镜像名为 vesoft/nebula-graph-studio:v2

用命令执行没用的,登录态是通过http-only的cookie传过去的,这里用curl模拟报这个错是正常的,你能打开浏览器看到准确的连接错误么?

@Jun69 或者你直接换成v2-rc版本来连接试试