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

Ubuntu 22.04下创建Cassandra systemd服务启动失败求助

解决Ubuntu 22.04中Cassandra systemd服务启动失败(状态码217/USER)的问题

问题根源

错误日志明确指向核心原因:

cassandra.service: Failed to determine user credentials: No such process
cassandra.service: Failed at step USER spawning /usr/bin/echo: No such process

systemd尝试以cassandra用户身份执行服务命令,但系统中未创建该用户,导致权限验证环节直接失败。

解决步骤

1. 创建cassandra系统用户

执行命令创建专为Cassandra服务设计的系统用户及同名用户组,同时指定用户主目录为你的Cassandra安装路径:

sudo useradd -r -m -U -d /home/a/dons/cassandra -s /bin/bash cassandra

参数说明:

  • -r:创建系统用户(适配后台服务进程的权限模型)
  • -m:自动生成用户主目录
  • -U:同步创建与用户名一致的用户组
  • -d:指定用户主目录为Cassandra安装目录
  • -s:设置默认Shell为bash

2. 调整目录权限

确保cassandra用户对Cassandra安装目录和数据目录拥有完整读写权限:

sudo chown -R cassandra:cassandra /home/a/dons/cassandra
sudo chown -R cassandra:cassandra /data/cassandra

3. 优化systemd服务文件(可选)

原服务文件中ExecStopPost用分号拼接多命令的写法不符合systemd规范,建议拆分为独立条目;同时可根据需求移除非必要的echo日志命令,修改后的服务文件示例:

[Unit]
Description=Cassandra Cluster Node Daemon

[Service]
Type=forking
User=cassandra
Group=cassandra
ExecStart=/home/a/dons/cassandra/bin/cassandra
ExecStopPost=/usr/bin/rm -rf /data/cassandra/saved_caches
ExecStopPost=/usr/bin/echo "Cassandra Daemon Stopped"

[Install]
WantedBy=default.target

4. 重新加载并启动服务

sudo systemctl daemon-reload
sudo systemctl start cassandra
sudo systemctl status cassandra

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 20:25:25