CentOS7安装Cassandra3.11.11配置服务启动报exit-code失败
问题排查与解决步骤
systemd返回status=203/EXEC错误的核心原因是服务配置存在语法错误、执行路径无效或权限不足,按以下顺序修复即可:
1. 修正服务配置文件名称与后缀
你当前使用的配置文件路径不符合systemd规范:
- 错误路径:
/etc/systemd/system/Cassandra.server - 正确路径:
/etc/systemd/system/cassandra.service
注意服务文件后缀必须为.service,文件名和systemd加载的服务名保持一致即可,建议统一用小写。
2. 修正配置文件内的语法错误
原配置文件存在多处语法错误,修改后的完整可用配置如下:
[Unit] Description=Apache Cassandra After=network.target [Service] PIDFile=/var/run/cassandra/cassandra.pid User=cassandra Group=cassandra ExecStart=/usr/sbin/cassandra -f -p /var/run/cassandra/cassandra.pid Restart=on-failure [Install] WantedBy=multi-user.target
修改点说明:
- 把拆分到两行的
Description值合并为Apache Cassandra,修正After=network.target的位置错误 - 把
ExecStart参数里的cassandra.pidx改为和PIDFile一致的cassandra.pid,移除多余的x后缀 - 补充[Install]段方便设置开机自启,增加Restart参数适配异常退出场景
3. 验证执行文件与目录权限
- 检查Cassandra执行文件是否存在:执行
ls -l /usr/sbin/cassandra,如果文件不存在,说明Cassandra安装路径错误,找到实际安装的可执行文件路径替换ExecStart里的路径即可 - 检查运行目录权限:执行
chown -R cassandra:cassandra /var/run/cassandra,确保Cassandra运行用户对pid存储目录有读写权限
4. 重载配置启动服务
执行以下命令生效配置并验证启动:
# 重载systemd配置,识别修改后的服务文件 systemctl daemon-reload # 启动Cassandra服务 systemctl start cassandra # 查看服务状态验证是否启动成功 systemctl status cassandra
如果启动依旧失败,可以直接用Cassandra运行用户手动执行启动命令排查具体报错:su - cassandra -c "/usr/sbin/cassandra -f",根据输出的运行日志进一步调整配置即可。
内容的提问来源于stack exchange,提问作者Luciana Oliveira
相关产品推荐
相关产品推荐

