2014-04-20 93 views
3

我想在Docker(ubuntu 14.04)上啓動一個cassandra(而不是dsc)服務器。當我運行service cassandra start(根),我得到的文件Docker + Cassandra ulimit錯誤

/etc/init.d/cassandra: 82: ulimit: error setting limit (Operation not permitted) 

線82

ulimit -l unlimited 

我真的不知道我需要改變它。

+0

我不知道是否有一個安全/合理的價值設置爲w.r.t.卡桑德拉如果無限是不可能的。 – David

回答

1

一個簡短的介紹ulimitRESOURCE LIMITS ON UNIX SYSTEMS (ULIMIT)。 此初始化腳本試圖發出的命令應該將最大鎖定內存限制設置爲無限制。應該成功爲根。 whoami print root

UPD:進一步的研究導致我到this Google Groups討論。希望它能澄清一些事情。

5

我希望你會得到那個警告,但Cassandra會繼續啓動並正常運行。正如在另一個答案中指出的,由於安全原因,Docker限制某些操作。在這種情況下,Casssandra初始化腳本試圖允許無限制的鎖定內存。假設你在禁用swap的情況下運行(因爲它是Cassandra的最佳實踐),那麼你可以放心地忽略這個錯誤。

我在Docker中爲我的開發環境運行Cassandra並獲得了此警告,但Cassandra啓動並運行得很好。如果它沒有啓動,請檢查cassandra日誌文件是否有其他問題。

+0

您可能也會缺少cassandra子目錄。確保創建數據,saved_caches和commitlog文件夾 – bruceg

+0

我遇到了這個問題,但現在我升級到Mac High Sierra並從Docker Toolbox(通過VirtualBox的Docker)切換到本機Docker for Mac,當我啓動Cassandra時,它不像之前我​​的OS/Docker升級啓動。奇怪。 Cassandra日誌沒有顯示任何內容,'/ var/log/cassandra'是空的。有任何想法嗎? – David

+0

@bruceg,我們在哪裏創建這些子目錄(如果缺少)? – David