console/dashboard建立连接报错

  • nebula 版本:3.6.0
  • 部署方式:分布式
  • 安装方式:RPM
  • 是否上生产环境:Y

console连接报错
./nebula-console -addr xxx -port 9669 -u root -p pw
连接会报错,尝试几次有成功的几率

Fail to initialize the connection pool, host: xxx, port: 9669, failed to open connection, error: failed to open transport, error: dial tcp xxx:9669: i/o timeout  panic: Fail to initialize the connection pool, host: xxx, port: 9669, failed to open connection, error: failed to open transport, error: dial tcp xxx:9669: i/o timeout 

dashboard也是类似的情况

graph-error日志

E20231026 11:15:31.111538  4447 AsyncServerSocket.cpp:1027] accept failed: out of file descriptors; entering accept back-off state
E20231026 11:15:31.111642  4426 Acceptor.cpp:455] error accepting on acceptor socket: accept() failed

有大佬可以帮忙解释下吗

先确认下账号和密码是否正确,以及 graphd 的 ip 和端口是否正确。

如果确认信息都正确的话,:thinking: 试试把 graphd 的 client 和 session 的 timeout 设置的大点。Graph 服务配置 - NebulaGraph Database 手册

配置信息应该没问题,都已经在使用了
对应的参数是client_idle_timeout_secs session_idle_timeout_secs 这两个吗?

嗯,是的。

console的版本是配套的吗

nebula的版本是3.6.0

console的版本也是3.6: nebula-console-linux-amd64-v3.6.0

补充一个情况

我现在一共三台机器,三个服务每个机器都布了,只有其中一台机器是有这种情况,其余的两台没有这种情况

报错的这台机器是最常用的,平常会通过这台机器登录图数据库

似乎是 GraphD 那边文件描述符不够了 out of file descriptors

能看下比如 ulimit -n 上的限制么?

以下是ulimit -Sa 命令的参数,-n 应该是1024,三台机器是一样的

ulimit -Sa
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 256959
max locked memory       (kbytes, -l) unlimited
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 256959
virtual memory          (kbytes, -v) unlimited

这一台上的 session 均衡么?什么数量级?系统级扩一下看看?

SHOW SESSIONS | YIELD $-.SessionId as sid WHERE $-.GraphAddr == “153:9669” 526

SHOW SESSIONS | YIELD $-.SessionId as sid WHERE $-.GraphAddr == “154:9669” 503

SHOW SESSIONS | YIELD $-.SessionId as sid WHERE $-.GraphAddr == “155:9669” 601

一共三台机器,最上边153的这台是有问题的,思为哥说的系统级扩一下看看是什么意思呢

好像一些 linux distro 可以改 /etc/security/limits.conf 里比如所有用户到 4096

* soft nofile 4096
* hard nofile 4096

然后要重启一下 graphd 生效

此话题已在最后回复的 30 天后被自动关闭。不再允许新回复。