如何设置ArangoDB服务器最大请求体大小?解决arangorestore的413错误
解决ArangoDB请求体大小限制与arangorestore的413错误问题
这两个问题本质是同一个核心原因——ArangoDB的请求体大小限制在“搞事情”,我来一步步给你解决:
一、设置ArangoDB服务器的最大请求体大小
ArangoDB通过server.max-request-size配置项控制允许接收的最大请求体大小,默认值为100MB(104857600字节)。你可以通过两种方式修改这个值:
1. 修改配置文件(永久生效)
- 找到ArangoDB的主配置文件
arangod.conf:- Linux系统通常在
/etc/arangodb3/arangod.conf - Windows系统一般在ArangoDB安装目录下的
etc\arangodb3\arangod.conf
- Linux系统通常在
- 打开文件后,定位到
[server]章节,添加或修改以下配置:[server] max-request-size = 1G # 支持设置具体数值或带单位的写法,比如2G、500MB,单位可选B/KB/MB/GB/TB - 保存文件后,重启ArangoDB服务器使配置生效。
2. 启动时添加参数(临时生效)
如果只是临时调整,不想修改配置文件,可以在启动arangod时直接指定参数:
arangod --server.max-request-size 1G
这种方式的配置仅在当前服务器运行周期内有效,下次重启服务器时若不加该参数,会恢复默认值。
二、解决arangorestore的HTTP 413错误
你遇到的HTTP 413 (Request Entity Too Large)错误,就是因为arangorestore发送的备份数据块超过了服务器设置的max-request-size限制。按照上面的方法调整服务器的最大请求体大小,重启服务器后,再重新运行arangorestore操作就能正常执行了。
另外,如果你不想调整服务器的全局配置,也可以尝试在运行arangorestore时加上--batch-size参数,把大备份拆分成更小的批次发送给服务器,比如:
arangorestore --input-directory ./backup --batch-size 50MB
不过这种方式需要根据备份大小反复调整批次值,相对来说调整服务器的max-request-size是更直接彻底的解决方案。
内容的提问来源于stack exchange,提问作者the_kaba
相关产品推荐
相关产品推荐

