2016-11-24 23 views
1

如果我嘗試運行卡桑德拉作爲服務:卡桑德拉不作爲服務啓動

sudo service cassandra start 

沒有任何錯誤或日誌獲得追蹤到終端,似乎它的工作.. 如果我嘗試到另一個運行節點:

/usr/bin/nodetool status mynamespace 

我得到了其作爲DN,這樣運行了卡桑德拉只有當狀態:

/usr/sbin/cassandra -f 

然後/usr/bin/nodetool status mynamespace將陳述的節點作爲聯合國:

enter image description here

任何想法?

+0

您是否在使用datastax?您是如何安裝cassandra的? – root545

+0

我已經通過ansible安裝了它,這裏' - 行動:易PKG = 「{{項目}}」 狀態=安裝力= YES with_items: - dsc30 - 卡桑德拉 - tools' – simo

+0

我怎麼會知道,如果它的使用datastax還是普通的Cassandra? – simo

回答

0

要開始cassandra作爲服務,我寫了一個cassandra服務在/etc/systemd/system/cassandra.service。有look-

[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 -is你saved_caches路徑。

1

您可以在服務啓動後檢查/var/log/cassandra/system.log嗎?如果您首先使用cassandra -f運行,則可能會與您的用戶創建文件,而不是cassandra用戶,這會在服務啓動時導致權限問題