You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

部署多Corda节点遇CAPSULE EXCEPTION,求正确systemd配置

问题解决与正确systemd配置

问题根源

你遇到的CAPSULE EXCEPTION: Could not initialize cache directory ./capsule报错,实际原因是Corda节点进程对自身运行目录没有写入权限,和多节点并行运行无关。

多节点systemd正确配置模板

每个Corda节点需要单独创建systemd服务文件,确保进程以拥有目录权限的用户身份运行,且每个节点使用独立工作目录。

节点1服务文件(/etc/systemd/system/corda-node1.service)

[Unit]
Description=Corda Node 1
After=network.target

[Service]
# 指定运行节点的用户(需提前创建,且拥有节点目录权限)
User=corda
Group=corda
# 节点的工作目录,必须是节点jar包所在目录
WorkingDirectory=/opt/corda/node1
# 启动命令,指定java路径和节点jar包路径
ExecStart=/usr/bin/java -jar /opt/corda/node1/corda.jar
# 异常退出自动重启策略
Restart=always
RestartSec=5
# 日志输出配置
StandardOutput=journal+console
StandardError=journal+console

[Install]
WantedBy=multi-user.target

节点2服务文件(/etc/systemd/system/corda-node2.service)

[Unit]
Description=Corda Node 2
After=network.target

[Service]
User=corda
Group=corda
WorkingDirectory=/opt/corda/node2
ExecStart=/usr/bin/java -jar /opt/corda/node2/corda.jar
Restart=always
RestartSec=5
StandardOutput=journal+console
StandardError=journal+console

[Install]
WantedBy=multi-user.target

关键配置与权限检查

  • 目录权限设置:确保每个节点的工作目录所有者为指定运行用户,执行命令:
    chown -R corda:corda /opt/corda/node1
    chown -R corda:corda /opt/corda/node2
    
  • 服务生效操作:配置完成后重新加载systemd并启动服务:
    sudo systemctl daemon-reload
    sudo systemctl start corda-node1 corda-node2
    # 可选:设置开机自启
    sudo systemctl enable corda-node1 corda-node2
    
  • 日志排查:若仍有问题,通过journal查看详细错误日志:
    journalctl -u corda-node2 -f
    

内容的提问来源于stack exchange,提问作者McXD

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 16:09:25