如果我尝试将cassandra作为服务运行:
sudo service cassandra start
没有错误或日志被追踪到终端,似乎它正在工作.. 如果我尝试在另一个节点上运行:
/usr/bin/nodetool status mynamespace
我的状态为DN,只有在运行cassandra时才会这样:
/usr/sbin/cassandra -f
然后/usr/bin/nodetool status mynamespace
会将节点声明为UN:
有什么想法吗?
答案 0 :(得分:2)
您可以在服务开始后查看/var/log/cassandra/system.log
吗?如果您先使用cassandra -f
运行,则可能会与您的用户而不是cassandra
用户一起创建文件,这会在服务启动时导致权限问题
答案 1 :(得分:0)
为了启动cassandra作为服务,我在/etc/systemd/system/cassandra.service
为cassandra写了一个服务。看看 -
[Unit]
Description=Cassandra Cluster Node Daemon
[Service]
Type=forking
User=cassandra
ExecStartPre=/usr/bin/echo "Starting Cassandra Daemon"
ExecStart=/opt/apache-cassandra-2.2.4/bin/cassandra
ExecStartPost=/usr/bin/echo "Cassandra Daemon Running"
ExecStopPost=/usr/bin/rm -rf /data/cassandra/saved_caches;/usr/bin/echo "Cassandra Daemon Stopped"
SuccessExitStatus=143
[Install]
WantedBy=default.target
然后 -
# systemctl start cassandra
此处,ExecStart=<cassandra-path>
和/data/cassandra/saved_caches
- 是您的saved_caches
路径。
答案 2 :(得分:0)