我正在创建 200 个观察者,并且在查询任何领事 CLI 命令时反复收到 EOF 错误,然后断开连接。在领事日志上,我看到“打开的文件太多”错误,同时让我的领事自己起来。
对于大约 150 个条目,我很乐意密切关注并提供 HTTP 端点的更新。
设置:服务器模式下的 3 个节点领事代理正在运行。当一个领事代理启动时,配置文件会尝试在 KV 上注册 200 个 Key watchers。
我怀疑这是否达到了开放的 FD 限制。
详细信息的输出在这里:
- 超限输出
[拉库玛]#ulimit -a
- 核心文件大小(块,-c)0
- 数据段大小 (kbytes, -d) 无限制
- 调度优先级 (-e) 0
- 文件大小(块,-f)无限制
- 待处理信号 (-i) 31186
- 最大锁定内存 (kbytes, -l) 64
- 最大内存大小 (kbytes, -m) 无限制
- 打开文件 (-n) 16384
- 管道大小(512 字节,-p)8
- POSIX 消息队列(字节,-q)819200
- 实时优先级 (-r) 0
- 堆栈大小(千字节,-s)8192
- cpu时间(秒,-t)无限制
- 最大用户进程 (-u) 31186
- 虚拟内存 (kbytes, -v) 无限制
- 文件锁 (-x) 无限制
- for
lsof
on consul grep 给出了这些结果
- 在运行代理之前
[拉库玛]#lsof | grep ‘consul’ | grep ‘ESTABLISHED’ | wc -l
0
[拉库玛]#lsof | grep ‘consul’ | wc -l
603
- 使用 150 只手表,这些结果是:
[拉库玛]#lsof | grep ‘consul’ | grep ‘ESTABLISHED’ | wc -l
3750
[拉库玛]#lsof | grep ‘consul’ | wc -l
4563
- 运行 500 只手表
[拉库玛]#lsof | grep ‘consul’ | grep ‘ESTABLISHED’ | wc -l
4040
[拉库玛]#lsof | grep ‘consul’ | wc -l
4881
- 当系统停止响应时,consul 会做出响应
[rajkumar]#consul kv put new one
错误!写入数据失败:输入http://127.0.0.1:8500/v1/kv/new : EOF
- 领事成员
[拉库玛]#consul members
检索成员时出错:获取http://127.0.0.1:8500/v1/agent/members?segment=_all : EOF
- 领事获取命令错误
[拉库玛]#consul kv get key14
查询 Consul 代理时出错:获取http://127.0.0.1:8500/v1/kv/key14:读取 tcp 127.0.0.1:55574->127.0.0.1:8500:读取:对等方重置连接
- 启动后的领事代理进程日志。我在配置文件中创建了 500 个手表。