在 docker 中对 QuestDB 进行基准测试时,“[24] 无法打开只读”错误是什么意思?

What does '[24] could not open read-only' error mean while benchmarking QuestDB in docker?

我是 运行 time series benchmark suite 在亚马逊 docker 上对抗 QuestDB Linux。 QuestDB 图像因类似以下的错误而死亡:

I i.q.c.l.t.LineTcpMeasurementScheduler could not create table [tableName=cpu, ex=could not open read-write
...
io.questdb.cairo.CairoException: [24] could not open read-only [file=/root/.questdb/db/cpu/service.k]

是否有需要清理的权限?

24 错误是 OS 级别的 OSError: [Errno 24],这表明已达到打开文件的最大数量。您通常可以使用 ulimit when 运行 来自二进制文件或自制软件来设置它。

你可以从 docker 做的是一个 run 命令并传递 ulimit 标志,如下所示:

docker run --ulimit nofile=5000:5000 \
-p 9000:9000 -p 8812:8812 -p 9009:9009 \
questdb/questdb

有关详细信息,请参阅 docker documentation and the questdb docs for maximum open files